Files
clank-forest/docker-compose.yaml
2025-12-21 02:17:40 +01:00

72 lines
1.8 KiB
YAML

services:
forest:
image: docker.io/kasperhermansen/forest-server:${FOREST_IMAGE_VERSION:-main}
restart: always
env_file: ".env"
command: |
/app/forest-server serve
ports:
- "4040:4040"
environment:
RUST_LOG: "forest=debug,info"
LOG_LEVEL: short
FOREST_HOST: 0.0.0.0:4040
networks:
- public
- internal
healthcheck:
test: ["CMD", "/app/forest-server", "--external-host", "http://127.0.0.1:4040", "admin", "status"]
interval: 10s
timeout: 10s
retries: 3
start_period: 30s
depends_on:
postgres:
condition: service_healthy
restart: true
postgres:
image: postgres:18
restart: always
shm_size: 128mb
env_file: ".env"
networks:
- internal
volumes:
- ./data/postgres/18:/var/lib/postgresql/18/docker
environment:
POSTGRES_USER: forest
POSTGRES_DB: forest
healthcheck:
test: ["CMD", "pg_isready", "-U", "forest", "-d", "forest"]
interval: 10s
retries: 5
start_period: 30s
timeout: 10s
backup:
image: prodrigestivill/postgres-backup-local
restart: always
volumes:
- ./data/backups:/backups
env_file: .env
links:
- "postgres"
networks:
- internal
environment:
- POSTGRES_HOST=postgres
- POSTGRES_DB=forest
- POSTGRES_USER=forest
- POSTGRES_EXTRA_OPTS=-Z1 --schema=public --blobs
- BACKUP_ON_START=TRUE
- SCHEDULE=@daily # or cron: "0 2 * * *"
- BACKUP_KEEP_DAYS=7 # keep daily backups for 7 days
- BACKUP_KEEP_WEEKS=4 # keep weekly backups for 4 weeks
- BACKUP_KEEP_MONTHS=6 # keep monthly backups for 6 months
- HEALTHCHECK_PORT=8080
networks:
public:
internal: