feat: upscale service
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user