Dokploy builds failed with "failed to stat /root/.npmrc": the compose build
secret pointed at ${HOME}/.npmrc, which only exists on a developer machine.
The token now comes from the NEXUS_TOKEN environment variable (Dokploy's
Environment tab or .env), is written to a temporary npmrc and removed in the
same RUN, so it never lands in an image layer.
Also removes a temporary UI dev-server spec that was committed by mistake,
and documents the variable (.env.example, docs 06/07, Word/PDF export).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
34 lines
1.3 KiB
Plaintext
34 lines
1.3 KiB
Plaintext
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
|
|
|
|
# Docker builds only: token of Pireon's Nexus for @pi/ui (build secret, never stored in an image).
|
|
# Locally: export NEXUS_TOKEN=$(grep '^//nexus.pireon.dev/repository/npm-releases/:_authToken=' ~/.npmrc | cut -d= -f2-)
|
|
NEXUS_TOKEN=
|