npm i
node index.js
| version: '3.6' | |
| secrets: | |
| dhparam.pem: | |
| external: true | |
| registry.example.com.fullchain: | |
| external: true | |
| registry.example.com.privkey: | |
| external: true | |
| registry_htpasswd: |
| version: '3.6' | |
| volumes: | |
| registry_data: | |
| driver: local | |
| services: | |
| registry: | |
| image: registry:2 |
| version: '3.6' | |
| services: | |
| nginx: | |
| image: nginx-front:latest | |
| build: | |
| context: ./nginx | |
| ports: | |
| - target: 8080 |
| upstream letsencrypt { | |
| server letsencrypt_www:80; | |
| } | |
| server { | |
| listen 8080 default_server; | |
| listen [::]:8080 default_server; | |
| server_name _; |
| FROM nginx:alpine | |
| COPY nginx.conf /etc/nginx/nginx.conf | |
| COPY sites-available /etc/nginx/sites-enabled | |
| USER nobody | |
| EXPOSE 8443/tcp 8080/tcp |
| worker_processes 1; | |
| error_log /dev/stdout info; | |
| pid /tmp/nginx.pid; | |
| events { | |
| worker_connections 1024; | |
| } |
| version: '3.6' | |
| ## go to the shell in `letsencrypt` shell my | |
| # docker exec -it $(docker ps -q --filter name=letsencrypt.1) sh | |
| # | |
| # DOMAIN=example.com | |
| # [email protected] | |
| # STACK=my | |
| # WEBROOT=${STACK}_letsencrypt_webroot_data:/etc/letsencrypt_webroot | |
| # DATA=${STACK}_letsencrypt_data:/etc/letsencrypt |
npm i
node index.js
| #!/bin/bash | |
| SED_HOME=$(echo $HOME | sed -e 's/\//\\\//g') | |
| REPLACE_CMD="s/(.*):(.*)\"(.*)\.docker\/(.*)/\1:\2\"$SED_HOME\/.docker\/\4/" | |
| sed -i '' -E -e $REPLACE_CMD $(find $HOME/.docker/ -name config.json) |