PORT=3000 # Write model (commands) POSTGRES_URL=postgres://taskstream:taskstream@localhost:5432/taskstream # Creates/updates tables from the entities. Use migrations in production. POSTGRES_SYNCHRONIZE=true # Read model (queries) MONGO_URL=mongodb://localhost:27017/taskstream_read # Event stream (write → read), GraphQL pub/sub and session cache REDIS_URL=redis://localhost:6379 EVENT_STREAM_KEY=task-stream:events # Set to false on API-only instances when the events bridge (projections) runs elsewhere EVENTS_BRIDGE_ENABLED=true # Pireon identity server (https://oauth.pireon.dev/api/documentation) PIREON_BASE_URL=https://oauth.pireon.dev # Secret returned when registering the webhook (POST /api/clients/{client}/webhooks) PIREON_WEBHOOK_SECRET= # OAuth client registered for task-stream (POST /api/clients). Needed by the web app to sign in. # Redirect URI to register: http://localhost:4200/auth/callback PIREON_CLIENT_ID= PIREON_CLIENT_SECRET= PIREON_SCOPES=users:read PIREON_PASSWORD_GRANT=true AUTH_SESSION_TTL_SECONDS=60 GRAPHQL_PLAYGROUND=true