Private
Public Access
1
0
Files
Purrse/docker-compose.yml
T
Catherine Renelle 31e99e72de Add Docker image cleanup container to compose stack
Adds a lightweight docker:cli sidecar that prunes dangling images
every 24 hours to prevent untagged image buildup from redeployments.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 19:07:53 -05:00

63 lines
1.6 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:
- ConnectionStrings__DefaultConnection=Host=db;Port=5432;Database=purrse;Username=purrse;Password=${DB_PASSWORD:-purrse_dev}
- Jwt__Key=${JWT_KEY:-PurrseDefaultSecretKey_ChangeInProduction_AtLeast32Chars!}
- Jwt__Issuer=Purrse
- Jwt__Audience=Purrse
- 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: