services: webpreview-web: image: caddy:alpine container_name: webpreview-web volumes: - ./build:/usr/share/caddy:ro - ./media:/media - ./Caddyfile:/etc/caddy/Caddyfile:ro ports: - 8081:80 depends_on: - webpreview-api restart: unless-stopped webpreview-api: build: context: . dockerfile: server/Dockerfile container_name: webpreview-api env_file: - .env volumes: - ./sqlite:/app/data - ./media:/app/media restart: unless-stopped # 只在从旧版 Postgres 迁移数据时使用: # docker compose --profile migrate up -d webpreview-db # docker compose run --rm webpreview-api bun scripts/migrate-from-postgres.ts webpreview-db: image: postgres:17-alpine container_name: webpreview-db profiles: ["migrate"] volumes: - ./data:/var/lib/postgresql/data env_file: - .env restart: "no"