version: "3.8" services: # ------------------- # Nginx Proxy Manager # ------------------- proxy-manager: image: 'jc21/nginx-proxy-manager:latest' container_name: proxy-manager ports: - '80:80' # Public HTTP - '443:443' # Public HTTPS - '81:81' # Admin Web UI environment: DISABLE_IPV6: 'true' volumes: - /opt/proxy-manager/data:/data - /opt/proxy-manager/letsencrypt:/etc/letsencrypt restart: unless-stopped # ------------------- # Keycloak DB # ------------------- keycloak-db: image: postgres:16 container_name: keycloak-db environment: POSTGRES_DB: keycloak POSTGRES_USER: keycloak POSTGRES_PASSWORD: Str0ng-Keycloak-DB-Pass TZ: Europe/Zurich volumes: - /opt/keycloak/db:/var/lib/postgresql/data restart: unless-stopped # ------------------- # Keycloak Server # ------------------- keycloak: image: quay.io/keycloak/keycloak:21.1.1 container_name: keycloak environment: KC_DB: postgres KC_DB_URL_HOST: keycloak-db KC_DB_URL_DATABASE: keycloak KC_DB_USERNAME: keycloak KC_DB_PASSWORD: Str0ng-Keycloak-DB-Pass KC_HOSTNAME: auth.busybox.ch # Anpassung an Domain KC_PROXY: edge KEYCLOAK_ADMIN: admin KEYCLOAK_ADMIN_PASSWORD: 'KeycloakAdmin123!' TZ: Europe/Zurich command: start-dev ports: - "9090:8080" depends_on: - keycloak-db restart: unless-stopped # ------------------- # n8n # ------------------- n8n: image: n8nio/n8n:latest container_name: n8n ports: - "5678:5678" # Lokal environment: - GENERIC_TIMEZONE=Europe/Zurich - TZ=Europe/Zurich - PUID=1000 - PGID=1000 - N8N_HOST=workflow.busybox.ch - N8N_PORT=5678 - N8N_PROTOCOL=https - WEBHOOK_URL=https://workflow.busybox.ch/ volumes: - /opt/n8n/data:/home/node/.n8n - /opt/n8n/logs:/opt/n8n-logs - /var/run/docker.sock:/var/run/docker.sock # Docker-Socket mounten restart: unless-stopped