8b57aee672
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>
65 lines
1.8 KiB
YAML
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:
|