services: postgres: image: postgres:17-alpine environment: POSTGRES_DB: sourcehub POSTGRES_USER: sourcehub POSTGRES_PASSWORD: change-me-now volumes: - sourcehub_pg:/var/lib/postgresql/data restart: unless-stopped minio: image: minio/minio:latest command: server /data --console-address ":9001" environment: MINIO_ROOT_USER: change-me-now MINIO_ROOT_PASSWORD: change-me-long-secret-now volumes: - sourcehub_minio:/data restart: unless-stopped clamav: image: clamav/clamav:stable restart: unless-stopped sourcehub: build: . ports: - "8000:8000" depends_on: - postgres - minio - clamav environment: SOURCEHUB_DATABASE_URL: postgresql+psycopg://sourcehub:change-me-now@postgres:5432/sourcehub SOURCEHUB_STORAGE_BACKEND: minio SOURCEHUB_MINIO_ENDPOINT: minio:9000 SOURCEHUB_MINIO_ACCESS_KEY: change-me-now SOURCEHUB_MINIO_SECRET_KEY: change-me-long-secret-now SOURCEHUB_MINIO_BUCKET: nexpa-sourcehub SOURCEHUB_MINIO_SECURE: "false" SOURCEHUB_MALWARE_SCAN: clamd SOURCEHUB_CLAMD_HOST: clamav SOURCEHUB_CLAMD_PORT: "3310" SOURCEHUB_AUTH_MODE: mock SOURCEHUB_SESSION_SECRET: change-this-before-production SOURCEHUB_DOWNLOAD_SECRET: change-this-too-before-production SOURCEHUB_ALLOWED_HOSTS: localhost,127.0.0.1,sourcehub.nexpa-ai.com restart: unless-stopped volumes: sourcehub_pg: sourcehub_minio: