# ============================================================ # NowenReader - 生产部署(使用 Docker Hub 镜像) # # 服务器上使用此文件: # docker compose -f docker-compose.prod.yml up -d # # 或复制为 docker-compose.yml 后直接: # docker compose up -d # # 更新镜像: # docker compose -f docker-compose.prod.yml pull # docker compose -f docker-compose.prod.yml up -d # ============================================================ services: nowen-reader: image: cropflre/nowen-reader:latest container_name: nowen-reader restart: unless-stopped ports: - "6680:3000" volumes: # 数据库持久化(不要删除,否则丢失所有数据) - ./data:/data # 漫画文件目录 - 把你的漫画放这里(默认挂载到当前目录下的 comics 文件夹) - ./comics:/app/comics # 电子书文件目录 - 把你的电子书放这里(默认挂载到当前目录下的 novels 文件夹) - ./novels:/app/novels # NAS 额外目录(可选,取消注释并修改路径) # - /mnt/nas/manga:/mnt/nas/manga # - /volume1/comics:/volume1/comics # 缩略图缓存持久化(加速启动) - ./cache:/app/.cache environment: - GIN_MODE=release - DATABASE_URL=/data/nowen-reader.db - COMICS_DIR=/app/comics - NOVELS_DIR=/app/novels - DATA_DIR=/app/.cache - PORT=3000 - TZ=Asia/Shanghai # - BASE_PATH=/reader # 仅在可信反向代理后启用,用于 OPDS 生成正确的外部地址 # - TRUST_PROXY_HEADERS=true # 文件权限映射(设置为你宿主机文件的 UID:GID,解决 permission denied 问题) # - PUID=1000 # - PGID=1000 # 新建文件权限掩码。0002 表示同组用户也可写,适合 NAS/共享目录 # - UMASK=0002 # 如果 NAS/SMB/NFS 无法 chown,且 PUID/PGID 仍无法写入,可开启宽松回退 # - PERMISSION_FIX_MODE=relaxed # 如果“容器创建时已有文件能打开,但后来新增文件 permission denied”, # 可临时开启 recursive,重建容器后递归修复已有文件;修好后建议切回 auto,避免大书库每次启动遍历。 # - PERMISSION_FIX_MODE=recursive # NAS/SMB/NFS 无法 chown 时使用递归宽松模式(会回退到 a+rwX,请仅在可信媒体目录使用) # - PERMISSION_FIX_MODE=recursive-relaxed