services: audiomuse-ai: image: ghcr.io/neptunehub/audiomuse-ai:latest container_name: audiomuse-ai restart: unless-stopped networks: - networking ports: - ${WEBUI_PORT_AUDIOMUSE:-8005}:8000 environment: SERVICE_TYPE: "flask" TZ: ${TIMEZONE:?err} POSTGRES_USER: ${POSTGRESQL_USERNAME:?err} POSTGRES_PASSWORD: ${POSTGRESQL_PASSWORD:?err} POSTGRES_DB: audiomusedb POSTGRES_HOST: postgresql POSTGRES_PORT: "5432" REDIS_URL: redis://valkey:6379/0 TEMP_DIR: /app/temp_audio FRONTEND_PORT: "8000" volumes: - ${FOLDER_FOR_MEDIA:?err}:/library - ${FOLDER_FOR_MORE:?err}:/more - temp-audio-flask:/app/temp_audio labels: - traefik.enable=true - traefik.http.routers.audiomuse.service=audiomuse - traefik.http.routers.audiomuse.rule=Host(`audiomuse.${CLOUDFLARE_DNS_ZONE:?err}`) - traefik.http.routers.audiomuse.entrypoints=tunnel,web,secureweb - traefik.http.routers.audiomuse.middlewares=authentik-forwardauth@file,security-headers@file - traefik.http.services.audiomuse.loadbalancer.server.port=8000 - traefik.http.services.audiomuse.loadbalancer.server.port=8000 audiomuse-worker: image: ghcr.io/neptunehub/audiomuse-ai:latest container_name: audiomuse-worker restart: unless-stopped networks: - networking environment: SERVICE_TYPE: "worker" TZ: ${TIMEZONE:?err} POSTGRES_USER: ${POSTGRESQL_USERNAME:?err} POSTGRES_PASSWORD: ${POSTGRESQL_PASSWORD:?err} POSTGRES_DB: audiomusedb POSTGRES_HOST: postgresql POSTGRES_PORT: "5432" REDIS_URL: redis://valkey:6379/0 TEMP_DIR: /app/temp_audio volumes: - ${FOLDER_FOR_MEDIA:?err}:/library - ${FOLDER_FOR_MORE:?err}:/more - temp-audio-worker:/app/temp_audio volumes: temp-audio-flask: temp-audio-worker: