Private
Public Access
1
0
Files
Purrse/docker-compose.yml
T
Catherine Renelle 8b57aee672 Set ASPNETCORE_ENVIRONMENT to Development in docker-compose and pass through encryption key
The Docker container defaults to Production when no environment is set,
which triggers the new startup secret validation. Default to Development
for docker-compose (local dev) and expose BANKSYNC_ENCRYPTION_KEY env var
so production deployments can override it.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 13:36:40 -05:00

65 lines
1.8 KiB
YAML

services:
db:
image: postgres:17-alpine
container_name: purrse-db
environment:
POSTGRES_DB: purrse
POSTGRES_USER: purrse
POSTGRES_PASSWORD: ${DB_PASSWORD:-purrse_dev}
ports:
- "5433:5432"
volumes:
- purrse-db-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U purrse"]
interval: 5s
timeout: 5s
retries: 5
api:
build:
context: .
dockerfile: src/Purrse.Api/Dockerfile
container_name: purrse-api
environment:
- ASPNETCORE_ENVIRONMENT=${ASPNETCORE_ENVIRONMENT:-Development}
- ConnectionStrings__DefaultConnection=Host=db;Port=5432;Database=purrse;Username=purrse;Password=${DB_PASSWORD:-purrse_dev};Ssl Mode=Prefer;Trust Server Certificate=true
- Jwt__Key=${JWT_KEY:-PurrseDefaultSecretKey_ChangeInProduction_AtLeast32Chars!}
- Jwt__Issuer=Purrse
- Jwt__Audience=Purrse
- BankSync__EncryptionKey=${BANKSYNC_ENCRYPTION_KEY:-CHANGE_ME_32_CHAR_KEY_FOR_AES256!}
- Cors__Origins__0=http://localhost:9080
- Plugins__Path=/app/plugins
- Imports__WatchPath=/app/imports
ports:
- "5000:8080"
volumes:
- purrse-plugins:/app/plugins
- purrse-imports:/app/imports
depends_on:
db:
condition: service_healthy
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
container_name: purrse-frontend
ports:
- "9080:80"
depends_on:
- api
docker-cleanup:
image: docker:cli
container_name: purrse-docker-cleanup
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
entrypoint: ["/bin/sh", "-c", "while true; do sleep 86400; docker image prune -f; done"]
volumes:
purrse-db-data:
purrse-plugins:
purrse-imports: