name: stack services: postgres: image: postgres:16 restart: always environment: POSTGRES_USER: n8n POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: n8n volumes: - postgres_data:/var/lib/postgresql/data n8n: image: docker.n8n.io/n8nio/n8n restart: always depends_on: - postgres environment: - DB_TYPE=postgresdb - DB_POSTGRESDB_HOST=postgres - DB_POSTGRESDB_USER=n8n - DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD} - DB_POSTGRESDB_DATABASE=n8n - N8N_HOST=${DOMAIN} - N8N_PROTOCOL=https - WEBHOOK_URL=https://${DOMAIN}/ - N8N_PROXY_HOPS=1 - N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY} - GENERIC_TIMEZONE=Europe/Berlin - TZ=Europe/Berlin volumes: - n8n_data:/home/node/.n8n forgejo: image: codeberg.org/forgejo/forgejo:11 restart: always environment: - USER_UID=1000 - USER_GID=1000 - FORGEJO__database__DB_TYPE=sqlite3 - FORGEJO__server__DOMAIN=git.since3.de - FORGEJO__server__ROOT_URL=https://git.since3.de/ - FORGEJO__server__DISABLE_SSH=true - FORGEJO__security__INSTALL_LOCK=true - FORGEJO__service__DISABLE_REGISTRATION=true volumes: - forgejo_data:/data uptime-kuma: image: louislam/uptime-kuma:2 restart: always volumes: - kuma_data:/app/data umami-db: image: postgres:16 restart: always environment: POSTGRES_USER: umami POSTGRES_PASSWORD: ${UMAMI_DB_PASSWORD} POSTGRES_DB: umami volumes: - umami_db_data:/var/lib/postgresql/data umami: image: ghcr.io/umami-software/umami:postgresql-latest restart: always depends_on: - umami-db environment: DATABASE_URL: postgresql://umami:${UMAMI_DB_PASSWORD}@umami-db:5432/umami APP_SECRET: ${UMAMI_APP_SECRET} caddy: image: caddy:2 restart: always depends_on: - n8n - forgejo - uptime-kuma - umami ports: - "80:80" - "443:443" volumes: - ./Caddyfile:/etc/caddy/Caddyfile - caddy_data:/data volumes: postgres_data: n8n_data: forgejo_data: kuma_data: umami_db_data: caddy_data: