本文最后更新于 2026年5月11日。
编排:
version: '3.8'
networks:
1panel-network:
external: true
services:
nav:
image: xjh22222228/nav:latest # 使用你提供的镜像
container_name: nav
user: "0:0"
# ports:
# - "7777:7777" # 将容器内的 80 端口映射到主机的 80 端口
# environment: # 如果有环境变量,按需添加
# - NODE_ENV=production
volumes:
- ./data:/app/data # 持久化数据库和配置文件
# - ./dist:/app/dist # 挂载静态文件(解决权限问题)
# - ./upload:/app/_upload # 创建缺失的上传目录
# environment:
# - NODE_ENV=production # 明确指定生产环境
# user: "1000:1000" # 可选:指定运行用户,避免权限问题
restart: unless-stopped # 自动重启策略
networks:
- 1panel-network
日志
> nav@17.0.0 init
> tsx ./scripts/start.ts
2025-09-16T13:37:48: PM2 log: Launching in no daemon mode
2025-09-16T13:37:48: PM2 log: App [main:0] starting in -fork mode-
2025-09-16T13:37:48: PM2 log: App [main:0] online
Server is running on port :7777
/app/data/db.json OK
/app/data/serverdb.json OK
/app/data/settings.json OK
/app/data/tag.json OK
/app/data/search.json OK
/app/dist/browser/index.html NO PERMISSIONS
/app/data/component.json OK
/app/dist/browser/manifest.webmanifest NO PERMISSIONS
Error for /app/_upload/images: ENOENT: no such file or directory, stat '/app/_upload/images'
资讯新闻更新成功
虽然还有报错,但能正常使用。