diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000000000000000000000000000000000000..66926dd5550acf92250fee970d85ff6bcdac8f32 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,29 @@ +version: '3' + +services: + g1nkgo: + image: g1nkgo:latest + container_name: g1nkgo + restart: always + hostname: g1nkgo + ports: + - "1801:80" + - "14431:443" + volumes: + - ~/.ginkgo/nginx-conf:/etc/nginx/:rw + - ./assets:/usr/share/nginx/html/assets:rw + + environment: + # https://en.wikipedia.org/wiki/List_of_tz_database_time_zones + # Useful for having logs with local time + TZ: "Europe/Copenhagen" + command: /bin/bash -c "/usr/local/bin/startup.sh && nginx -g 'daemon off;'" + + watchtower: + image: containrrr/watchtower + container_name: g1nkgo-watchtower + restart: unless-stopped + volumes: + - /var/run/docker.sock:/var/run/docker.sock + # Additional watchtower args + # commmand: diff --git a/nginx.conf.template b/nginx.conf.template new file mode 100644 index 0000000000000000000000000000000000000000..50ac2a6def55eddec99ef46d706d33279dee6479 --- /dev/null +++ b/nginx.conf.template @@ -0,0 +1,47 @@ +# nginx.conf.template +server { + listen *:${NGINX_HTTP_PORT}; + listen [::]:${NGINX_HTTP_PORT}; + server_name ginkgo.example.com; + + index index.html index.htm index.php; + + access_log /var/log/nginx/g1demo.comunes.net.access.log combined; + error_log /var/log/nginx/g1demo.comunes.net.error.log; + + include /etc/nginx/snippets/proxy-gva.conf; + + location / { + root /usr/share/nginx/html; + index index.html; + } +} + +# server { +# listen ${NGINX_HTTP_PORT} ssl http2; +# listen [::]:${NGINX_HTTP_PORT} ssl http2; +# server_name ginkgo.example.com; + +# ssl on; + +# ssl_certificate /etc/letsencrypt/live/ginkgo.example.com/fullchain.pem; +# ssl_certificate_key /etc/letsencrypt/live/ginkgo.example.com/privkey.pem; +# ssl_protocols TLSv1.3 TLSv1.2 ; +# ssl_session_cache shared:SSL:10m; +# ssl_session_timeout 5m; +# ssl_protocols TLSv1 TLSv1.1 TLSv1.2; +# ssl_ciphers ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS; +# ssl_prefer_server_ciphers on; + +# index index.html index.htm index.php; + +# access_log /var/log/nginx/ssl-ginkgo.example.com.access.log combined; +# error_log /var/log/nginx/ssl-ginkgo.example.com.error.log; + +# include /etc/nginx/snippets/proxy-gva.conf; + +# location / { +# root /usr/share/nginx/html; +# index index.html; +# } +# } diff --git a/proxy-gva.conf b/proxy-gva.conf new file mode 100644 index 0000000000000000000000000000000000000000..3ede88220bf8a1e6067ec848c2502335a9f4ab7c --- /dev/null +++ b/proxy-gva.conf @@ -0,0 +1,14 @@ +location ~ ^/proxy/(.*)/(gva(/.*)?)$ { + set $proxy_url $1; + set $proxy_uri $2; + # resolver 1.1.1.1; + add_header 'Access-Control-Allow-Origin' '*'; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; + add_header 'Access-Control-Allow-Headers' 'X-Requested-With'; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_pass $proxy_url/gva/$proxy_uri$is_args$args; + proxy_redirect off; +} diff --git a/startup.sh b/startup.sh new file mode 100644 index 0000000000000000000000000000000000000000..a539531f2b312229a385ae99bfc6c4b02a106fad --- /dev/null +++ b/startup.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +if [ -z "$(ls -A /etc/nginx)" ]; then + cp -a /etc/nginx-default/* /etc/nginx/ +fi