with drysense
BIN
deploy/sense/assets/fa-brands-400-D1LuMI3I.ttf
Normal file
BIN
deploy/sense/assets/fa-brands-400-D_cYUPeE.woff2
Normal file
BIN
deploy/sense/assets/fa-regular-400-BjRzuEpd.woff2
Normal file
BIN
deploy/sense/assets/fa-regular-400-DZaxPHgR.ttf
Normal file
BIN
deploy/sense/assets/fa-solid-900-CTAAxXor.woff2
Normal file
BIN
deploy/sense/assets/fa-solid-900-D0aA9rwL.ttf
Normal file
BIN
deploy/sense/assets/fa-v4compatibility-C9RhG_FT.woff2
Normal file
BIN
deploy/sense/assets/fa-v4compatibility-CCth-dXg.ttf
Normal file
9
deploy/sense/assets/index-Dk30-nFi.css
Normal file
146
deploy/sense/assets/index-DppBefZu.js
Normal file
BIN
deploy/sense/assets/loading-BrWpMAjh.gif
Normal file
|
After Width: | Height: | Size: 109 KiB |
BIN
deploy/sense/assets/login-background-WnTOCdhv.png
Normal file
|
After Width: | Height: | Size: 89 KiB |
BIN
deploy/sense/assets/nav-mWl-YMYM.png
Normal file
|
After Width: | Height: | Size: 53 KiB |
BIN
deploy/sense/favicon.ico
Normal file
|
After Width: | Height: | Size: 70 KiB |
19
deploy/sense/index.html
Normal file
@ -0,0 +1,19 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="icon" href="/sense/favicon.ico">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="Turning Floods Into Fresh Starts">
|
||||
<meta name="keywords" content="welldry, sense, manager, floods, prevention">
|
||||
<title>WellDry Sense</title>
|
||||
<script type="module" crossorigin src="/sense/assets/index-DppBefZu.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/sense/assets/index-Dk30-nFi.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
12
deploy_draysense.sh
Normal file
@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
rm -rf ./well-dry-sense
|
||||
|
||||
TOKEN=715515426be5ce38d504aa1252fc8c9e9f789ddc
|
||||
git clone https://$TOKEN@gitea.wellnua.com/pkresoja/well-dry-sense
|
||||
cd ./well-dry-sense
|
||||
|
||||
echo "VITE_GIT_VERSION=$(git rev-parse --short HEAD)" >> .env
|
||||
|
||||
npm install
|
||||
npm run build
|
||||
|
||||
@ -35,7 +35,6 @@ services:
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
- ./traefik/config:/etc/traefik
|
||||
- ./traefik/acme.json:/etc/traefik/acme.json
|
||||
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
@ -48,35 +47,55 @@ services:
|
||||
- "traefik.http.middlewares.auth.basicauth.users=admin:$$apr1$$mG0yHveI$$y2hSROLHtMbuWFK4F.p2c1"
|
||||
|
||||
nginx:
|
||||
build:
|
||||
context: ./nginx
|
||||
dockerfile: Dockerfile
|
||||
restart: always
|
||||
networks:
|
||||
- traefik-public
|
||||
volumes:
|
||||
- /home/ubuntu/www:/usr/share/nginx/html
|
||||
- /mnt/data/well_tests:/usr/share/nginx/html/well_tests
|
||||
- /mnt/data/shared:/usr/share/nginx/html/shared
|
||||
- /home/ubuntu/server-setup/well_mob_pwa/build:/usr/share/nginx/html/react
|
||||
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
|
||||
- ./nginx/conf.d:/etc/nginx/conf.d:ro
|
||||
- ./nginx/.htpasswd:/etc/nginx/.htpasswd:ro
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
# Main website
|
||||
- "traefik.http.routers.nginx-web.rule=Host(`eluxnetworks.net`)"
|
||||
- "traefik.http.routers.nginx-web.entrypoints=websecure"
|
||||
- "traefik.http.routers.nginx-web.tls.certresolver=letsencrypt"
|
||||
# React app
|
||||
- "traefik.http.routers.nginx-react.rule=Host(`react.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.nginx-react.entrypoints=websecure"
|
||||
- "traefik.http.routers.nginx-react.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.middlewares.security-headers.headers.stsSeconds=31536000"
|
||||
- "traefik.http.middlewares.security-headers.headers.forceSTSHeader=true"
|
||||
- "traefik.http.routers.nginx-web.middlewares=security-headers"
|
||||
- "traefik.http.routers.nginx-react.middlewares=security-headers"
|
||||
- "traefik.http.services.nginx-react.loadbalancer.server.port=80"
|
||||
build:
|
||||
context: ./nginx
|
||||
dockerfile: Dockerfile
|
||||
restart: always
|
||||
networks:
|
||||
- traefik-public
|
||||
volumes:
|
||||
- /home/ubuntu/www:/usr/share/nginx/html
|
||||
- /mnt/data/well_tests:/usr/share/nginx/html/well_tests
|
||||
- /mnt/data/shared:/usr/share/nginx/html/shared
|
||||
- /home/ubuntu/server-setup/well_mob_pwa/build:/usr/share/nginx/html/react
|
||||
- /home/ubuntu/server-setup/new-portal/dist:/usr/share/nginx/html/portal
|
||||
- /home/ubuntu/server-setup/well-dry-sense/dist:/usr/share/nginx/html/drysense
|
||||
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
|
||||
- ./nginx/conf.d:/etc/nginx/conf.d:ro
|
||||
- ./nginx/.htpasswd:/etc/nginx/.htpasswd:ro
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
# Main website
|
||||
- "traefik.http.routers.nginx-web.rule=Host(`eluxnetworks.net`)"
|
||||
- "traefik.http.routers.nginx-web.entrypoints=websecure"
|
||||
- "traefik.http.routers.nginx-web.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.nginx-web.service=nginx-web"
|
||||
- "traefik.http.services.nginx-web.loadbalancer.server.port=80"
|
||||
# React app
|
||||
- "traefik.http.routers.nginx-react.rule=Host(`react.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.nginx-react.entrypoints=websecure"
|
||||
- "traefik.http.routers.nginx-react.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.nginx-react.service=nginx-react"
|
||||
- "traefik.http.services.nginx-react.loadbalancer.server.port=80"
|
||||
# Portal app
|
||||
- "traefik.http.routers.nginx-portal.rule=Host(`portal.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.nginx-portal.entrypoints=websecure"
|
||||
- "traefik.http.routers.nginx-portal.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.nginx-portal.service=nginx-portal"
|
||||
- "traefik.http.services.nginx-portal.loadbalancer.server.port=80"
|
||||
# Drysense app
|
||||
- "traefik.http.routers.nginx-drysense.rule=Host(`drysense.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.nginx-drysense.entrypoints=websecure"
|
||||
- "traefik.http.routers.nginx-drysense.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.nginx-drysense.service=nginx-drysense"
|
||||
- "traefik.http.services.nginx-drysense.loadbalancer.server.port=80"
|
||||
# Security headers middleware
|
||||
- "traefik.http.middlewares.security-headers.headers.stsSeconds=31536000"
|
||||
- "traefik.http.middlewares.security-headers.headers.forceSTSHeader=true"
|
||||
- "traefik.http.routers.nginx-web.middlewares=security-headers"
|
||||
- "traefik.http.routers.nginx-react.middlewares=security-headers"
|
||||
- "traefik.http.routers.nginx-portal.middlewares=security-headers"
|
||||
- "traefik.http.routers.nginx-drysense.middlewares=security-headers"
|
||||
|
||||
rabbitmq:
|
||||
networks:
|
||||
|
||||
184
docker-compose.yml.bak20251010.pre-drysense
Normal file
@ -0,0 +1,184 @@
|
||||
networks:
|
||||
traefik-public:
|
||||
driver: bridge
|
||||
|
||||
services:
|
||||
traefik:
|
||||
networks:
|
||||
- traefik-public
|
||||
|
||||
image: traefik:latest
|
||||
restart: always
|
||||
command:
|
||||
- "--api.dashboard=true"
|
||||
- "--api.insecure=false"
|
||||
- "--providers.docker=true"
|
||||
- "--providers.docker.exposedbydefault=false"
|
||||
- "--providers.file.directory=/etc/traefik"
|
||||
- "--providers.file.watch=true"
|
||||
- "--entrypoints.web.address=:80"
|
||||
- "--entrypoints.websecure.address=:443"
|
||||
- "--entrypoints.websecure.http.tls=true"
|
||||
- "--entrypoints.websecure.http.tls.certresolver=letsencrypt"
|
||||
- "--certificatesresolvers.letsencrypt.acme.tlschallenge=true"
|
||||
- "--certificatesresolvers.letsencrypt.acme.email=robert@wellnuo.com"
|
||||
- "--certificatesresolvers.letsencrypt.acme.storage=/etc/traefik/acme.json"
|
||||
- "--api.dashboard=true"
|
||||
- "--api.insecure=true"
|
||||
- "--entrypoints.amqp.address=:5672"
|
||||
- "--log.level=DEBUG"
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
- "8080:8080" # Add this line for dashboard internal access
|
||||
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
- ./traefik/config:/etc/traefik
|
||||
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
# Dashboard
|
||||
- "traefik.http.routers.dashboard.rule=Host(`traefik.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.dashboard.service=api@internal"
|
||||
- "traefik.http.routers.dashboard.entrypoints=websecure"
|
||||
- "traefik.http.routers.dashboard.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.dashboard.middlewares=auth"
|
||||
- "traefik.http.middlewares.auth.basicauth.users=admin:$$apr1$$mG0yHveI$$y2hSROLHtMbuWFK4F.p2c1"
|
||||
|
||||
nginx:
|
||||
build:
|
||||
context: ./nginx
|
||||
dockerfile: Dockerfile
|
||||
restart: always
|
||||
networks:
|
||||
- traefik-public
|
||||
volumes:
|
||||
- /home/ubuntu/www:/usr/share/nginx/html
|
||||
- /mnt/data/well_tests:/usr/share/nginx/html/well_tests
|
||||
- /mnt/data/shared:/usr/share/nginx/html/shared
|
||||
- /home/ubuntu/server-setup/well_mob_pwa/build:/usr/share/nginx/html/react
|
||||
- /home/ubuntu/server-setup/new-portal/dist:/usr/share/nginx/html/portal
|
||||
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
|
||||
- ./nginx/conf.d:/etc/nginx/conf.d:ro
|
||||
- ./nginx/.htpasswd:/etc/nginx/.htpasswd:ro
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
# Main website
|
||||
- "traefik.http.routers.nginx-web.rule=Host(`eluxnetworks.net`)"
|
||||
- "traefik.http.routers.nginx-web.entrypoints=websecure"
|
||||
- "traefik.http.routers.nginx-web.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.nginx-web.service=nginx-web"
|
||||
- "traefik.http.services.nginx-web.loadbalancer.server.port=80"
|
||||
# React app
|
||||
- "traefik.http.routers.nginx-react.rule=Host(`react.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.nginx-react.entrypoints=websecure"
|
||||
- "traefik.http.routers.nginx-react.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.nginx-react.service=nginx-react"
|
||||
- "traefik.http.services.nginx-react.loadbalancer.server.port=80"
|
||||
# Portal app
|
||||
- "traefik.http.routers.nginx-portal.rule=Host(`portal.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.nginx-portal.entrypoints=websecure"
|
||||
- "traefik.http.routers.nginx-portal.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.nginx-portal.service=nginx-portal"
|
||||
- "traefik.http.services.nginx-portal.loadbalancer.server.port=80"
|
||||
# Security headers middleware
|
||||
- "traefik.http.middlewares.security-headers.headers.stsSeconds=31536000"
|
||||
- "traefik.http.middlewares.security-headers.headers.forceSTSHeader=true"
|
||||
- "traefik.http.routers.nginx-web.middlewares=security-headers"
|
||||
- "traefik.http.routers.nginx-react.middlewares=security-headers"
|
||||
- "traefik.http.routers.nginx-portal.middlewares=security-headers"
|
||||
|
||||
rabbitmq:
|
||||
networks:
|
||||
- traefik-public
|
||||
user: "999:65534"
|
||||
image: rabbitmq:3.13-management
|
||||
restart: always
|
||||
hostname: "rabbitmq" # Add this line
|
||||
environment:
|
||||
- RABBITMQ_DEFAULT_USER=admin
|
||||
- RABBITMQ_DEFAULT_PASS=Cbx696969!
|
||||
- RABBITMQ_NODENAME=rabbit@rabbitmq # Add this line
|
||||
- RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS=-rabbit log_levels [{connection,error}]
|
||||
- RABBITMQ_MNESIA_DIR=/var/lib/rabbitmq/mnesia
|
||||
volumes:
|
||||
- /mnt/data/rabbitmq:/var/lib/rabbitmq
|
||||
|
||||
ports:
|
||||
- "5672:5672" # AMQP port
|
||||
- "15672:15672" # Management UI
|
||||
expose:
|
||||
- 5672
|
||||
- 15672
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.rabbitmq.rule=Host(`rabbitmq.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.rabbitmq.entrypoints=websecure"
|
||||
- "traefik.http.routers.rabbitmq.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.rabbitmq.loadbalancer.server.port=15672"
|
||||
|
||||
|
||||
minio:
|
||||
image: minio/minio:latest
|
||||
restart: always
|
||||
command: server /data --console-address ":9001" --address ":9000"
|
||||
environment:
|
||||
# Admin credentials for console login
|
||||
- MINIO_ROOT_USER=admin
|
||||
- MINIO_ROOT_PASSWORD=Cbx696969!
|
||||
# Access keys for API access
|
||||
- MINIO_ACCESS_KEY=well_pipe
|
||||
- MINIO_SECRET_KEY=WellNuo_2024
|
||||
# Optional: Force all credentials to be set before starting
|
||||
- MINIO_SITE_REGION=us-east-1
|
||||
- MINIO_BROWSER_REDIRECT_URL=https://minio-console.eluxnetworks.net
|
||||
ports:
|
||||
- "9000:9000"
|
||||
- "9001:9001" # Adding explicit port mapping for debugging
|
||||
volumes:
|
||||
- /mnt/data/minio:/data
|
||||
networks:
|
||||
- traefik-public
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
# API Service
|
||||
- "traefik.http.routers.minio-api.rule=Host(`minio.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.minio-api.entrypoints=websecure"
|
||||
- "traefik.http.routers.minio-api.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.minio-api-service.loadbalancer.server.port=9000"
|
||||
- "traefik.http.routers.minio-api.service=minio-api-service"
|
||||
|
||||
# Console Service
|
||||
- "traefik.http.routers.minio-console.rule=Host(`minio-console.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.minio-console.entrypoints=websecure"
|
||||
- "traefik.http.routers.minio-console.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.minio-console-service.loadbalancer.server.port=9001"
|
||||
- "traefik.http.routers.minio-console.service=minio-console-service"
|
||||
|
||||
registry:
|
||||
image: registry:latest
|
||||
restart: always
|
||||
ports:
|
||||
- "5000:5000"
|
||||
networks:
|
||||
- traefik-public
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.registry.rule=Host(`repo.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.registry.entrypoints=websecure"
|
||||
- "traefik.http.routers.registry.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.registry.loadbalancer.server.port=5000"
|
||||
|
||||
redis:
|
||||
image: redis:alpine
|
||||
restart: always
|
||||
networks:
|
||||
- traefik-public
|
||||
volumes:
|
||||
- /mnt/data/redis:/data
|
||||
ports:
|
||||
- "6379:6379"
|
||||
command: redis-server --appendonly yes
|
||||
labels:
|
||||
- "traefik.enable=false" # No need to expose Redis to the internet
|
||||
188
docker-compose.yml.bak20251025
Normal file
@ -0,0 +1,188 @@
|
||||
networks:
|
||||
traefik-public:
|
||||
driver: bridge
|
||||
|
||||
services:
|
||||
traefik:
|
||||
networks:
|
||||
- traefik-public
|
||||
|
||||
image: traefik:latest
|
||||
restart: always
|
||||
command:
|
||||
- "--api.dashboard=true"
|
||||
- "--api.insecure=false"
|
||||
- "--providers.docker=true"
|
||||
- "--providers.docker.exposedbydefault=false"
|
||||
- "--providers.file.directory=/etc/traefik"
|
||||
- "--providers.file.watch=true"
|
||||
- "--entrypoints.web.address=:80"
|
||||
- "--entrypoints.websecure.address=:443"
|
||||
- "--entrypoints.websecure.http.tls=true"
|
||||
- "--entrypoints.websecure.http.tls.certresolver=letsencrypt"
|
||||
- "--certificatesresolvers.letsencrypt.acme.tlschallenge=true"
|
||||
- "--certificatesresolvers.letsencrypt.acme.email=robert@wellnuo.com"
|
||||
- "--certificatesresolvers.letsencrypt.acme.storage=/etc/traefik/acme.json"
|
||||
- "--api.dashboard=true"
|
||||
- "--api.insecure=true"
|
||||
- "--entrypoints.amqp.address=:5672"
|
||||
- "--log.level=DEBUG"
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
- "8080:8080" # Add this line for dashboard internal access
|
||||
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
- ./traefik/config:/etc/traefik
|
||||
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
# Dashboard
|
||||
- "traefik.http.routers.dashboard.rule=Host(`traefik.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.dashboard.service=api@internal"
|
||||
- "traefik.http.routers.dashboard.entrypoints=websecure"
|
||||
- "traefik.http.routers.dashboard.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.dashboard.middlewares=auth"
|
||||
- "traefik.http.middlewares.auth.basicauth.users=admin:$$apr1$$mG0yHveI$$y2hSROLHtMbuWFK4F.p2c1"
|
||||
|
||||
nginx:
|
||||
build:
|
||||
context: ./nginx
|
||||
dockerfile: Dockerfile
|
||||
restart: always
|
||||
networks:
|
||||
- traefik-public
|
||||
volumes:
|
||||
- /home/ubuntu/www:/usr/share/nginx/html
|
||||
- /mnt/data/well_tests:/usr/share/nginx/html/well_tests
|
||||
- /mnt/data/shared:/usr/share/nginx/html/shared
|
||||
- /home/ubuntu/server-setup/well_mob_pwa/build:/usr/share/nginx/html/react
|
||||
- /home/ubuntu/server-setup/new-portal/dist:/usr/share/nginx/html/portal
|
||||
- /home/ubuntu/server-setup/deploy/sense:/usr/share/nginx/html/sense # <-- FINAL, CORRECTED LINE
|
||||
#- /home/ubuntu/well-dry-sense/dist:/var/www/sense # existing LINE for well-dry-sense (with copy)
|
||||
#- /home/ubuntu/well-dry-sense/dist:/usr/share/nginx/html/sense # new LINE for well-dry-sense (no copy)
|
||||
#- /home/ubuntu/server-setup/well-dry-sense/dist:/usr/share/nginx/html/sense # old, requires copy
|
||||
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
|
||||
- ./nginx/conf.d:/etc/nginx/conf.d:ro
|
||||
- ./nginx/.htpasswd:/etc/nginx/.htpasswd:ro
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
# Main website
|
||||
- "traefik.http.routers.nginx-web.rule=Host(`eluxnetworks.net`)"
|
||||
- "traefik.http.routers.nginx-web.entrypoints=websecure"
|
||||
- "traefik.http.routers.nginx-web.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.nginx-web.service=nginx-web"
|
||||
- "traefik.http.services.nginx-web.loadbalancer.server.port=80"
|
||||
# React app
|
||||
- "traefik.http.routers.nginx-react.rule=Host(`react.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.nginx-react.entrypoints=websecure"
|
||||
- "traefik.http.routers.nginx-react.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.nginx-react.service=nginx-react"
|
||||
- "traefik.http.services.nginx-react.loadbalancer.server.port=80"
|
||||
# Portal app
|
||||
- "traefik.http.routers.nginx-portal.rule=Host(`portal.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.nginx-portal.entrypoints=websecure"
|
||||
- "traefik.http.routers.nginx-portal.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.nginx-portal.service=nginx-portal"
|
||||
- "traefik.http.services.nginx-portal.loadbalancer.server.port=80"
|
||||
# Security headers middleware
|
||||
- "traefik.http.middlewares.security-headers.headers.stsSeconds=31536000"
|
||||
- "traefik.http.middlewares.security-headers.headers.forceSTSHeader=true"
|
||||
- "traefik.http.routers.nginx-web.middlewares=security-headers"
|
||||
- "traefik.http.routers.nginx-react.middlewares=security-headers"
|
||||
- "traefik.http.routers.nginx-portal.middlewares=security-headers"
|
||||
|
||||
rabbitmq:
|
||||
networks:
|
||||
- traefik-public
|
||||
user: "999:65534"
|
||||
image: rabbitmq:3.13-management
|
||||
restart: always
|
||||
hostname: "rabbitmq" # Add this line
|
||||
environment:
|
||||
- RABBITMQ_DEFAULT_USER=admin
|
||||
- RABBITMQ_DEFAULT_PASS=Cbx696969!
|
||||
- RABBITMQ_NODENAME=rabbit@rabbitmq # Add this line
|
||||
- RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS=-rabbit log_levels [{connection,error}]
|
||||
- RABBITMQ_MNESIA_DIR=/var/lib/rabbitmq/mnesia
|
||||
volumes:
|
||||
- /mnt/data/rabbitmq:/var/lib/rabbitmq
|
||||
|
||||
ports:
|
||||
- "5672:5672" # AMQP port
|
||||
- "15672:15672" # Management UI
|
||||
expose:
|
||||
- 5672
|
||||
- 15672
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.rabbitmq.rule=Host(`rabbitmq.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.rabbitmq.entrypoints=websecure"
|
||||
- "traefik.http.routers.rabbitmq.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.rabbitmq.loadbalancer.server.port=15672"
|
||||
|
||||
|
||||
minio:
|
||||
image: minio/minio:latest
|
||||
restart: always
|
||||
command: server /data --console-address ":9001" --address ":9000"
|
||||
environment:
|
||||
# Admin credentials for console login
|
||||
- MINIO_ROOT_USER=admin
|
||||
- MINIO_ROOT_PASSWORD=Cbx696969!
|
||||
# Access keys for API access
|
||||
- MINIO_ACCESS_KEY=well_pipe
|
||||
- MINIO_SECRET_KEY=WellNuo_2024
|
||||
# Optional: Force all credentials to be set before starting
|
||||
- MINIO_SITE_REGION=us-east-1
|
||||
- MINIO_BROWSER_REDIRECT_URL=https://minio-console.eluxnetworks.net
|
||||
ports:
|
||||
- "9000:9000"
|
||||
- "9001:9001" # Adding explicit port mapping for debugging
|
||||
volumes:
|
||||
- /mnt/data/minio:/data
|
||||
networks:
|
||||
- traefik-public
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
# API Service
|
||||
- "traefik.http.routers.minio-api.rule=Host(`minio.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.minio-api.entrypoints=websecure"
|
||||
- "traefik.http.routers.minio-api.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.minio-api-service.loadbalancer.server.port=9000"
|
||||
- "traefik.http.routers.minio-api.service=minio-api-service"
|
||||
|
||||
# Console Service
|
||||
- "traefik.http.routers.minio-console.rule=Host(`minio-console.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.minio-console.entrypoints=websecure"
|
||||
- "traefik.http.routers.minio-console.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.minio-console-service.loadbalancer.server.port=9001"
|
||||
- "traefik.http.routers.minio-console.service=minio-console-service"
|
||||
|
||||
registry:
|
||||
image: registry:latest
|
||||
restart: always
|
||||
ports:
|
||||
- "5000:5000"
|
||||
networks:
|
||||
- traefik-public
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.registry.rule=Host(`repo.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.registry.entrypoints=websecure"
|
||||
- "traefik.http.routers.registry.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.registry.loadbalancer.server.port=5000"
|
||||
|
||||
redis:
|
||||
image: redis:alpine
|
||||
restart: always
|
||||
networks:
|
||||
- traefik-public
|
||||
volumes:
|
||||
- /mnt/data/redis:/data
|
||||
ports:
|
||||
- "6379:6379"
|
||||
command: redis-server --appendonly yes
|
||||
labels:
|
||||
- "traefik.enable=false" # No need to expose Redis to the internet
|
||||
186
docker-compose.yml.bak20251026
Normal file
@ -0,0 +1,186 @@
|
||||
networks:
|
||||
traefik-public:
|
||||
driver: bridge
|
||||
|
||||
services:
|
||||
traefik:
|
||||
networks:
|
||||
- traefik-public
|
||||
image: traefik:latest
|
||||
restart: always
|
||||
# ADD THIS BLOCK TO ENABLE HOST COMMUNICATION
|
||||
extra_hosts:
|
||||
- "host.docker.internal:host-gateway"
|
||||
# END OF ADDED BLOCK
|
||||
command:
|
||||
- "--api.dashboard=true"
|
||||
- "--api.insecure=false"
|
||||
- "--providers.docker=true"
|
||||
- "--providers.docker.exposedbydefault=false"
|
||||
- "--providers.file.directory=/etc/traefik"
|
||||
- "--providers.file.watch=true"
|
||||
- "--entrypoints.web.address=:80"
|
||||
- "--entrypoints.websecure.address=:443"
|
||||
- "--entrypoints.websecure.http.tls=true"
|
||||
- "--entrypoints.websecure.http.tls.certresolver=letsencrypt"
|
||||
- "--certificatesresolvers.letsencrypt.acme.tlschallenge=true"
|
||||
- "--certificatesresolvers.letsencrypt.acme.email=robert@wellnuo.com"
|
||||
- "--certificatesresolvers.letsencrypt.acme.storage=/etc/traefik/acme.json"
|
||||
- "--api.dashboard=true"
|
||||
- "--api.insecure=true"
|
||||
- "--entrypoints.amqp.address=:5672"
|
||||
- "--log.level=DEBUG"
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
- "8080:8080"
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
- ./traefik/config:/etc/traefik
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
# Dashboard
|
||||
- "traefik.http.routers.dashboard.rule=Host(`traefik.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.dashboard.service=api@internal"
|
||||
- "traefik.http.routers.dashboard.entrypoints=websecure"
|
||||
- "traefik.http.routers.dashboard.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.dashboard.middlewares=auth"
|
||||
- "traefik.http.middlewares.auth.basicauth.users=admin:$$apr1$$mG0yHveI$$y2hSROLHtMbuWFK4F.p2c1"
|
||||
|
||||
# ... other services remain unchanged ...
|
||||
nginx:
|
||||
build:
|
||||
context: ./nginx
|
||||
dockerfile: Dockerfile
|
||||
restart: always
|
||||
networks:
|
||||
- traefik-public
|
||||
volumes:
|
||||
- /home/ubuntu/www:/usr/share/nginx/html
|
||||
- /mnt/data/well_tests:/usr/share/nginx/html/well_tests
|
||||
- /mnt/data/shared:/usr/share/nginx/html/shared
|
||||
- /home/ubuntu/server-setup/well_mob_pwa/build:/usr/share/nginx/html/react
|
||||
- /home/ubuntu/server-setup/new-portal/dist:/usr/share/nginx/html/portal
|
||||
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
|
||||
- ./nginx/conf.d:/etc/nginx/conf.d:ro
|
||||
- ./nginx/.htpasswd:/etc/nginx/.htpasswd:ro
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
# Main website
|
||||
- "traefik.http.routers.nginx-web.rule=Host(`eluxnetworks.net`)"
|
||||
- "traefik.http.routers.nginx-web.entrypoints=websecure"
|
||||
- "traefik.http.routers.nginx-web.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.nginx-web.service=nginx-web"
|
||||
- "traefik.http.services.nginx-web.loadbalancer.server.port=80"
|
||||
# React app
|
||||
- "traefik.http.routers.nginx-react.rule=Host(`react.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.nginx-react.entrypoints=websecure"
|
||||
- "traefik.http.routers.nginx-react.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.nginx-react.service=nginx-react"
|
||||
- "traefik.http.services.nginx-react.loadbalancer.server.port=80"
|
||||
# Portal app
|
||||
- "traefik.http.routers.nginx-portal.rule=Host(`portal.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.nginx-portal.entrypoints=websecure"
|
||||
- "traefik.http.routers.nginx-portal.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.nginx-portal.service=nginx-portal"
|
||||
- "traefik.http.services.nginx-portal.loadbalancer.server.port=80"
|
||||
# Security headers middleware
|
||||
- "traefik.http.middlewares.security-headers.headers.stsSeconds=31536000"
|
||||
- "traefik.http.middlewares.security-headers.headers.forceSTSHeader=true"
|
||||
- "traefik.http.routers.nginx-web.middlewares=security-headers"
|
||||
- "traefik.http.routers.nginx-react.middlewares=security-headers"
|
||||
- "traefik.http.routers.nginx-portal.middlewares=security-headers"
|
||||
|
||||
rabbitmq:
|
||||
networks:
|
||||
- traefik-public
|
||||
user: "999:65534"
|
||||
image: rabbitmq:3.13-management
|
||||
restart: always
|
||||
hostname: "rabbitmq" # Add this line
|
||||
environment:
|
||||
- RABBITMQ_DEFAULT_USER=admin
|
||||
- RABBITMQ_DEFAULT_PASS=Cbx696969!
|
||||
- RABBITMQ_NODENAME=rabbit@rabbitmq # Add this line
|
||||
- RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS=-rabbit log_levels [{connection,error}]
|
||||
- RABBITMQ_MNESIA_DIR=/var/lib/rabbitmq/mnesia
|
||||
volumes:
|
||||
- /mnt/data/rabbitmq:/var/lib/rabbitmq
|
||||
|
||||
ports:
|
||||
- "5672:5672" # AMQP port
|
||||
- "15672:15672" # Management UI
|
||||
expose:
|
||||
- 5672
|
||||
- 15672
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.rabbitmq.rule=Host(`rabbitmq.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.rabbitmq.entrypoints=websecure"
|
||||
- "traefik.http.routers.rabbitmq.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.rabbitmq.loadbalancer.server.port=15672"
|
||||
|
||||
|
||||
minio:
|
||||
image: minio/minio:latest
|
||||
restart: always
|
||||
command: server /data --console-address ":9001" --address ":9000"
|
||||
environment:
|
||||
# Admin credentials for console login
|
||||
- MINIO_ROOT_USER=admin
|
||||
- MINIO_ROOT_PASSWORD=Cbx696969!
|
||||
# Access keys for API access
|
||||
- MINIO_ACCESS_KEY=well_pipe
|
||||
- MINIO_SECRET_KEY=WellNuo_2024
|
||||
# Optional: Force all credentials to be set before starting
|
||||
- MINIO_SITE_REGION=us-east-1
|
||||
- MINIO_BROWSER_REDIRECT_URL=https://minio-console.eluxnetworks.net
|
||||
ports:
|
||||
- "9000:9000"
|
||||
- "9001:9001" # Adding explicit port mapping for debugging
|
||||
volumes:
|
||||
- /mnt/data/minio:/data
|
||||
networks:
|
||||
- traefik-public
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
# API Service
|
||||
- "traefik.http.routers.minio-api.rule=Host(`minio.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.minio-api.entrypoints=websecure"
|
||||
- "traefik.http.routers.minio-api.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.minio-api-service.loadbalancer.server.port=9000"
|
||||
- "traefik.http.routers.minio-api.service=minio-api-service"
|
||||
|
||||
# Console Service
|
||||
- "traefik.http.routers.minio-console.rule=Host(`minio-console.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.minio-console.entrypoints=websecure"
|
||||
- "traefik.http.routers.minio-console.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.minio-console-service.loadbalancer.server.port=9001"
|
||||
- "traefik.http.routers.minio-console.service=minio-console-service"
|
||||
|
||||
registry:
|
||||
image: registry:latest
|
||||
restart: always
|
||||
ports:
|
||||
- "5000:5000"
|
||||
networks:
|
||||
- traefik-public
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.registry.rule=Host(`repo.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.registry.entrypoints=websecure"
|
||||
- "traefik.http.routers.registry.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.registry.loadbalancer.server.port=5000"
|
||||
|
||||
redis:
|
||||
image: redis:alpine
|
||||
restart: always
|
||||
networks:
|
||||
- traefik-public
|
||||
volumes:
|
||||
- /mnt/data/redis:/data
|
||||
ports:
|
||||
- "6379:6379"
|
||||
command: redis-server --appendonly yes
|
||||
labels:
|
||||
- "traefik.enable=false"
|
||||
192
docker-compose.yml.bak20251028.drysense.working
Normal file
@ -0,0 +1,192 @@
|
||||
networks:
|
||||
traefik-public:
|
||||
driver: bridge
|
||||
|
||||
services:
|
||||
traefik:
|
||||
networks:
|
||||
- traefik-public
|
||||
|
||||
image: traefik:latest
|
||||
restart: always
|
||||
command:
|
||||
- "--api.dashboard=true"
|
||||
- "--api.insecure=false"
|
||||
- "--providers.docker=true"
|
||||
- "--providers.docker.exposedbydefault=false"
|
||||
- "--providers.file.directory=/etc/traefik"
|
||||
- "--providers.file.watch=true"
|
||||
- "--entrypoints.web.address=:80"
|
||||
- "--entrypoints.websecure.address=:443"
|
||||
- "--entrypoints.websecure.http.tls=true"
|
||||
- "--entrypoints.websecure.http.tls.certresolver=letsencrypt"
|
||||
- "--certificatesresolvers.letsencrypt.acme.tlschallenge=true"
|
||||
- "--certificatesresolvers.letsencrypt.acme.email=robert@wellnuo.com"
|
||||
- "--certificatesresolvers.letsencrypt.acme.storage=/etc/traefik/acme.json"
|
||||
- "--api.dashboard=true"
|
||||
- "--api.insecure=true"
|
||||
- "--entrypoints.amqp.address=:5672"
|
||||
- "--log.level=DEBUG"
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
- "8080:8080" # Add this line for dashboard internal access
|
||||
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
- ./traefik/config:/etc/traefik
|
||||
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
# Dashboard
|
||||
- "traefik.http.routers.dashboard.rule=Host(`traefik.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.dashboard.service=api@internal"
|
||||
- "traefik.http.routers.dashboard.entrypoints=websecure"
|
||||
- "traefik.http.routers.dashboard.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.dashboard.middlewares=auth"
|
||||
- "traefik.http.middlewares.auth.basicauth.users=admin:$$apr1$$mG0yHveI$$y2hSROLHtMbuWFK4F.p2c1"
|
||||
|
||||
nginx:
|
||||
build:
|
||||
context: ./nginx
|
||||
dockerfile: Dockerfile
|
||||
restart: always
|
||||
networks:
|
||||
- traefik-public
|
||||
volumes:
|
||||
- /home/ubuntu/www:/usr/share/nginx/html
|
||||
- /mnt/data/well_tests:/usr/share/nginx/html/well_tests
|
||||
- /mnt/data/shared:/usr/share/nginx/html/shared
|
||||
- /home/ubuntu/server-setup/well_mob_pwa/build:/usr/share/nginx/html/react
|
||||
- /home/ubuntu/server-setup/new-portal/dist:/usr/share/nginx/html/portal
|
||||
- /home/ubuntu/server-setup/well-dry-sense/dist:/usr/share/nginx/html/drysense
|
||||
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
|
||||
- ./nginx/conf.d:/etc/nginx/conf.d:ro
|
||||
- ./nginx/.htpasswd:/etc/nginx/.htpasswd:ro
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
# Main website
|
||||
- "traefik.http.routers.nginx-web.rule=Host(`eluxnetworks.net`)"
|
||||
- "traefik.http.routers.nginx-web.entrypoints=websecure"
|
||||
- "traefik.http.routers.nginx-web.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.nginx-web.service=nginx-web"
|
||||
- "traefik.http.services.nginx-web.loadbalancer.server.port=80"
|
||||
# React app
|
||||
- "traefik.http.routers.nginx-react.rule=Host(`react.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.nginx-react.entrypoints=websecure"
|
||||
- "traefik.http.routers.nginx-react.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.nginx-react.service=nginx-react"
|
||||
- "traefik.http.services.nginx-react.loadbalancer.server.port=80"
|
||||
# Portal app
|
||||
- "traefik.http.routers.nginx-portal.rule=Host(`portal.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.nginx-portal.entrypoints=websecure"
|
||||
- "traefik.http.routers.nginx-portal.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.nginx-portal.service=nginx-portal"
|
||||
- "traefik.http.services.nginx-portal.loadbalancer.server.port=80"
|
||||
# Drysense app
|
||||
- "traefik.http.routers.nginx-drysense.rule=Host(`drysense.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.nginx-drysense.entrypoints=websecure"
|
||||
- "traefik.http.routers.nginx-drysense.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.routers.nginx-drysense.service=nginx-drysense"
|
||||
- "traefik.http.services.nginx-drysense.loadbalancer.server.port=80"
|
||||
# Security headers middleware
|
||||
- "traefik.http.middlewares.security-headers.headers.stsSeconds=31536000"
|
||||
- "traefik.http.middlewares.security-headers.headers.forceSTSHeader=true"
|
||||
- "traefik.http.routers.nginx-web.middlewares=security-headers"
|
||||
- "traefik.http.routers.nginx-react.middlewares=security-headers"
|
||||
- "traefik.http.routers.nginx-portal.middlewares=security-headers"
|
||||
- "traefik.http.routers.nginx-drysense.middlewares=security-headers"
|
||||
|
||||
rabbitmq:
|
||||
networks:
|
||||
- traefik-public
|
||||
user: "999:65534"
|
||||
image: rabbitmq:3.13-management
|
||||
restart: always
|
||||
hostname: "rabbitmq" # Add this line
|
||||
environment:
|
||||
- RABBITMQ_DEFAULT_USER=admin
|
||||
- RABBITMQ_DEFAULT_PASS=Cbx696969!
|
||||
- RABBITMQ_NODENAME=rabbit@rabbitmq # Add this line
|
||||
- RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS=-rabbit log_levels [{connection,error}]
|
||||
- RABBITMQ_MNESIA_DIR=/var/lib/rabbitmq/mnesia
|
||||
volumes:
|
||||
- /mnt/data/rabbitmq:/var/lib/rabbitmq
|
||||
|
||||
ports:
|
||||
- "5672:5672" # AMQP port
|
||||
- "15672:15672" # Management UI
|
||||
expose:
|
||||
- 5672
|
||||
- 15672
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.rabbitmq.rule=Host(`rabbitmq.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.rabbitmq.entrypoints=websecure"
|
||||
- "traefik.http.routers.rabbitmq.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.rabbitmq.loadbalancer.server.port=15672"
|
||||
|
||||
|
||||
minio:
|
||||
image: minio/minio:latest
|
||||
restart: always
|
||||
command: server /data --console-address ":9001" --address ":9000"
|
||||
environment:
|
||||
# Admin credentials for console login
|
||||
- MINIO_ROOT_USER=admin
|
||||
- MINIO_ROOT_PASSWORD=Cbx696969!
|
||||
# Access keys for API access
|
||||
- MINIO_ACCESS_KEY=well_pipe
|
||||
- MINIO_SECRET_KEY=WellNuo_2024
|
||||
# Optional: Force all credentials to be set before starting
|
||||
- MINIO_SITE_REGION=us-east-1
|
||||
- MINIO_BROWSER_REDIRECT_URL=https://minio-console.eluxnetworks.net
|
||||
ports:
|
||||
- "9000:9000"
|
||||
- "9001:9001" # Adding explicit port mapping for debugging
|
||||
volumes:
|
||||
- /mnt/data/minio:/data
|
||||
networks:
|
||||
- traefik-public
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
# API Service
|
||||
- "traefik.http.routers.minio-api.rule=Host(`minio.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.minio-api.entrypoints=websecure"
|
||||
- "traefik.http.routers.minio-api.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.minio-api-service.loadbalancer.server.port=9000"
|
||||
- "traefik.http.routers.minio-api.service=minio-api-service"
|
||||
|
||||
# Console Service
|
||||
- "traefik.http.routers.minio-console.rule=Host(`minio-console.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.minio-console.entrypoints=websecure"
|
||||
- "traefik.http.routers.minio-console.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.minio-console-service.loadbalancer.server.port=9001"
|
||||
- "traefik.http.routers.minio-console.service=minio-console-service"
|
||||
|
||||
registry:
|
||||
image: registry:latest
|
||||
restart: always
|
||||
ports:
|
||||
- "5000:5000"
|
||||
networks:
|
||||
- traefik-public
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.registry.rule=Host(`repo.eluxnetworks.net`)"
|
||||
- "traefik.http.routers.registry.entrypoints=websecure"
|
||||
- "traefik.http.routers.registry.tls.certresolver=letsencrypt"
|
||||
- "traefik.http.services.registry.loadbalancer.server.port=5000"
|
||||
|
||||
redis:
|
||||
image: redis:alpine
|
||||
restart: always
|
||||
networks:
|
||||
- traefik-public
|
||||
volumes:
|
||||
- /mnt/data/redis:/data
|
||||
ports:
|
||||
- "6379:6379"
|
||||
command: redis-server --appendonly yes
|
||||
labels:
|
||||
- "traefik.enable=false" # No need to expose Redis to the internet
|
||||
BIN
new-portal/assets/fa-brands-400-D1LuMI3I.ttf
Normal file
BIN
new-portal/assets/fa-brands-400-D_cYUPeE.woff2
Normal file
BIN
new-portal/assets/fa-regular-400-BjRzuEpd.woff2
Normal file
BIN
new-portal/assets/fa-regular-400-DZaxPHgR.ttf
Normal file
BIN
new-portal/assets/fa-solid-900-CTAAxXor.woff2
Normal file
BIN
new-portal/assets/fa-solid-900-D0aA9rwL.ttf
Normal file
BIN
new-portal/assets/fa-v4compatibility-C9RhG_FT.woff2
Normal file
BIN
new-portal/assets/fa-v4compatibility-CCth-dXg.ttf
Normal file
109
new-portal/assets/index-1B55Va0l.js
Normal file
9
new-portal/assets/index-DLAHgo0g.css
Normal file
BIN
new-portal/assets/loading-BqYYue-P.gif
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
new-portal/assets/login-background-nXg9yrBY.png
Normal file
|
After Width: | Height: | Size: 577 KiB |
BIN
new-portal/assets/nav-qbtiZ8QF.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
new-portal/dist/assets/fa-brands-400-D1LuMI3I.ttf
vendored
Normal file
BIN
new-portal/dist/assets/fa-brands-400-D_cYUPeE.woff2
vendored
Normal file
BIN
new-portal/dist/assets/fa-regular-400-BjRzuEpd.woff2
vendored
Normal file
BIN
new-portal/dist/assets/fa-regular-400-DZaxPHgR.ttf
vendored
Normal file
BIN
new-portal/dist/assets/fa-solid-900-CTAAxXor.woff2
vendored
Normal file
BIN
new-portal/dist/assets/fa-solid-900-D0aA9rwL.ttf
vendored
Normal file
BIN
new-portal/dist/assets/fa-v4compatibility-C9RhG_FT.woff2
vendored
Normal file
BIN
new-portal/dist/assets/fa-v4compatibility-CCth-dXg.ttf
vendored
Normal file
109
new-portal/dist/assets/index-CViSXwoP.js
vendored
Normal file
9
new-portal/dist/assets/index-Dxv2Uy3x.css
vendored
Normal file
BIN
new-portal/dist/assets/loading-BqYYue-P.gif
vendored
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
new-portal/dist/assets/login-background-nXg9yrBY.png
vendored
Normal file
|
After Width: | Height: | Size: 577 KiB |
BIN
new-portal/dist/assets/nav-qbtiZ8QF.png
vendored
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
new-portal/dist/favicon.ico
vendored
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
19
new-portal/dist/index.html
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="icon" href="/favicon.ico">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="Configure and manage your WellNuo plugs effortlessly with our user-friendly portal">
|
||||
<meta name="keywords" content="wellnuo, portal, caretaker, plug, beneficiary">
|
||||
<title>WellNuo Portal</title>
|
||||
<script type="module" crossorigin src="/assets/index-CViSXwoP.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-Dxv2Uy3x.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
BIN
new-portal/favicon.ico
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
19
new-portal/index.html
Normal file
@ -0,0 +1,19 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="icon" href="/favicon.ico">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="description" content="Configure and manage your WellNuo plugs effortlessly with our user-friendly portal">
|
||||
<meta name="keywords" content="wellnuo, portal, caretaker, plug, beneficiary">
|
||||
<title>WellNuo Portal</title>
|
||||
<script type="module" crossorigin src="/assets/index-1B55Va0l.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-DLAHgo0g.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
15
traefik/config/drysense.yml.bakSimple
Normal file
@ -0,0 +1,15 @@
|
||||
http:
|
||||
routers:
|
||||
drysense:
|
||||
rule: "Host(`drysense.eluxnetworks.net`)"
|
||||
entryPoints:
|
||||
- "websecure"
|
||||
service: "drysense-svc"
|
||||
tls:
|
||||
certresolver: "letsencrypt"
|
||||
|
||||
services:
|
||||
drysense-svc:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://host.docker.internal:3012"
|
||||
@ -7,6 +7,15 @@ http:
|
||||
#tls:
|
||||
#certresolver: "letsencrypt"
|
||||
#priority: 100
|
||||
|
||||
# ERPNext configuration
|
||||
erpnext:
|
||||
rule: "Host(`erpnext.eluxnetworks.net`)"
|
||||
service: "erpnext-service"
|
||||
entrypoints: ["websecure"]
|
||||
tls:
|
||||
certresolver: "letsencrypt"
|
||||
|
||||
openfaas-gateway:
|
||||
rule: "Host(`faasd.eluxnetworks.net`)"
|
||||
service: "openfaas-gateway-service"
|
||||
@ -25,6 +34,13 @@ http:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.68.70:8082/function/well-api"
|
||||
|
||||
# ERPNext service
|
||||
erpnext-service:
|
||||
loadBalancer:
|
||||
servers:
|
||||
- url: "http://192.168.68.70:8090"
|
||||
|
||||
redis-commander:
|
||||
loadBalancer:
|
||||
servers:
|
||||
|
||||