services: db: image: postgres:16-alpine environment: POSTGRES_USER: tablo POSTGRES_PASSWORD: ${DB_PASSWORD:-tablo} POSTGRES_DB: tablo volumes: - pgdata:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U tablo"] interval: 5s retries: 10 restart: unless-stopped web: build: . image: ghcr.io/edeev/tablo:latest depends_on: db: condition: service_healthy ports: - "8000:8000" env_file: - path: .env required: false environment: SECRET_KEY: ${SECRET_KEY:-change-me-to-a-long-random-string} DATABASE_URL: postgresql://tablo:${DB_PASSWORD:-tablo}@db:5432/tablo restart: unless-stopped volumes: pgdata: