web dashboard in single container

This commit is contained in:
2026-04-05 01:50:41 -07:00
parent a89703c420
commit c6007d9c33
26 changed files with 460 additions and 365 deletions

View File

@ -1,62 +0,0 @@
services:
cosmostat_redis:
container_name: cosmostat_redis
image: redis:7-alpine
ports:
- "{{ docker_gateway }}:6379:6379"
networks:
- cosmostat_net
restart: always
cosmostat_ws_node:
image: node:18-alpine
working_dir: /app
command: sh -c "npm install && node server.js"
container_name: cosmostat_ws_node
volumes:
- "{{ service_control_web_folder }}/html:/usr/src/app/public"
- "{{ service_control_web_folder }}/node_server:/app"
- "{{ api_service_folder }}/cosmostat_settings.yaml:/app/cosmostat_settings.yaml:ro"
- /app/node_modules
ports:
- "{{ docker_gateway }}:3000:3000"
networks:
- cosmostat_net
restart: always
depends_on:
- cosmostat_redis
cosmostat_web_dash:
container_name: cosmostat_web_dash
image: php:8.0-apache
ports:
- "{{ docker_gateway }}:8080:80"
volumes:
- ./html:/var/www/html/
- "{{ api_service_folder }}/cosmostat_settings.yaml:/app/cosmostat_settings.yaml:ro"
networks:
- cosmostat_net
restart: always
cosmostat_nginx_proxy:
container_name: cosmostat_nginx_proxy
image: nginx:latest
ports:
- "{{ (docker_gateway + ':') if not public_dashboard | bool else '' }}{{ custom_port }}:80"
volumes:
- ./proxy/nginx.conf:/etc/nginx/conf.d/default.conf
networks:
- cosmostat_net
restart: always
depends_on:
- cosmostat_web_dash
- cosmostat_ws_node
networks:
cosmostat_net:
external: true

View File

@ -1,35 +0,0 @@
services:
# cosmostat:
# container_name: cosmostat
# build:
# context: .
# dockerfile: Dockerfile
# ports:
# - "{{ docker_gateway }}:6379:6379"
# - "{{ (docker_gateway + ':') if not public_dashboard | bool else '' }}{{ custom_port }}:80"
# networks:
# - cosmostat_net
# restart: always
cosmostat_all:
container_name: cosmostat_all
image: cosmostat-all:latest
restart: always
build:
context: .
dockerfile: Dockerfile
networks:
- cosmostat_net
ports:
- "{{ docker_gateway }}:6379:6379"
- "{{ (docker_gateway + ':') if not public_dashboard | bool else '' }}{{ custom_port }}:80"
volumes:
- "/opt/cosmostat/docker/web/html:/var/www/html"
- "/opt/cosmostat/docker/web/node_server:/app"
- "/opt/cosmostat/cosmostat_settings.yaml:/app/cosmostat_settings.yaml:ro"
networks:
cosmostat_net:
external: true

View File

@ -3,21 +3,24 @@
services:
cosmostat-dash:
container_name: cosmostat-dash
image: cosmostat-dash:latest
restart: always
build:
context: .
dockerfile: Dockerfile
container_name: cosmostat-dash
image: cosmostat-dash:latest
restart: always
networks:
- cosmostat_net
ports:
- "{{ docker_gateway }}:6379:6379"
- "{{ (docker_gateway + ':') if not public_dashboard | bool else '' }}{{ custom_port }}:80"
volumes:
# - "/opt/cosmostat/docker/web/html:/var/www/html"
# - "/opt/cosmostat/docker/web/node_server:/app"
- "/opt/cosmostat/api/cosmostat_settings.yaml:/app/cosmostat_settings.yaml:ro"
# When the container is built in Ansible, these are all copied
# if any changes are made manually on the endpoint, uncomment as needed
#volumes:
# - "/opt/cosmostat/api/cosmostat_settings.yaml:/app/cosmostat_settings.yaml:ro"
# - "/opt/cosmostat/api/cosmostat_settings.yaml:/usr/src/app/cosmostat_settings.yaml:ro"
# - "/opt/cosmostat/docker/web/html:/var/www/html"
# - "/opt/cosmostat/docker/web/node_server:/app"
networks:
cosmostat_net:

View File

@ -1,15 +0,0 @@
client
dev tun
proto {{ vpn_proto }}
remote {{ vpn_server_ip }} {{ vpn_port }}
resolv-retry infinite
nobind
persist-key
persist-tun
user nobody
group nogroup
tls-auth {{ psk_key_path }} 1
cipher AES-256-GCM
auth SHA256

View File

@ -1,19 +0,0 @@
ifconfig-pool-persist ipp.txt
port {{ vpn_port }}
proto {{ vpn_proto }}
dev tun
tls-crypt {{ psk_key_path }}
server {{ vpn_network }} {{ vpn_netmask }}
topology subnet
push "route {{ private_server_address }} 255.255.255.255"
keepalive 10 120
cipher AES-256-GCM
auth SHA256
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
explicit-exit-notify 1