feat: upscale service

This commit is contained in:
2025-11-27 12:13:57 +01:00
parent 69869ec3fb
commit 20ba9952a1
2 changed files with 34 additions and 1 deletions

View File

@@ -247,6 +247,38 @@ services:
# Watchtower # Watchtower
- "com.centurylinklabs.watchtower.enable=${WATCHTOWER_LABEL_ENABLE}" - "com.centurylinklabs.watchtower.enable=${WATCHTOWER_LABEL_ENABLE}"
upscale:
image: nginx:alpine
container_name: ${AI_COMPOSE_PROJECT_NAME}_upscale
restart: unless-stopped
environment:
TZ: ${TIMEZONE:-Europe/Berlin}
GPU_SERVICE_HOST: ${GPU_TAILSCALE_HOST}
GPU_SERVICE_PORT: ${UPSCALE_BACKEND_PORT:-8080}
volumes:
- ./nginx.conf.template:/etc/nginx/nginx.conf.template:ro
command: /bin/sh -c "envsubst '$${GPU_SERVICE_HOST},$${GPU_SERVICE_PORT}' < /etc/nginx/nginx.conf.template > /etc/nginx/nginx.conf && exec nginx -g 'daemon off;'"
networks:
- compose_network
labels:
- "traefik.enable=${AI_UPSCALE_TRAEFIK_ENABLED:-true}"
# HTTP to HTTPS redirect
- "traefik.http.middlewares.${AI_COMPOSE_PROJECT_NAME}-upscale-redirect-web-secure.redirectscheme.scheme=https"
- "traefik.http.routers.${AI_COMPOSE_PROJECT_NAME}-upscale-web.middlewares=${AI_COMPOSE_PROJECT_NAME}-upscale-redirect-web-secure"
- "traefik.http.routers.${AI_COMPOSE_PROJECT_NAME}-upscale-web.rule=Host(`${AI_UPSCALE_TRAEFIK_HOST:-upscale.ai.pivoine.art}`)"
- "traefik.http.routers.${AI_COMPOSE_PROJECT_NAME}-upscale-web.entrypoints=web"
# HTTPS router with Authelia SSO
- "traefik.http.routers.${AI_COMPOSE_PROJECT_NAME}-upscale-web-secure.rule=Host(`${AI_UPSCALE_TRAEFIK_HOST:-upscale.ai.pivoine.art}`)"
- "traefik.http.routers.${AI_COMPOSE_PROJECT_NAME}-upscale-web-secure.tls.certresolver=resolver"
- "traefik.http.routers.${AI_COMPOSE_PROJECT_NAME}-upscale-web-secure.entrypoints=web-secure"
- "traefik.http.middlewares.${AI_COMPOSE_PROJECT_NAME}-upscale-web-secure-compress.compress=true"
- "traefik.http.routers.${AI_COMPOSE_PROJECT_NAME}-upscale-web-secure.middlewares=${AI_COMPOSE_PROJECT_NAME}-upscale-web-secure-compress,net-authelia,security-headers@file"
# Service
- "traefik.http.services.${AI_COMPOSE_PROJECT_NAME}-upscale-web-secure.loadbalancer.server.port=80"
- "traefik.docker.network=${NETWORK_NAME}"
# Watchtower
- "com.centurylinklabs.watchtower.enable=${WATCHTOWER_LABEL_ENABLE}"
# Supervisor UI - Modern web interface for RunPod process management # Supervisor UI - Modern web interface for RunPod process management
supervisor: supervisor:
image: dev.pivoine.art/valknar/supervisor-ui:latest image: dev.pivoine.art/valknar/supervisor-ui:latest

View File

@@ -77,6 +77,7 @@ access_control:
- "comfy.ai.pivoine.art" - "comfy.ai.pivoine.art"
- "supervisor.ai.pivoine.art" - "supervisor.ai.pivoine.art"
- "audiocraft.ai.pivoine.art" - "audiocraft.ai.pivoine.art"
- "upscale.ai.pivoine.art"
policy: one_factor policy: one_factor
# session secret set via environment variable: AUTHELIA_SESSION_SECRET # session secret set via environment variable: AUTHELIA_SESSION_SECRET
@@ -84,7 +85,7 @@ session:
name: "authelia_session" name: "authelia_session"
same_site: "lax" same_site: "lax"
expiration: "1h" expiration: "1h"
inactivity: "5m" inactivity: "15m"
remember_me: "1M" remember_me: "1M"
cookies: cookies:
- domain: "pivoine.art" - domain: "pivoine.art"