photodock/docker-compose.yml

50 lines
1.1 KiB
YAML

services:
nginx:
image: nginx:alpine
ports:
- "8080:80"
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
- ./photos:/data/photos:ro
- cache:/data/cache:ro
depends_on:
- app
restart: unless-stopped
app:
build: .
expose:
- "8080"
environment:
- DATABASE_URL=postgres://photodock:photodock@db:5432/photodock
- MEDIA_ROOT=/data/photos
- CACHE_DIR=/data/cache
- LISTEN_ADDR=:8080
- ADMIN_USER=admin
- ADMIN_PASS=${ADMIN_PASS:-changeme}
volumes:
- ./photos:/data/photos
- cache:/data/cache
depends_on:
db:
condition: service_healthy
restart: unless-stopped
db:
image: postgres:16-alpine
environment:
- POSTGRES_USER=photodock
- POSTGRES_PASSWORD=photodock
- POSTGRES_DB=photodock
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U photodock"]
interval: 5s
timeout: 5s
retries: 5
restart: unless-stopped
volumes:
postgres_data:
cache: