services: server: build: context: ./server image: damebooru-server:dev restart: unless-stopped environment: ASPNETCORE_HTTP_PORTS: "${SERVER_PORT:-6666}" TZ: "${TZ:-UTC}" Damebooru__Storage__DatabasePath: /app/data/damebooru.db Damebooru__Storage__ThumbnailPath: /app/data/thumbnails Damebooru__Storage__TempPath: /app/data/temp Damebooru__Auth__Enabled: "${AUTH_ENABLED:-true}" Damebooru__Auth__Username: "${AUTH_USERNAME:-admin}" Damebooru__Proxy__TrustForwardedHeaders: "${TRUST_FORWARDED_HEADERS:-false}" Damebooru__AiTagging__Enabled: "${AI_TAGGING_ENABLED:-false}" Damebooru__AiTagging__BaseUrl: "${AI_TAGGING_BASE_URL:-http://ai-tagging:8000}" Damebooru__ExternalApis__Danbooru__Username: "${DANBOORU_USERNAME:-}" Damebooru__ExternalApis__Gelbooru__UserId: "${GELBOORU_USER_ID:-}" Damebooru__ExternalApis__Iqdb__BaseUrl: "${IQDB_BASE_URL:-https://iqdb.org}" secrets: - source: auth_password target: Damebooru__Auth__Password - source: saucenao_api_key target: Damebooru__ExternalApis__SauceNao__ApiKey - source: danbooru_api_key target: Damebooru__ExternalApis__Danbooru__ApiKey - source: gelbooru_api_key target: Damebooru__ExternalApis__Gelbooru__ApiKey volumes: - ./data/server:/app/data - ${MEDIA_PATH:-./media}:/media client: build: context: ./client image: damebooru-client:dev restart: unless-stopped depends_on: - server environment: BACKEND_HOST: server BACKEND_PORT: "${SERVER_PORT:-6666}" ports: - "${CLIENT_PORT:-8080}:80" ai-tagging: build: context: ./ai-tagging image: damebooru-ai-tagging:dev restart: unless-stopped profiles: - ai volumes: - ./data/ai-tagging/models:/models secrets: auth_password: file: ./secrets/auth_password.txt saucenao_api_key: file: ./secrets/saucenao_api_key.txt danbooru_api_key: file: ./secrets/danbooru_api_key.txt gelbooru_api_key: file: ./secrets/gelbooru_api_key.txt