@@ -6,6 +6,8 @@ import * as helmet from 'helmet';
6
6
import { CloudflareChallenge } from '@interactivetraining/le-challenge-cloudflare' ;
7
7
import { IPackageParams } from './interfaces' ;
8
8
import { downloadPackage } from './helpers' ;
9
+ import { GCloudStoreCreate } from '@interactivetraining/le-store-gcloud-storage'
10
+ import * as http from 'http' ;
9
11
10
12
require ( 'dotenv' ) . config ( ) ;
11
13
@@ -53,24 +55,36 @@ app.get(['/:scope?/:package@:version/*', '/:scope?/:package/*'], async (req, res
53
55
}
54
56
} ) ;
55
57
56
- require ( 'greenlock-express' ) . create ( {
57
- version : 'draft-11' ,
58
- server : 'https://acme-v02.api.letsencrypt.org/directory' ,
59
- email : process . env . LETS_ENCRYPT_EMAIL ,
60
- agreeTos : ( process . env . LETS_ENCRYPT_AGREE_TO_TOS . trim ( ) === 'true' ) ,
61
- approveDomains : [
62
- process . env . DOMAIN
63
- ] ,
64
- configDir : 'acme/' ,
65
- app : app ,
66
- challengeType : 'dns-01' ,
67
- challenge : new CloudflareChallenge ( {
68
- cloudflare : {
69
- email : process . env . CLOUDFLARE_EMAIL ,
70
- key : process . env . CLOUDFLARE_API_KEY
71
- } ,
72
- acmePrefix : '_acme-challenge' ,
73
- verifyPropagation : { waitFor : 5000 , retries : 50 } ,
74
- useDNSOverHTTPS : false
75
- } )
76
- } ) . listen ( 80 , 443 , ( ) => console . log ( `Listening...` ) ) ;
58
+ if ( process . env . ENABLE_SSL === "1" ) {
59
+ require ( 'greenlock-express' ) . create ( {
60
+ version : 'draft-11' ,
61
+ server : 'https://acme-v02.api.letsencrypt.org/directory' ,
62
+ //server: 'https://acme-staging-v02.api.letsencrypt.org/directory',
63
+ email : process . env . LETS_ENCRYPT_EMAIL ,
64
+ agreeTos : ( process . env . LETS_ENCRYPT_AGREE_TO_TOS . trim ( ) === 'true' ) ,
65
+ approveDomains : [
66
+ process . env . DOMAIN
67
+ ] ,
68
+ configDir : 'acme/' ,
69
+ app : app ,
70
+ store : GCloudStoreCreate ( {
71
+ bucketName : process . env . GOOGLE_CLOUD_BUCKET_NAME ,
72
+ projectId : process . env . GOOGLE_CLOUD_PROJECT_ID ,
73
+ keyFilename : process . env . GOOGLE_CLOUD_KEY_FILE_PATH ,
74
+ dbFileName : process . env . GOOGLE_CLOUD_CERT_DB_FILE
75
+ } ) ,
76
+ challengeType : 'dns-01' ,
77
+ challenge : new CloudflareChallenge ( {
78
+ cloudflare : {
79
+ email : process . env . CLOUDFLARE_EMAIL ,
80
+ key : process . env . CLOUDFLARE_API_KEY
81
+ } ,
82
+ acmePrefix : '_acme-challenge' ,
83
+ verifyPropagation : { waitFor : 5000 , retries : 50 } ,
84
+ useDNSOverHTTPS : false
85
+ } )
86
+ } ) . listen ( 80 , 443 , ( ) => console . log ( `Listening...` ) ) ;
87
+ } else {
88
+ http . createServer ( app ) . listen ( 80 , ( ) => console . log ( `Listening...` ) ) ;
89
+ }
90
+
0 commit comments