diff --git a/src/lib.sh b/src/lib.sh index dca70f5..5e1c316 100644 --- a/src/lib.sh +++ b/src/lib.sh @@ -6,7 +6,7 @@ #======================================= REQUIRED_NODE_VERSION=18.0.0 -LOGTO=/dev/null +LOGTO=/srv/nightscout/data/debug.log NIGHTSCOUT_ROOT_DIR=/srv/nightscout CONFIG_ROOT_DIR=/srv/nightscout/config ENV_FILE_ADMIN=/srv/nightscout/config/admin.env diff --git a/templates/default.conf.template b/templates/default.conf.template new file mode 100644 index 0000000..49affc0 --- /dev/null +++ b/templates/default.conf.template @@ -0,0 +1,56 @@ +upstream ns-web { + server nightscout:1337; +} + +upstream ns-admin-api { + server host.docker.internal:4040; +} + +upstream ns-admin-ui { + server host.docker.internal:3000; +} + +server { + listen 80; + listen [::]:80; + server_name _; + + location = /server { + return 302 /server/; + } + + location = /server/api { + return 302 /server/api/; + } + + location /server/ { + proxy_pass http://ns-admin-ui/; + proxy_buffering off; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-Port $server_port; + proxy_set_header X-Forwarded-Proto http; + } + + location /server/api/ { + proxy_pass http://ns-admin-api/; + proxy_buffering off; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-Port $server_port; + proxy_set_header X-Forwarded-Proto http; + } + + location / { + proxy_set_header Accept-Encoding ""; + proxy_pass http://ns-web; + proxy_buffering off; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-Host $host; + proxy_set_header X-Forwarded-Port $server_port; + proxy_set_header X-Forwarded-Proto http; + + sub_filter '' + ''; + } +} diff --git a/templates/docker-compose.yml b/templates/docker-compose.yml index 4a2a152..4fa5064 100644 --- a/templates/docker-compose.yml +++ b/templates/docker-compose.yml @@ -50,8 +50,52 @@ services: env_file: - ${NS_CONFIG_DIR}/nightscout.env ports: - - ${NS_PORT}:1337 + - 4004:1337 networks: - ns-tier depends_on: - mongodb + + # admin: + # container_name: ns-admin + # image: "node:20.5.1-bookworm-slim" + # working_dir: /home/node/app + # environment: + # - NODE_ENV=production + # volumes: + # - /home/dl/apps/ns_admin:/home/node/app + # ports: + # - "40404:4040" + # networks: + # - ns-tier + # command: "npm start" + redis: + container_name: ns-redis + image: redis:7.2-alpine + restart: always + mem_limit: 80m + command: redis-server --maxmemory 64mb + #environment: + #- REDIS_PERSIST=no + ports: + - "4045:6379" + networks: + - ns-tier + + web: + container_name: ns-proxy + image: ghcr.io/tofran/nginx-with-substitutions-filter + restart: always + volumes: + - "${NS_CONFIG_DIR}:/etc/nginx/templates" + ports: + - ${NS_PORT}:80 + environment: + - NGINX_PROXIED_PORT=4004 + networks: + - ns-tier + extra_hosts: + - "host.docker.internal:host-gateway" + depends_on: + - nightscout + # - admin