services: 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: - ${LOCAL_WORKSPACE_FOLDER:-./}dockerfiles/assets/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