services: app: build: context: . dockerfile: Dockerfile # Enable BuildKit layer/cache mounts: DOCKER_BUILDKIT=1 docker compose build app args: NEXT_PUBLIC_SITE_URL: ${NEXT_PUBLIC_SITE_URL} PAYLOAD_SECRET: ${PAYLOAD_SECRET} DATABASE_URI: ${DATABASE_URI} container_name: eversolo-web restart: unless-stopped env_file: .env expose: - "3000" volumes: - ./data/media:/app/media - ./data/files:/app/files - ./data/videos:/app/videos networks: - web nginx: image: uhub.service.ucloud.cn/mysql-images/nginx:latest container_name: eversolo-nginx restart: unless-stopped depends_on: - app ports: - "80:80" - "443:443" volumes: - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro - ./nginx/conf.d:/etc/nginx/conf.d:ro - ./nginx/certs:/etc/nginx/certs:ro - ./data/media:/srv/uploads/media:ro - ./data/files:/srv/uploads/files:ro - ./data/videos:/srv/uploads/videos:ro networks: - web bootstrap: image: uhub.service.ucloud.cn/mysql-images/node:22-bookworm-slim working_dir: /app env_file: .env volumes: - .:/app - bootstrap_node_modules:/app/node_modules - ./data/media:/app/media - ./data/files:/app/files - ./data/videos:/app/videos command: > bash -lc " npm ci --include=dev && npm run payload:migrate && npm run payload:migrate:status && npm run seed:import -- --live && npx tsx ./src/scripts/create-admin.ts " profiles: [bootstrap] networks: - web networks: web: driver: bridge volumes: bootstrap_node_modules: