# Docker Compose für Production Server mit Traefik services: tabletten-app: image: docker.citysensor.de/tabletten:latest container_name: tabletten restart: unless-stopped environment: - NODE_ENV=production - DB_HOST=${DB_HOST} - DB_USER=${DB_USER} - DB_PASS=${DB_PASS} - DB_NAME=${DB_NAME} - AUTH_USERS=${AUTH_USERS} - AUTH_SECRET=${AUTH_SECRET} # Passkeys (WebAuthn): Host bzw. volle URL der Anwendung. # Eigene Variablennamen, weil sich mehrere Apps im Stack eine .env teilen # und RP_ID/RP_ORIGIN dort bereits von werte-next belegt sind. - RP_ID=${TABLETTEN_RP_ID:-tabletten.fuerst-stuttgart.de} - RP_ORIGIN=${TABLETTEN_RP_ORIGIN:-https://tabletten.fuerst-stuttgart.de} - RP_NAME=${TABLETTEN_RP_NAME:-Tabletten-Check} labels: - traefik.enable=true - traefik.http.routers.tabletten.entrypoints=http - traefik.http.routers.tabletten.rule=Host(`tabletten.fuerst-stuttgart.de`) - traefik.http.middlewares.tabletten-https-redirect.redirectscheme.scheme=https - traefik.http.routers.tabletten.middlewares=tabletten-https-redirect - traefik.http.routers.tabletten-secure.entrypoints=https - traefik.http.routers.tabletten-secure.rule=Host(`tabletten.fuerst-stuttgart.de`) - traefik.http.routers.tabletten-secure.tls=true - traefik.http.routers.tabletten-secure.tls.certresolver=letsencrypt - traefik.http.routers.tabletten-secure.service=tabletten - traefik.http.services.tabletten.loadbalancer.server.port=3000 networks: - proxy - gitea-internal networks: proxy: name: dockge_default external: true gitea-internal: name: gitea_gitea-internal external: true