From 2533cb58139ba52ac565d5ca7eb7ad1cbdcb7358 Mon Sep 17 00:00:00 2001 From: Diana Morales Date: Fri, 19 Nov 2021 15:39:26 +0100 Subject: [PATCH] migrate docker-examples (#2682) --- docker-examples/README.md | 1 + docker-examples/v6/README.md | 5 ++ .../v6/reverse_proxy/nginx/README.md | 60 +++++++++++++++++++ .../nginx/relative_path/README.md | 31 ++++++++++ .../nginx/relative_path/conf/v6/config.yaml | 49 +++++++++++++++ .../nginx/relative_path/conf/v6/htpasswd | 2 + .../relative_path/conf/v6_root/config.yaml | 45 ++++++++++++++ .../nginx/relative_path/conf/v6_root/htpasswd | 1 + .../nginx/relative_path/docker-compose.yml | 41 +++++++++++++ .../relative_path/docker-compose_ssl.yml | 44 ++++++++++++++ .../nginx/relative_path/nginx/Dockerfile | 2 + .../nginx/relative_path/nginx/default.conf | 33 ++++++++++ .../nginx/relative_path/nginx_ssl/Dockerfile | 10 ++++ .../nginx/relative_path/nginx_ssl/README.md | 5 ++ .../nginx/relative_path/nginx_ssl/cert.crt | 22 +++++++ .../nginx/relative_path/nginx_ssl/cert.key | 28 +++++++++ .../nginx_ssl/nginx-default.conf | 40 +++++++++++++ .../nginx/relative_path/nginx_ssl/run.sh | 5 ++ .../nginx/root_path/conf/nginx/Dockerfile | 3 + .../conf/nginx/sites-enabled/verdaccio-conf | 14 +++++ .../nginx/root_path/docker-compose.yaml | 24 ++++++++ 21 files changed, 465 insertions(+) create mode 100644 docker-examples/v6/README.md create mode 100755 docker-examples/v6/reverse_proxy/nginx/README.md create mode 100755 docker-examples/v6/reverse_proxy/nginx/relative_path/README.md create mode 100755 docker-examples/v6/reverse_proxy/nginx/relative_path/conf/v6/config.yaml create mode 100755 docker-examples/v6/reverse_proxy/nginx/relative_path/conf/v6/htpasswd create mode 100755 docker-examples/v6/reverse_proxy/nginx/relative_path/conf/v6_root/config.yaml create mode 100755 docker-examples/v6/reverse_proxy/nginx/relative_path/conf/v6_root/htpasswd create mode 100755 docker-examples/v6/reverse_proxy/nginx/relative_path/docker-compose.yml create mode 100755 docker-examples/v6/reverse_proxy/nginx/relative_path/docker-compose_ssl.yml create mode 100644 docker-examples/v6/reverse_proxy/nginx/relative_path/nginx/Dockerfile create mode 100755 docker-examples/v6/reverse_proxy/nginx/relative_path/nginx/default.conf create mode 100644 docker-examples/v6/reverse_proxy/nginx/relative_path/nginx_ssl/Dockerfile create mode 100755 docker-examples/v6/reverse_proxy/nginx/relative_path/nginx_ssl/README.md create mode 100755 docker-examples/v6/reverse_proxy/nginx/relative_path/nginx_ssl/cert.crt create mode 100755 docker-examples/v6/reverse_proxy/nginx/relative_path/nginx_ssl/cert.key create mode 100755 docker-examples/v6/reverse_proxy/nginx/relative_path/nginx_ssl/nginx-default.conf create mode 100755 docker-examples/v6/reverse_proxy/nginx/relative_path/nginx_ssl/run.sh create mode 100755 docker-examples/v6/reverse_proxy/nginx/root_path/conf/nginx/Dockerfile create mode 100755 docker-examples/v6/reverse_proxy/nginx/root_path/conf/nginx/sites-enabled/verdaccio-conf create mode 100755 docker-examples/v6/reverse_proxy/nginx/root_path/docker-compose.yaml diff --git a/docker-examples/README.md b/docker-examples/README.md index dcd19284f..45962a38e 100644 --- a/docker-examples/README.md +++ b/docker-examples/README.md @@ -8,6 +8,7 @@ The following examples aim to be demonstrative and can be either improved or upd - [v4 examples](v4/README.md) - [v5 examples](v5/README.md) +- [v6 examples](v6/README.md) ## Aditional data diff --git a/docker-examples/v6/README.md b/docker-examples/v6/README.md new file mode 100644 index 000000000..f627255a7 --- /dev/null +++ b/docker-examples/v6/README.md @@ -0,0 +1,5 @@ +# Verdaccio 6 + +> We recommend to have installed [docker-compose >= 1.29.0](https://github.com/docker/compose/releases/tag/1.29.2) + +- [Docker + Nginx + Verdaccio](reverse_proxy/nginx/README.md) diff --git a/docker-examples/v6/reverse_proxy/nginx/README.md b/docker-examples/v6/reverse_proxy/nginx/README.md new file mode 100755 index 000000000..be26c235d --- /dev/null +++ b/docker-examples/v6/reverse_proxy/nginx/README.md @@ -0,0 +1,60 @@ +# Verdaccio and Nginx + +Running `verdaccio` via reverse proxy is a common practice. This configuration provides a quick way to run the application behind **nginx**. + +This folder provides the following examples: + +- root_path: Using reverse proxy with `/` as a path. +- relative_path: Using `/verdaccio/` as a subdirectory. It includes also SSL examples with reverse proxy. + +To run the containers, run the following commands in this folder. The containers should start in detach mode. + +```bash + docker-compose up -d +``` + +To recreate the nginx image you can force the build. + +```bash + docker-compose up --build -d +``` + +To force recreate the images. + +```bash +docker-compose up --build --force-recreate -d +``` + +To stop all containers + +```bash +docker-compose stop +``` + +To display container logs + +```bash +$> docker-compose logs +Attaching to nginxverdaccio_nginx_1, verdaccio +verdaccio | warn --- config file - /verdaccio/conf/config.yaml +verdaccio | warn --- http address - http://0.0.0.0:4873/ - verdaccio/2.1.7 +verdaccio | http <-- 304, user: undefined, req: 'GET /', bytes: 0/0 +verdaccio | http <-- 304, user: undefined, req: 'GET /-/static/jquery.min.js', bytes: 0/0 +verdaccio | http <-- 304, user: undefined, req: 'GET /-/static/main.css', bytes: 0/0 +verdaccio | http <-- 304, user: undefined, req: 'GET /-/static/main.js', bytes: 0/0 +verdaccio | http <-- 304, user: undefined, req: 'GET /-/logo', bytes: 0/0 +verdaccio | http <-- 304, user: undefined, req: 'GET /-/static/fontello.woff?10872183', bytes: 0/0 +verdaccio | http <-- 200, user: undefined, req: 'GET /-/static/favicon.png', bytes: 0/315 +``` + +### Display Information + +To display the containers running + +```bash +&> docker-compose ps + Name Command State Ports +---------------------------------------------------------------------------------------- +nginxverdaccio_nginx_1 /usr/sbin/nginx Up 0.0.0.0:80->80/tcp +verdaccio /usr/src/app/bin/verdaccio ... Up 0.0.0.0:4873->4873/tcp +``` diff --git a/docker-examples/v6/reverse_proxy/nginx/relative_path/README.md b/docker-examples/v6/reverse_proxy/nginx/relative_path/README.md new file mode 100755 index 000000000..48c186c22 --- /dev/null +++ b/docker-examples/v6/reverse_proxy/nginx/relative_path/README.md @@ -0,0 +1,31 @@ +# Nginx Relative Path with Verdaccio 6 + +This example runs two verdaccio versions: + +- Running `verdaccio:6.x` http://localhost/verdaccio/ + +Note: we should add more sort of configurations here. + +**Nginx HTTP Example** + +```bash +docker-compose up --build --force-recreate +``` + +open the browser + +``` +http://localhost/verdaccio/ +``` + +**Nginx SSL Example** + +```bash +docker-compose -f docker-compose_ssl.yml up --build --force-recreate +``` + +open the browser + +``` +https://localhost/verdaccio/ +``` diff --git a/docker-examples/v6/reverse_proxy/nginx/relative_path/conf/v6/config.yaml b/docker-examples/v6/reverse_proxy/nginx/relative_path/conf/v6/config.yaml new file mode 100755 index 000000000..8ad2361b3 --- /dev/null +++ b/docker-examples/v6/reverse_proxy/nginx/relative_path/conf/v6/config.yaml @@ -0,0 +1,49 @@ +storage: /verdaccio/storage + +web: + enable: true + title: VerdaccioV6 Relative Path + primary_color: red + +auth: + htpasswd: + file: /verdaccio/conf/htpasswd +security: + api: + jwt: + sign: + expiresIn: 60d + notBefore: 1 + web: + sign: + expiresIn: 7d + +## IMPORTANT +## This will configure verdaccio to rely on a relative path +url_prefix: /verdaccio + +uplinks: + npmjs: + url: https://registry.npmjs.org/ + +packages: + '@jota/*': + access: $all + publish: $all + + '@*/*': + # scoped packages + access: $all + publish: $all + proxy: npmjs + + '**': + access: $all + publish: $all + proxy: npmjs + +middlewares: + audit: + enabled: true + +logs: { type: stdout, format: pretty, level: trace } diff --git a/docker-examples/v6/reverse_proxy/nginx/relative_path/conf/v6/htpasswd b/docker-examples/v6/reverse_proxy/nginx/relative_path/conf/v6/htpasswd new file mode 100755 index 000000000..bbbf7c639 --- /dev/null +++ b/docker-examples/v6/reverse_proxy/nginx/relative_path/conf/v6/htpasswd @@ -0,0 +1,2 @@ +jpicado:$6vkdNgRX2npc:autocreated 2017-07-11T18:48:38.003Z +test:$6FrCaT/v0dwE:autocreated 2019-05-06T22:06:54.513Z diff --git a/docker-examples/v6/reverse_proxy/nginx/relative_path/conf/v6_root/config.yaml b/docker-examples/v6/reverse_proxy/nginx/relative_path/conf/v6_root/config.yaml new file mode 100755 index 000000000..6abca8eb2 --- /dev/null +++ b/docker-examples/v6/reverse_proxy/nginx/relative_path/conf/v6_root/config.yaml @@ -0,0 +1,45 @@ +storage: /verdaccio/storage + +web: + enable: true + title: VerdaccioV6 Root Path + primary_color: redF + +auth: + htpasswd: + file: /verdaccio/conf/htpasswd +security: + api: + jwt: + sign: + expiresIn: 60d + notBefore: 1 + web: + sign: + expiresIn: 7d + +uplinks: + npmjs: + url: https://registry.npmjs.org/ + +packages: + '@jota/*': + access: $all + publish: $all + + '@*/*': + # scoped packages + access: $all + publish: $all + proxy: npmjs + + '**': + access: $all + publish: $all + proxy: npmjs + +middlewares: + audit: + enabled: true + +logs: { type: stdout, format: json, level: trace } diff --git a/docker-examples/v6/reverse_proxy/nginx/relative_path/conf/v6_root/htpasswd b/docker-examples/v6/reverse_proxy/nginx/relative_path/conf/v6_root/htpasswd new file mode 100755 index 000000000..6464e408d --- /dev/null +++ b/docker-examples/v6/reverse_proxy/nginx/relative_path/conf/v6_root/htpasswd @@ -0,0 +1 @@ +jpicado:$6vkdNgRX2npc:autocreated 2017-07-11T18:48:38.003Z diff --git a/docker-examples/v6/reverse_proxy/nginx/relative_path/docker-compose.yml b/docker-examples/v6/reverse_proxy/nginx/relative_path/docker-compose.yml new file mode 100755 index 000000000..d0de976aa --- /dev/null +++ b/docker-examples/v6/reverse_proxy/nginx/relative_path/docker-compose.yml @@ -0,0 +1,41 @@ +services: + nginx: + build: + context: '' + dockerfile: nginx/Dockerfile + ports: + - '80:80' + networks: + - node-network + container_name: 'nginx' + depends_on: + - verdaccio + - verdaccio-root + verdaccio: + image: verdaccio/verdaccio:nightly-master + container_name: 'verdaccio_relative_path_v6' + networks: + - node-network + environment: + - VERDACCIO_PORT=4873 + - DEBUG=verdaccio:* + ports: + - '4873:4873' + volumes: + - './storage:/verdaccio/storage' + - './conf/v6:/verdaccio/conf' + verdaccio-root: + image: verdaccio/verdaccio:nightly-master + container_name: 'verdaccio_relative_path_v6_root' + networks: + - node-network + environment: + - VERDACCIO_PORT=8000 + ports: + - '8000:8000' + volumes: + - './storage:/verdaccio/storage' + - './conf/v6_root:/verdaccio/conf' +networks: + node-network: + driver: bridge diff --git a/docker-examples/v6/reverse_proxy/nginx/relative_path/docker-compose_ssl.yml b/docker-examples/v6/reverse_proxy/nginx/relative_path/docker-compose_ssl.yml new file mode 100755 index 000000000..4b56e4c1e --- /dev/null +++ b/docker-examples/v6/reverse_proxy/nginx/relative_path/docker-compose_ssl.yml @@ -0,0 +1,44 @@ +services: + nginx: + build: + context: './nginx_ssl' + dockerfile: Dockerfile + ports: + - '443:443' + - '80:80' + environment: + - REMOTE_URL=http://verdaccio_relative_path_v6:4873/ + networks: + - node-network + container_name: 'nginx_ssl' + depends_on: + - verdaccio + - verdaccio-root + verdaccio: + image: verdaccio/verdaccio:nightly-master + container_name: 'verdaccio_relative_path_v6' + networks: + - node-network + environment: + - VERDACCIO_PORT=4873 + ports: + - '4873:4873' + volumes: + - './storage:/verdaccio/storage' + - './conf/v6:/verdaccio/conf' + verdaccio-root: + image: verdaccio/verdaccio:nightly-master + container_name: 'verdaccio_relative_path_v6_root' + networks: + - node-network + environment: + - VERDACCIO_PORT=8000 + ports: + - '8000:8000' + volumes: + - './storage:/verdaccio/storage' + - './conf/v6_root:/verdaccio/conf' + +networks: + node-network: + driver: bridge diff --git a/docker-examples/v6/reverse_proxy/nginx/relative_path/nginx/Dockerfile b/docker-examples/v6/reverse_proxy/nginx/relative_path/nginx/Dockerfile new file mode 100644 index 000000000..2f9599ac6 --- /dev/null +++ b/docker-examples/v6/reverse_proxy/nginx/relative_path/nginx/Dockerfile @@ -0,0 +1,2 @@ +FROM nginx:1.21-alpine +COPY nginx/default.conf /etc/nginx/conf.d/default.conf diff --git a/docker-examples/v6/reverse_proxy/nginx/relative_path/nginx/default.conf b/docker-examples/v6/reverse_proxy/nginx/relative_path/nginx/default.conf new file mode 100755 index 000000000..505d30be7 --- /dev/null +++ b/docker-examples/v6/reverse_proxy/nginx/relative_path/nginx/default.conf @@ -0,0 +1,33 @@ +upstream verdaccio_relative_v6 { + server verdaccio_relative_path_v6:4873; + keepalive 8; +} + +upstream verdaccio_v6_root { + server verdaccio_relative_path_v6_root:8000; + keepalive 8; +} + +server { + listen 80 default_server; + access_log /var/log/nginx/verdaccio.log; + charset utf-8; + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_v6_root; + proxy_redirect off; + } + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass http://verdaccio_relative_v6/$1; + proxy_redirect off; + } +} diff --git a/docker-examples/v6/reverse_proxy/nginx/relative_path/nginx_ssl/Dockerfile b/docker-examples/v6/reverse_proxy/nginx/relative_path/nginx_ssl/Dockerfile new file mode 100644 index 000000000..969f62498 --- /dev/null +++ b/docker-examples/v6/reverse_proxy/nginx/relative_path/nginx_ssl/Dockerfile @@ -0,0 +1,10 @@ +FROM nginx:1 + +COPY cert.crt /etc/nginx/cert.crt +COPY cert.key /etc/nginx/cert.key +COPY nginx-default.conf /etc/nginx/conf.d/default.conf +COPY run.sh /run.sh + +ENV REMOTE_URL="http://localhost:8080/" + +CMD ["/run.sh"] diff --git a/docker-examples/v6/reverse_proxy/nginx/relative_path/nginx_ssl/README.md b/docker-examples/v6/reverse_proxy/nginx/relative_path/nginx_ssl/README.md new file mode 100755 index 000000000..269d83ff3 --- /dev/null +++ b/docker-examples/v6/reverse_proxy/nginx/relative_path/nginx_ssl/README.md @@ -0,0 +1,5 @@ +Example taken from: + +[https://github.com/foxylion/docker-nginx-self-signed-https](https://github.com/foxylion/docker-nginx-self-signed-https) + +by [@foxylion](https://github.com/foxylion) diff --git a/docker-examples/v6/reverse_proxy/nginx/relative_path/nginx_ssl/cert.crt b/docker-examples/v6/reverse_proxy/nginx/relative_path/nginx_ssl/cert.crt new file mode 100755 index 000000000..34231a321 --- /dev/null +++ b/docker-examples/v6/reverse_proxy/nginx/relative_path/nginx_ssl/cert.crt @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDrzCCApegAwIBAgIJAPVnhyCGRxmMMA0GCSqGSIb3DQEBCwUAMG4xCzAJBgNV +BAYTAlhYMQswCQYDVQQIDAJYWDELMAkGA1UEBwwCWFgxCzAJBgNVBAoMAlhYMQsw +CQYDVQQLDAJYWDESMBAGA1UEAwwJbG9jYWxob3N0MRcwFQYJKoZIhvcNAQkBFghY +WEBYWC5YWDAeFw0xNzExMjQxNDI0MzVaFw0xODExMjQxNDI0MzVaMG4xCzAJBgNV +BAYTAlhYMQswCQYDVQQIDAJYWDELMAkGA1UEBwwCWFgxCzAJBgNVBAoMAlhYMQsw +CQYDVQQLDAJYWDESMBAGA1UEAwwJbG9jYWxob3N0MRcwFQYJKoZIhvcNAQkBFghY +WEBYWC5YWDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANTsFvryPfKK +4CSP58DEVJRDdlsurNz7Z3jbE9RwLmPbyhp+oVZ8gouufLrYxIFxKR0b+JrSbrSh +klvyAov1KcbKSl5W/k4uewgksLV5oWUIM2d6cII+esVNPeRGY6lG3T9nMrjBFC3/ +r6HIQpsMiJbfZ0XkHhMFciJ0oVQ+/Y+IeJ2JyjBaXw+3CbCGmTO+4mNVxtHyzz4d +o6mHPASHn+utts+W2/+3/4bSYkJo+/KPxWeF2jyPasv6Kpif+/dJ44gOM+uecBPy +AJx6CCKfGUU9X5EGBynOroFqEY2m7Ndx1uWipfSuULWf9x/LSugC35DfNl+1hXGq +lLJHKI8h+c0CAwEAAaNQME4wHQYDVR0OBBYEFEOBWTm2wyyS3ETaI32FhbTDQ3Hc +MB8GA1UdIwQYMBaAFEOBWTm2wyyS3ETaI32FhbTDQ3HcMAwGA1UdEwQFMAMBAf8w +DQYJKoZIhvcNAQELBQADggEBAGva7AiwB2qSy+Mm1T6m3FkLzUabFStRwkj2TQsz +03E4P2G7j7s9rYdL6hz58kV9UwrWLYeceNioFTn7CxLdn12kHyYC21EO66fuLLaa +nb94GRVJ0IcZOVp+2WgihKM2/WW5WOqhD1NqZp+HUnJkiOCqdgrGj7lfzx1q45wG +NXGplOcGudxb1rLdA8U/kNmGZjCNQsNCdUxUdbqXjeb2piRBbtOnZqOXa2EN9h1/ +C89RVuaQt8cQ/bK5QAIeDF/8eyY6B5j00wEa7DSgyRAwJtDU1X2LU6U+04LpU4Iw +sUDO17n2GlI9mPqg0j8EawbbQC70j8rgclDjUE9erf0K7m8= +-----END CERTIFICATE----- diff --git a/docker-examples/v6/reverse_proxy/nginx/relative_path/nginx_ssl/cert.key b/docker-examples/v6/reverse_proxy/nginx/relative_path/nginx_ssl/cert.key new file mode 100755 index 000000000..5599c8545 --- /dev/null +++ b/docker-examples/v6/reverse_proxy/nginx/relative_path/nginx_ssl/cert.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDU7Bb68j3yiuAk +j+fAxFSUQ3ZbLqzc+2d42xPUcC5j28oafqFWfIKLrny62MSBcSkdG/ia0m60oZJb +8gKL9SnGykpeVv5OLnsIJLC1eaFlCDNnenCCPnrFTT3kRmOpRt0/ZzK4wRQt/6+h +yEKbDIiW32dF5B4TBXIidKFUPv2PiHidicowWl8PtwmwhpkzvuJjVcbR8s8+HaOp +hzwEh5/rrbbPltv/t/+G0mJCaPvyj8Vnhdo8j2rL+iqYn/v3SeOIDjPrnnAT8gCc +egginxlFPV+RBgcpzq6BahGNpuzXcdbloqX0rlC1n/cfy0roAt+Q3zZftYVxqpSy +RyiPIfnNAgMBAAECggEANohVBmaeiQ0ahSK6N3vRMbvph0b4DQzynlh1xrYIm5jC +NXDzP2RaRw4kcfJsub5SylrMnFKC+g5bnuLn1hKvZXOQAoODVGDBL/+9pm0Fcgvc +pocMY78+0GONE3cXtVYp+kAjFICW+4T95ZCVxoI6RXHoUFUxgqulZL+8RghwBp90 +r9X6OWb7e0cq4Msupm7qVTCh9u8X1jTBQ4gE/tny8oiTUW6YCvQlKld0NK1geB1x +BnF4osiOTRe8+6B++kTCf9mon9c6V0Bl1lN5y3znNN1eRMvvDSy554bPy1flo7vo +Z52xluItJwRxNn+brhvFUKqDuMl5D/YX9SGOOJ+PPQKBgQDt7usOECPcsc9Mc0F7 +Ol4a3+KQHcp5M8Byc77b87k4gWxNROSOGhOobRRIBsgULkPC32EQ+XhoAcef+VjS +UKU0Rbor7oI5tnl2GuRMGocEzRvU5wa3IjU49ffnYAJty/6Y3wPzmA/sLj0m3Tzo +JTF761UjNQPZwi4wSRgp6jUIGwKBgQDlFv4eP+M4rovgMmUEU50iSkG0Sv8B6FAs +47V8UFSbWuOZ64vVDKNBa6KE3vNDKa0pQfaGyo18I0g2iK7RwkiNc7X8WBLcPEWZ +Vcb3FjjE38XckDA2QKy8cjGF6jwVU1K5OKD3Ujxid4fHuE1Zib04Uzp8Ss+oZlYY +rsTxtUN0NwKBgQCSRvdFjxCtJre+VYFlZA3k0c21Mkt/VhyzgItPKDiwD4lou7kT +z95UBrOYUGsDVSodjT1ctTKcJrP2mtJLgn7+cvuw9JIlLxTfUksWqpxljD/XFS1g +u2wjF70QB0uW+voMO9dvFAZ9+jNoSE2gnvUcLSMLYRV789B3qQhtBGsUDwKBgQCm +RU/fCKOUKitfZ3Ql9cHgd2DEyIHZEpHOYt8AARXHQ+pZdrogwXFkNAjawy5wGrmR +bkzNfAnAhaMN4Zpwp8Ac2lTFd+8IZb5mEfm8sCY3zeo/sW8skThN9du3xFAjcjxi +LpW1q7wkA3lLHZsWV4A8dzvFpk6dfNkURRSwEc2JdQKBgH1n8Io2gnrQd1Yhh5rH +pajY9Pdzp+mv9PW8G1Y7Z57RKxAorYfszmR5Qj2oZ3+0lqJ5+K7K4PffH3CkiCBz +i9HBnq/NczJggQ9BTifIdyznWkuAqZAjup5V+g7+CIhpa+XaeGzB4BpTsXrJFiy0 +ZTYk/5J1N3d6rURRlybaoRGj +-----END PRIVATE KEY----- diff --git a/docker-examples/v6/reverse_proxy/nginx/relative_path/nginx_ssl/nginx-default.conf b/docker-examples/v6/reverse_proxy/nginx/relative_path/nginx_ssl/nginx-default.conf new file mode 100755 index 000000000..485aedf47 --- /dev/null +++ b/docker-examples/v6/reverse_proxy/nginx/relative_path/nginx_ssl/nginx-default.conf @@ -0,0 +1,40 @@ + + + +server { + listen 80; + return 302 https://$host$request_uri; +} + +server { + listen 443 ssl http2; + server_name localhost; + + ssl_certificate /etc/nginx/cert.crt; + ssl_certificate_key /etc/nginx/cert.key; + + ssl on; + ssl_session_cache builtin:1000 shared:SSL:10m; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; + ssl_prefer_server_ciphers on; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass XX_REMOTE_URL_XX; + proxy_read_timeout 600; + proxy_redirect off; + } + + location ~ ^/verdaccio/(.*)$ { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + proxy_set_header X-NginX-Proxy true; + proxy_pass XX_REMOTE_URL_XX$1; + proxy_redirect off; + } +} diff --git a/docker-examples/v6/reverse_proxy/nginx/relative_path/nginx_ssl/run.sh b/docker-examples/v6/reverse_proxy/nginx/relative_path/nginx_ssl/run.sh new file mode 100755 index 000000000..3763e8fb2 --- /dev/null +++ b/docker-examples/v6/reverse_proxy/nginx/relative_path/nginx_ssl/run.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +sed -i -e "s|XX_REMOTE_URL_XX|$REMOTE_URL|g" /etc/nginx/conf.d/default.conf + +exec nginx -g "daemon off;" diff --git a/docker-examples/v6/reverse_proxy/nginx/root_path/conf/nginx/Dockerfile b/docker-examples/v6/reverse_proxy/nginx/root_path/conf/nginx/Dockerfile new file mode 100755 index 000000000..acdaf67bf --- /dev/null +++ b/docker-examples/v6/reverse_proxy/nginx/root_path/conf/nginx/Dockerfile @@ -0,0 +1,3 @@ +FROM tutum/nginx +RUN rm /etc/nginx/sites-enabled/default +ADD sites-enabled /etc/nginx/sites-enabled diff --git a/docker-examples/v6/reverse_proxy/nginx/root_path/conf/nginx/sites-enabled/verdaccio-conf b/docker-examples/v6/reverse_proxy/nginx/root_path/conf/nginx/sites-enabled/verdaccio-conf new file mode 100755 index 000000000..dd3f86630 --- /dev/null +++ b/docker-examples/v6/reverse_proxy/nginx/root_path/conf/nginx/sites-enabled/verdaccio-conf @@ -0,0 +1,14 @@ +server { + listen 80 default_server; + access_log /var/log/nginx/verdaccio.log; + charset utf-8; + location / { + proxy_pass http://verdaccio:4873/; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-NginX-Proxy true; + proxy_ssl_session_reuse off; + proxy_set_header Host $http_host; + proxy_redirect off; + } +} \ No newline at end of file diff --git a/docker-examples/v6/reverse_proxy/nginx/root_path/docker-compose.yaml b/docker-examples/v6/reverse_proxy/nginx/root_path/docker-compose.yaml new file mode 100755 index 000000000..e30cb45bb --- /dev/null +++ b/docker-examples/v6/reverse_proxy/nginx/root_path/docker-compose.yaml @@ -0,0 +1,24 @@ +services: + verdaccio: + image: verdaccio/verdaccio:nightly-master + container_name: verdaccio_root_path + ports: + - '4873:4873' + volumes: + - verdaccio:/verdaccio + + nginx: + restart: always + build: conf/nginx + ports: + - '80:80' + volumes: + - /www/public + volumes_from: + - verdaccio + links: + - verdaccio:verdaccio + +volumes: + verdaccio: + driver: local