# Development configuration for deploy/compose.yml + compose.dev.yml. # Copy to deploy/.env and adjust. # # cp deploy/.env.example deploy/.env # # Requires ../../../Infrastructure running first (Postgres, Zitadel, # SeaweedFS, RabbitMQ, Jaeger). See ../../../Infrastructure/README.md. # Musify has its own credentials on every shared service (role, vhost, S3 # identity, Zitadel service account), provisioned by Infrastructure. Every # value marked "= Infrastructure's MUSIFY_*" below has to be the same as that # setting in Infrastructure's .env. DOTNET_ENVIRONMENT=Development # --- Public URLs ------------------------------------------------------------- # How each service is reached from *outside* Docker. `host.docker.internal` # resolves to the same address from the browser, from apps running on the # host and from inside the containers, which is what makes the OIDC issuer # and the presigned S3 URLs valid in both run modes. PUBLIC_WEB_URL=http://localhost:3000 PUBLIC_API_URL=http://localhost:5111 PUBLIC_STREAM_URL=http://localhost:8081 PUBLIC_AUTH_URL=http://host.docker.internal:8080 # --- PostgreSQL (Infrastructure's shared instance, Musify's own database) --- # Musify's own role, owner of musify_db only. POSTGRES_HOST=host.docker.internal POSTGRES_USER=musify # = Infrastructure's MUSIFY_DB_PASSWORD POSTGRES_PASSWORD=musify POSTGRES_DB=musify_db # --- Zitadel (OIDC, shared instance) ----------------------------------------- # Folder with Musify's own Zitadel PAT (a service account that owns the # Musify project only), written by Infrastructure's `provision`. Adjust if # your Infrastructure checkout lives somewhere else relative to this one. ZITADEL_PAT_DIR=../../../Infrastructure/zitadel/.output/musify # Allows the OIDC apps this project creates to use plain-http redirect URIs # (dev only). ZITADEL_DEV_MODE=true # OIDC clients: the zitadel-init one-shot service (see compose.yml) fills # these in automatically on `docker compose up -d`. AUTH_CLIENT_ID= WEB_CLIENT_ID= WEB_CLIENT_SECRET= # --- RabbitMQ (shared instance, MassTransit) -------------------------------- # Musify's own user, only on its own vhost. RABBITMQ_HOST=host.docker.internal RABBITMQ_VHOST=musify RABBITMQ_USER=musify # = Infrastructure's MUSIFY_RABBITMQ_PASSWORD RABBITMQ_PASSWORD=musify # --- SeaweedFS (S3, shared instance, Musify's own bucket) -------------------- # Musify's own identity, limited to S3_BUCKET. SEAWEEDFS_HOST=host.docker.internal # = Infrastructure's MUSIFY_S3_ACCESS_KEY / MUSIFY_S3_SECRET_KEY S3_ACCESS_KEY=musify_access_key S3_SECRET_KEY=musify_secret_key S3_BUCKET=webapi-storage S3_PUBLIC_URL=http://host.docker.internal:8333 S3_INTERNAL_URL=http://host.docker.internal:8333 S3_USE_HTTP=true # --- Jaeger (shared instance, tracing) --------------------------------------- JAEGER_HOST=host.docker.internal # --- Web player -------------------------------------------------------------- # Key material for the encrypted session cookie: any long random string. SESSION_SECRET=dev-session-secret-change-me-0123456789abcdef # Allows the plain-HTTP Zitadel issuer in a production Node build (dev only). AUTH_ALLOW_INSECURE_HTTP=true # --- Misc -------------------------------------------------------------------- AUTH_REQUIRE_HTTPS=false