Remove deprecated Docker Compose files and configurations for various services including edu_master, glance, homer, and traefik. Introduce new Docker Compose files for dockmon, glance, homer, and traefik with updated configurations and environment variables. Ensure all services are integrated with Traefik for routing and TLS management.

This commit is contained in:
2025-11-11 01:32:14 +01:00
parent 32aac89fdf
commit 0403524992
6 changed files with 57 additions and 65 deletions
@@ -8,7 +8,7 @@ services:
environment: environment:
- TZ=Europe/Bratislava - TZ=Europe/Bratislava
volumes: volumes:
- ./dockmon_data:/app/data - ./dockmon/dockmon_data:/app/data
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
healthcheck: healthcheck:
test: ["CMD", "curl", "-k", "-f", "https://localhost:443/health"] test: ["CMD", "curl", "-k", "-f", "https://localhost:443/health"]
@@ -19,12 +19,12 @@ services:
- traefik-proxy - traefik-proxy
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.dockmon.rule=Host(`dockmon.workstation`)" - "traefik.http.routers.${DOCKMON_APPNAME:-dockmon}.rule=Host(`${DOCKMON_SUBDOMEN:-}.${HOST:-workstation}`)"
- "traefik.http.routers.dockmon.entrypoints=websecure" - "traefik.http.routers.${DOCKMON_APPNAME:-dockmon}.entrypoints=websecure"
- "traefik.http.services.dockmon.loadbalancer.server.port=443" - "traefik.http.services.${DOCKMON_APPNAME:-dockmon}.loadbalancer.server.port=443"
- "traefik.http.services.dockmon.loadbalancer.server.scheme=https" - "traefik.http.services.${DOCKMON_APPNAME:-dockmon}.loadbalancer.server.scheme=https"
- "traefik.docker.network=traefik-proxy" - "traefik.docker.network=traefik-proxy"
- "traefik.http.routers.dockmon.tls.certresolver=le" - "traefik.http.routers.${DOCKMON_APPNAME:-dockmon}.tls.certresolver=le"
networks: networks:
traefik-proxy: traefik-proxy:
@@ -99,8 +99,8 @@ services:
nginx: nginx:
image: nginx:alpine image: nginx:alpine
volumes: volumes:
- ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf.template - ./edu_master/nginx/nginx.conf:/etc/nginx/conf.d/default.conf.template
- ./nginx/entrypoint.sh:/entrypoint.sh - ./edu_master/nginx/entrypoint.sh:/entrypoint.sh
environment: environment:
- MINIO_PRIVATE_BUCKET=${MINIO_PRIVATE_BUCKET:-private} - MINIO_PRIVATE_BUCKET=${MINIO_PRIVATE_BUCKET:-private}
- MINIO_PUBLIC_BUCKET=${MINIO_PUBLIC_BUCKET:-public} - MINIO_PUBLIC_BUCKET=${MINIO_PUBLIC_BUCKET:-public}
@@ -115,11 +115,11 @@ services:
- default - default
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.watercrawl.rule=Host(`watercrawl.workstation`)" - "traefik.http.routers.${WATERCRAWL_APPNAME:-watercrawl}.rule=Host(`${WATERCRAWL_SUBDOMEN:-watercrawl}.${HOST:-workstation}`)"
- "traefik.http.routers.watercrawl.entrypoints=websecure" - "traefik.http.routers.${WATERCRAWL_APPNAME:-watercrawl}.entrypoints=websecure"
- "traefik.http.services.watercrawl.loadbalancer.server.port=80" - "traefik.http.routers.${WATERCRAWL_APPNAME:-watercrawl}.tls.certresolver=le"
- "traefik.http.services.${WATERCRAWL_APPNAME:-watercrawl}.loadbalancer.server.port=80"
- "traefik.docker.network=traefik-proxy" - "traefik.docker.network=traefik-proxy"
- "traefik.http.routers.watercrawl.tls.certresolver=le"
app: app:
<<: *app <<: *app
@@ -144,7 +144,7 @@ services:
image: minio/minio:RELEASE.2024-11-07T00-52-20Z image: minio/minio:RELEASE.2024-11-07T00-52-20Z
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- ./volumes/minio-data:/data - ./edu_master/volumes/minio-data:/data
command: server /data --console-address ":9001" command: server /data --console-address ":9001"
environment: environment:
- MINIO_BROWSER_REDIRECT_URL=${MINIO_BROWSER_REDIRECT_URL:-http://localhost/minio-console/} - MINIO_BROWSER_REDIRECT_URL=${MINIO_BROWSER_REDIRECT_URL:-http://localhost/minio-console/}
@@ -175,7 +175,7 @@ services:
- POSTGRES_USER=${POSTGRES_USER:-postgres} - POSTGRES_USER=${POSTGRES_USER:-postgres}
- POSTGRES_DB=${POSTGRES_DB:-postgres} - POSTGRES_DB=${POSTGRES_DB:-postgres}
volumes: volumes:
- ./volumes/postgres-db:/var/lib/postgresql/data - ./edu_master/volumes/postgres-db:/var/lib/postgresql/data
healthcheck: healthcheck:
test: [ "CMD-SHELL", "pg_isready" ] test: [ "CMD-SHELL", "pg_isready" ]
interval: 10s interval: 10s
@@ -195,7 +195,7 @@ services:
image: ollama/ollama:latest image: ollama/ollama:latest
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- ./volumes/ollama-models:/root/.ollama - ./edu_master/volumes/ollama-models:/root/.ollama
environment: environment:
- OLLAMA_DISABLE_TELEMETRY=true - OLLAMA_DISABLE_TELEMETRY=true
- OLLAMA_KEEP_ALIVE=5m - OLLAMA_KEEP_ALIVE=5m
@@ -220,7 +220,7 @@ services:
- N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true - N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
volumes: volumes:
- n8n_data:/home/node/.n8n - n8n_data:/home/node/.n8n
- ./n8n/local-files:/files - ./edu_master/n8n/local-files:/files
extra_hosts: extra_hosts:
- "enterprise.n8n.io:104.26.13.187" - "enterprise.n8n.io:104.26.13.187"
- "enterprise.n8n.io:104.26.12.187" - "enterprise.n8n.io:104.26.12.187"
@@ -233,11 +233,11 @@ services:
- default - default
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.n8n.rule=Host(`n8n.workstation`)" - "traefik.http.routers.${N8N_APPNAME:-n8n}.rule=Host(`${N8N_SUBDOMEN:-n8n}.${HOST:-workstation}`)"
- "traefik.http.routers.n8n.entrypoints=websecure" - "traefik.http.routers.${N8N_APPNAME:-n8n}..entrypoints=websecure"
- "traefik.http.services.n8n.loadbalancer.server.port=5678" - "traefik.http.services.${WATERCRAWL_APPNAME:-watercrawl}.loadbalancer.server.port=5678"
- "traefik.docker.network=traefik-proxy" - "traefik.docker.network=traefik-proxy"
- "traefik.http.routers.n8n.tls.certresolver=le" - "traefik.http.routers.${WATERCRAWL_APPNAME:-watercrawl}.tls.certresolver=le"
# docker exec -it edu_master-llm-1 ollama pull neural-chat:7b-q4 # docker exec -it edu_master-llm-1 ollama pull neural-chat:7b-q4
# docker exec -it edu_master-llm-1 ollama pull mistral:7b-q4 # docker exec -it edu_master-llm-1 ollama pull mistral:7b-q4
@@ -268,14 +268,6 @@ services:
timeout: 10s timeout: 10s
retries: 3 retries: 3
start_period: 10s start_period: 10s
# webinar-notif-worker:
# image: python:3.11-slim
# restart: on-failure
# volumes:
# - ./webinar_notif:/app/webinar_notif:ro
# working_dir: /app/webinar_notif
# command: ["/bin/sh", "-c", "pip install --no-cache-dir -r requirements.txt 2>/dev/null || true; python -u main.py"]
phpsessid-bot: phpsessid-bot:
build: build:
+27
View File
@@ -0,0 +1,27 @@
services:
glance:
container_name: glance
image: glanceapp/glance
restart: unless-stopped
volumes:
- ./glance/config:/app/config
- ./glance/assets:/app/assets
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
env_file: .env
labels:
- "traefik.enable=true"
- "traefik.http.routers.${GLANCE_APPNAME:-glance}.rule=Host(`${GLANCE_SUBDOMEN:-glance}.${HOST:-workstation}`)"
- "traefik.http.routers.${GLANCE_APPNAME:-glance}.entrypoints=websecure"
- "traefik.http.routers.${GLANCE_APPNAME:-glance}.tls=true"
- "traefik.http.routers.${GLANCE_APPNAME:-glance}.tls.certresolver=le"
- "traefik.http.services.${GLANCE_APPNAME:-glance}.loadbalancer.server.port=8080"
networks:
- traefik-proxy
dns:
- 1.1.1.1
- 8.8.8.8
networks:
traefik-proxy:
external: true
-27
View File
@@ -1,27 +0,0 @@
services:
glance:
container_name: glance
image: glanceapp/glance
restart: unless-stopped
volumes:
- ./config:/app/config
- ./assets:/app/assets
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
env_file: .env
labels:
- "traefik.enable=true"
- "traefik.http.routers.glance.rule=Host(`glance.workstation`)"
- "traefik.http.routers.glance.entrypoints=websecure"
- "traefik.http.routers.glance.tls=true"
- "traefik.http.services.glance.loadbalancer.server.port=8080"
- "traefik.http.routers.glance.tls.certresolver=le"
networks:
- traefik-proxy
dns:
- 1.1.1.1
- 8.8.8.8
networks:
traefik-proxy:
external: true
@@ -3,7 +3,7 @@ services:
image: b4bz/homer image: b4bz/homer
container_name: homer container_name: homer
volumes: volumes:
- ./config:/www/assets # Make sure your local config directory exists - ./homer/config:/www/assets # Make sure your local config directory exists
ports: ports:
- 8090:8080 - 8090:8080
# - 8080:8080 # - 8080:8080
@@ -16,25 +16,25 @@ services:
- "--entryPoints.web.http.redirections.entryPoint.scheme=https" - "--entryPoints.web.http.redirections.entryPoint.scheme=https"
- --serversTransport.insecureSkipVerify=true - --serversTransport.insecureSkipVerify=true
# Let's Encrypt configuration # Let's Encrypt configuration
- "--certificatesresolvers.le.acme.email=bobrovod@national.shitposting.agency" - "--certificatesresolvers.le.acme.email=${EMAIL:-bobrovod@national.shitposting.agency}"
- "--certificatesresolvers.le.acme.storage=/letsencrypt/acme.json" - "--certificatesresolvers.le.acme.storage=/letsencrypt/acme.json"
- "--certificatesresolvers.le.acme.httpchallenge.entrypoint=web" - "--certificatesresolvers.le.acme.httpchallenge.entrypoint=web"
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.traefik.rule=Host(`traefik.workstation`)" - "traefik.http.routers.${DASHBOARD_APPNAME:-traefik}.rule=Host(`${DASHBOARD_SUBDOMEN:-traefik}.${HOST:-workstation}`)"
- "traefik.http.routers.traefik.entrypoints=websecure" - "traefik.http.routers.${DASHBOARD_APPNAME:-traefik}.entrypoints=websecure"
- "traefik.http.routers.traefik.service=api@internal" - "traefik.http.routers.${DASHBOARD_APPNAME:-traefik}.service=api@internal"
- "traefik.http.routers.traefik.tls=true" - "traefik.http.routers.${DASHBOARD_APPNAME:-traefik}.tls=true"
- "traefik.http.routers.traefik.tls.certresolver=le" - "traefik.http.routers.${DASHBOARD_APPNAME:-traefik}.tls.certresolver=le"
ports: ports:
- "80:80" - "80:80"
- "443:443" - "443:443"
- "8080:8080" - "8080:8080"
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro - /var/run/docker.sock:/var/run/docker.sock:ro
- ./certs:/certs:ro - ./traefik/certs:/certs:ro
- ./dynamic:/etc/traefik/dynamic:ro - ./traefik/dynamic:/etc/traefik/dynamic:ro
- ./letsencrypt:/letsencrypt - ./traefik/letsencrypt:/letsencrypt
networks: networks:
- traefik-proxy - traefik-proxy
networks: networks: