diff --git a/docker-compose.yml b/docker-compose.yml index d7eb928e..c183f375 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -521,6 +521,96 @@ services: source: /rinoa-storage target: /storage type: bind + audiomuse-ai-flask: + container_name: audiomuse-ai-flask + depends_on: + - audiomuse-ai-valkey + - audiomuse-ai-postgres + environment: + AI_MODEL_PROVIDER: OLLAMA + OLLAMA_SERVER_URL: http://ollama:11434/api/generate + SERVICE_TYPE: "flask" + MEDIASERVER_TYPE: "navidrome" + NAVIDROME_URL: http://navidrome:4533/ + NAVIDROME_USER: ${NAVIDROME_USERNAME} + NAVIDROME_PASSWORD: ${NAVIDROME_PASSWORD} + POSTGRES_USER: audiomuse + POSTGRES_PASSWORD: ${AUDIOMUSE_AI_PG_PASSWORD} + POSTGRES_DB: audiomusedb + POSTGRES_HOST: audiomuse-ai-postgres + POSTGRES_PORT: 5432 + REDIS_URL: "redis://audiomuse-ai-valkey:6379/0" + # GEMINI_API_KEY: + TEMP_DIR: "/app/temp_audio" + image: ghcr.io/neptunehub/audiomuse-ai:0.7.1-beta + labels: + homepage.group: Media Library + homepage.name: AudioMuse-AI + homepage.href: https://muse-ai.${MY_TLD} + homepage.description: Platform for hosting and sharing terminal session recordings + swag: enable + swag_port: 8000 + swag_proto: http + swag_url: muse.${MY_TLD} + swag.uptime-kuma.enabled: true + swag.uptime-kuma.monitor.parent: Rinoa + swag.uptime-kuma.name: AudioMuse-AI + swag.uptime-kuma.monitor.url: https://muse-ai.${MY_TLD} + swag.uptime-kuma.monitor.interval: 300 + swag.uptime-kuma.monitor.retryInterval: 60 + swag.uptime-kuma.monitor.maxretries: 5 + ports: + - 36025:8000 + restart: unless-stopped + volumes: + - audiomuse-temp-audio-flask:/app/temp_audio + audiomuse-ai-postgres: + container_name: audiomuse-ai-pg + environment: + POSTGRES_USER: audiomuse + POSTGRES_PASSWORD: ${AUDIOMUSE_AI_PG_PASSWORD} + POSTGRES_DB: audiomusedb + expose: + - 5432 + healthcheck: + test: ["CMD-SHELL", "pg_isready -U audiomuse"] + interval: 2s + timeout: 5s + retries: 10 + image: postgres:15-alpine + restart: unless-stopped + volumes: + - audiomuse-ai-pg-data:/var/lib/postgresql/data + audiomuse-ai-valkey: + container_name: audiomuse-ai-valkey + <<: *valkey-params + volumes: + - audiomuse-ai-valkey-data:/data/valkey + audiomuse-ai-worker: + container_name: audiomuse-ai-worker-instance + depends_on: + - audiomuse-ai-valkey + - audiomuse-ai-postgres + environment: + AI_MODEL_PROVIDER: OLLAMA + OLLAMA_SERVER_URL: http://ollama:11434/api/generate + SERVICE_TYPE: "worker" + MEDIASERVER_TYPE: "navidrome" + NAVIDROME_URL: http://navidrome:4533/ + NAVIDROME_USER: ${NAVIDROME_USERNAME} + NAVIDROME_PASSWORD: ${NAVIDROME_PASSWORD} + POSTGRES_USER: audiomuse + POSTGRES_PASSWORD: ${AUDIOMUSE_AI_PG_PASSWORD} + POSTGRES_DB: audiomusedb + POSTGRES_HOST: audiomuse-ai-postgres + POSTGRES_PORT: 5432 + REDIS_URL: "redis://audiomuse-ai-valkey:6379/0" + # GEMINI_API_KEY: + TEMP_DIR: "/app/temp_audio" + image: ghcr.io/neptunehub/audiomuse-ai:0.7.1-beta + restart: unless-stopped + volumes: + - audiomuse-temp-audio-worker:/app/temp_audio authelia: container_name: authelia depends_on: @@ -7219,6 +7309,14 @@ volumes: name: asciinema-data asciinema-pg-data: name: asciinema-pg-data + audiomuse-ai-pg-data: + name: audiomuse-ai-pg-data + audiomuse-temp-audio-flask: + name: audiomuse-temp-audio-flask + audiomuse-ai-valkey-data: + name: audiomuse-ai-valkey-data + audiomuse-temp-audio-worker: + name: audiomuse-temp-audio-worker authelia-pg-db: name: authelia-pg-db authelia-valkey-data: