74 lines
1.7 KiB
YAML
74 lines
1.7 KiB
YAML
services:
|
|
backend:
|
|
image: modzero.xyz/kredens/backend
|
|
build:
|
|
dockerfile: dockerfiles/backend.dockerfile
|
|
context: .
|
|
pull_policy: build
|
|
develop:
|
|
watch:
|
|
- path: ./kredens
|
|
action: sync
|
|
target: /app/kredens
|
|
- path: ./pyproject.toml
|
|
action: rebuild
|
|
- path: ./manage.py
|
|
action: rebuild
|
|
- path: ./uv.lock
|
|
action: rebuild
|
|
environment:
|
|
- DATABASE_URL=postgres://postgres:${DATABASE_PASSWORD:?Database password required}@database/kredens
|
|
depends_on:
|
|
- database
|
|
database:
|
|
image: postgres:17
|
|
restart: unless-stopped
|
|
shm_size: 128mb
|
|
environment:
|
|
- POSTGRES_PASSWORD=${DATABASE_PASSWORD:?Database password required}
|
|
- POSTGRES_DB=kredens
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "su -c 'pg_isready -d kredens -h localhost' postgres"]
|
|
interval: 30s
|
|
timeout: 60s
|
|
retries: 5
|
|
start_period: 80s
|
|
ports:
|
|
- "5432:5432"
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql/data
|
|
webproxy:
|
|
image: caddy
|
|
restart: unless-stopped
|
|
cap_add:
|
|
- NET_ADMIN
|
|
volumes:
|
|
- ./configs/caddy/:/etc/caddy/
|
|
- caddy_data:/data
|
|
- caddy_config:/config
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
- "443:443/udp"
|
|
- "2019:2019"
|
|
mailpit:
|
|
image: axllent/mailpit
|
|
restart: unless-stopped
|
|
volumes:
|
|
- mailpit_data:/data
|
|
environment:
|
|
MP_MAX_MESSAGES: 5000
|
|
MP_DATABASE: /data/mailpit.db
|
|
MP_SMTP_AUTH_ACCEPT_ANY: 1
|
|
MP_SMTP_AUTH_ALLOW_INSECURE: 1
|
|
MP_WEBROOT: mailpit
|
|
|
|
volumes:
|
|
caddy_data:
|
|
caddy_config:
|
|
postgres_data:
|
|
mailpit_data:
|
|
|
|
networks:
|
|
default:
|
|
enable_ipv6: true |