36 lines
1.1 KiB
YAML
36 lines
1.1 KiB
YAML
services:
|
|||
|
|
backend:
|
||
|
|
build:
|
||
|
|
context: .
|
||
|
|
dockerfile: backend/Dockerfile
|
||
|
|
# 后端全部环境变量(含密钥)从根目录 .env 注入;pydantic 会忽略额外键
|
||
|
|
env_file: ./.env
|
||
|
|
volumes:
|
||
|
|
- ./deploy/data:/app/data # SQLite 数据库(迁移时把本机 backend/data 拷到这里)
|
||
|
|
- ./deploy/uploads:/app/uploads # EPUB 原文件
|
||
|
|
restart: unless-stopped
|
||
|
|
networks:
|
||
|
|
- bookmate
|
||
|
|
- npm-proxy
|
||
|
|
|
||
|
|
frontend:
|
||
|
|
build:
|
||
|
|
context: .
|
||
|
|
dockerfile: frontend/Dockerfile
|
||
|
|
args:
|
||
|
|
# 构建期内联到浏览器代码;务必改成你实际使用的域名(带 /api 后缀)
|
||
|
|
NEXT_PUBLIC_API_BASE: ${NEXT_PUBLIC_API_BASE:-https://bookmate.example.com/api}
|
||
|
|
depends_on:
|
||
|
|
- backend
|
||
|
|
restart: unless-stopped
|
||
|
|
networks:
|
||
|
|
- bookmate
|
||
|
|
- npm-proxy
|
||
|
|
|
||
|
|
networks:
|
||
|
|
bookmate: {} # 两服务互通(backend 内部调用,无宿主端口)
|
||
|
|
npm-proxy:
|
||
|
|
external: true
|
||
|
|
# 服务器上 nginx-proxy-manager 容器所在网络名,用 `docker network ls` 查到后填到 .env 的 NPM_NETWORK
|
||
|
|
name: ${NPM_NETWORK:-npm_default}
|