Files
dusuniot/deploy/docker-compose.yml
T
bigcode c3df5d9db1 v0.15.0: Docker 化部署(OVH-US-BAK)
- Dockerfile(oven/bun 多阶段:构建 dist + 全量 node_modules 运行时)
- deploy/docker-compose.yml(postgres:18 + app,uploads 双挂载同宿主目录)
- .dockerignore(uploads 经卷挂载不进镜像,避免 3GB 膨胀)
- prod-server /uploads/* 运行时直读磁盘(媒体上传后无需重启即可访问,含路径穿越防护)
- README Docker 部署章节
2026-11-04 15:15:58 +08:00

38 lines
1.2 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# dusuniot 生产部署编排(放在 /home/docker/dusuniot/ 下使用,源码 rsync 到 ./app)
# 用法:docker compose up -d --build
name: dusuniot
services:
# # 数据库服务 PostgreSQL 18(数据落 ./data/pg,不对外暴露端口)
db:
image: postgres:18
restart: unless-stopped
environment:
POSTGRES_USER: dusuniot
POSTGRES_PASSWORD: dusuniot
POSTGRES_DB: dusuniot
volumes:
- ./data/pg:/var/lib/postgresql
healthcheck:
test: ["CMD-SHELL", "pg_isready -U dusuniot -d dusuniot"]
interval: 10s
timeout: 5s
retries: 12
# # 应用服务 TanStack Start + Bun(nginx 反代 127.0.0.1:3320)
app:
build: ./app
restart: unless-stopped
depends_on:
db:
condition: service_healthy
environment:
DATABASE_URL: postgres://dusuniot:dusuniot@db:5432/dusuniot
PORT: "3312"
ports:
- "127.0.0.1:3320:3312"
volumes:
# 双挂载同一宿主目录:adminUploadMedia 写 public/uploads(cwd 相对),
# prod-server 的 /uploads 直读与启动静态表走 dist/client/uploads
- ./data/uploads:/app/public/uploads
- ./data/uploads:/app/dist/client/uploads