From 04035249921b63d90e824c5d19ab042bfd639a67 Mon Sep 17 00:00:00 2001 From: mr-forust Date: Tue, 11 Nov 2025 01:32:14 +0100 Subject: [PATCH] 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. --- ...ompose.yaml => dockmon-docker-compose.yaml | 12 +++---- ...ose.yaml => edu_master-docker-compose.yaml | 36 ++++++++----------- glance-docker-compose.yml | 27 ++++++++++++++ glance/docker-compose.yml | 27 -------------- ...-compose.yaml => homer-docker-compose.yaml | 2 +- ...ompose.yaml => traefik-docker-compose.yaml | 18 +++++----- 6 files changed, 57 insertions(+), 65 deletions(-) rename dockmon/docker-compose.yaml => dockmon-docker-compose.yaml (55%) rename edu_master/docker-compose.yaml => edu_master-docker-compose.yaml (89%) create mode 100644 glance-docker-compose.yml delete mode 100644 glance/docker-compose.yml rename homer/docker-compose.yaml => homer-docker-compose.yaml (81%) rename traefik/docker-compose.yaml => traefik-docker-compose.yaml (61%) diff --git a/dockmon/docker-compose.yaml b/dockmon-docker-compose.yaml similarity index 55% rename from dockmon/docker-compose.yaml rename to dockmon-docker-compose.yaml index aaf08cf..046faf3 100644 --- a/dockmon/docker-compose.yaml +++ b/dockmon-docker-compose.yaml @@ -8,7 +8,7 @@ services: environment: - TZ=Europe/Bratislava volumes: - - ./dockmon_data:/app/data + - ./dockmon/dockmon_data:/app/data - /var/run/docker.sock:/var/run/docker.sock healthcheck: test: ["CMD", "curl", "-k", "-f", "https://localhost:443/health"] @@ -19,12 +19,12 @@ services: - traefik-proxy labels: - "traefik.enable=true" - - "traefik.http.routers.dockmon.rule=Host(`dockmon.workstation`)" - - "traefik.http.routers.dockmon.entrypoints=websecure" - - "traefik.http.services.dockmon.loadbalancer.server.port=443" - - "traefik.http.services.dockmon.loadbalancer.server.scheme=https" + - "traefik.http.routers.${DOCKMON_APPNAME:-dockmon}.rule=Host(`${DOCKMON_SUBDOMEN:-}.${HOST:-workstation}`)" + - "traefik.http.routers.${DOCKMON_APPNAME:-dockmon}.entrypoints=websecure" + - "traefik.http.services.${DOCKMON_APPNAME:-dockmon}.loadbalancer.server.port=443" + - "traefik.http.services.${DOCKMON_APPNAME:-dockmon}.loadbalancer.server.scheme=https" - "traefik.docker.network=traefik-proxy" - - "traefik.http.routers.dockmon.tls.certresolver=le" + - "traefik.http.routers.${DOCKMON_APPNAME:-dockmon}.tls.certresolver=le" networks: traefik-proxy: diff --git a/edu_master/docker-compose.yaml b/edu_master-docker-compose.yaml similarity index 89% rename from edu_master/docker-compose.yaml rename to edu_master-docker-compose.yaml index 784f26d..c2b940f 100644 --- a/edu_master/docker-compose.yaml +++ b/edu_master-docker-compose.yaml @@ -99,8 +99,8 @@ services: nginx: image: nginx:alpine volumes: - - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf.template - - ./nginx/entrypoint.sh:/entrypoint.sh + - ./edu_master/nginx/nginx.conf:/etc/nginx/conf.d/default.conf.template + - ./edu_master/nginx/entrypoint.sh:/entrypoint.sh environment: - MINIO_PRIVATE_BUCKET=${MINIO_PRIVATE_BUCKET:-private} - MINIO_PUBLIC_BUCKET=${MINIO_PUBLIC_BUCKET:-public} @@ -115,11 +115,11 @@ services: - default labels: - "traefik.enable=true" - - "traefik.http.routers.watercrawl.rule=Host(`watercrawl.workstation`)" - - "traefik.http.routers.watercrawl.entrypoints=websecure" - - "traefik.http.services.watercrawl.loadbalancer.server.port=80" + - "traefik.http.routers.${WATERCRAWL_APPNAME:-watercrawl}.rule=Host(`${WATERCRAWL_SUBDOMEN:-watercrawl}.${HOST:-workstation}`)" + - "traefik.http.routers.${WATERCRAWL_APPNAME:-watercrawl}.entrypoints=websecure" + - "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.http.routers.watercrawl.tls.certresolver=le" app: <<: *app @@ -144,7 +144,7 @@ services: image: minio/minio:RELEASE.2024-11-07T00-52-20Z restart: unless-stopped volumes: - - ./volumes/minio-data:/data + - ./edu_master/volumes/minio-data:/data command: server /data --console-address ":9001" environment: - MINIO_BROWSER_REDIRECT_URL=${MINIO_BROWSER_REDIRECT_URL:-http://localhost/minio-console/} @@ -175,7 +175,7 @@ services: - POSTGRES_USER=${POSTGRES_USER:-postgres} - POSTGRES_DB=${POSTGRES_DB:-postgres} volumes: - - ./volumes/postgres-db:/var/lib/postgresql/data + - ./edu_master/volumes/postgres-db:/var/lib/postgresql/data healthcheck: test: [ "CMD-SHELL", "pg_isready" ] interval: 10s @@ -195,7 +195,7 @@ services: image: ollama/ollama:latest restart: unless-stopped volumes: - - ./volumes/ollama-models:/root/.ollama + - ./edu_master/volumes/ollama-models:/root/.ollama environment: - OLLAMA_DISABLE_TELEMETRY=true - OLLAMA_KEEP_ALIVE=5m @@ -220,7 +220,7 @@ services: - N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true volumes: - n8n_data:/home/node/.n8n - - ./n8n/local-files:/files + - ./edu_master/n8n/local-files:/files extra_hosts: - "enterprise.n8n.io:104.26.13.187" - "enterprise.n8n.io:104.26.12.187" @@ -233,11 +233,11 @@ services: - default labels: - "traefik.enable=true" - - "traefik.http.routers.n8n.rule=Host(`n8n.workstation`)" - - "traefik.http.routers.n8n.entrypoints=websecure" - - "traefik.http.services.n8n.loadbalancer.server.port=5678" + - "traefik.http.routers.${N8N_APPNAME:-n8n}.rule=Host(`${N8N_SUBDOMEN:-n8n}.${HOST:-workstation}`)" + - "traefik.http.routers.${N8N_APPNAME:-n8n}..entrypoints=websecure" + - "traefik.http.services.${WATERCRAWL_APPNAME:-watercrawl}.loadbalancer.server.port=5678" - "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 mistral:7b-q4 @@ -268,14 +268,6 @@ services: timeout: 10s retries: 3 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: build: diff --git a/glance-docker-compose.yml b/glance-docker-compose.yml new file mode 100644 index 0000000..de3eff9 --- /dev/null +++ b/glance-docker-compose.yml @@ -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 \ No newline at end of file diff --git a/glance/docker-compose.yml b/glance/docker-compose.yml deleted file mode 100644 index a252399..0000000 --- a/glance/docker-compose.yml +++ /dev/null @@ -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 \ No newline at end of file diff --git a/homer/docker-compose.yaml b/homer-docker-compose.yaml similarity index 81% rename from homer/docker-compose.yaml rename to homer-docker-compose.yaml index d51126a..5b2b705 100644 --- a/homer/docker-compose.yaml +++ b/homer-docker-compose.yaml @@ -3,7 +3,7 @@ services: image: b4bz/homer container_name: homer volumes: - - ./config:/www/assets # Make sure your local config directory exists + - ./homer/config:/www/assets # Make sure your local config directory exists ports: - 8090:8080 # - 8080:8080 diff --git a/traefik/docker-compose.yaml b/traefik-docker-compose.yaml similarity index 61% rename from traefik/docker-compose.yaml rename to traefik-docker-compose.yaml index fcb174e..6d9385c 100644 --- a/traefik/docker-compose.yaml +++ b/traefik-docker-compose.yaml @@ -16,25 +16,25 @@ services: - "--entryPoints.web.http.redirections.entryPoint.scheme=https" - --serversTransport.insecureSkipVerify=true # 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.httpchallenge.entrypoint=web" labels: - "traefik.enable=true" - - "traefik.http.routers.traefik.rule=Host(`traefik.workstation`)" - - "traefik.http.routers.traefik.entrypoints=websecure" - - "traefik.http.routers.traefik.service=api@internal" - - "traefik.http.routers.traefik.tls=true" - - "traefik.http.routers.traefik.tls.certresolver=le" + - "traefik.http.routers.${DASHBOARD_APPNAME:-traefik}.rule=Host(`${DASHBOARD_SUBDOMEN:-traefik}.${HOST:-workstation}`)" + - "traefik.http.routers.${DASHBOARD_APPNAME:-traefik}.entrypoints=websecure" + - "traefik.http.routers.${DASHBOARD_APPNAME:-traefik}.service=api@internal" + - "traefik.http.routers.${DASHBOARD_APPNAME:-traefik}.tls=true" + - "traefik.http.routers.${DASHBOARD_APPNAME:-traefik}.tls.certresolver=le" ports: - "80:80" - "443:443" - "8080:8080" volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - - ./certs:/certs:ro - - ./dynamic:/etc/traefik/dynamic:ro - - ./letsencrypt:/letsencrypt + - ./traefik/certs:/certs:ro + - ./traefik/dynamic:/etc/traefik/dynamic:ro + - ./traefik/letsencrypt:/letsencrypt networks: - traefik-proxy networks: