31 lines
2.5 KiB
YAML
31 lines
2.5 KiB
YAML
# Verdaccio Mate · 可视化管理面板(缓存 + 私有包治理,§12.2 Docker 部署)
|
||
# Verdaccio 已独立部署,此处仅运行面板。
|
||
# storage 需读写挂载:清理版本要删除 .tgz 并回写 package.json 元数据(只读会报 EROFS);
|
||
# 容器以 root 运行以写入 verdaccio 卷(其属主为 verdaccio 用户 uid 10001,非本容器 uid 10000)
|
||
services:
|
||
verdaccio-mate:
|
||
image: verdaccio-mate:latest # 已导入的 amd64 镜像(docker load 后直接可用)
|
||
restart: always
|
||
user: "0:0" # root:清理需写 verdaccio 卷;vcm-data 命名卷 root 亦可写
|
||
environment:
|
||
- VERDACCIO_STORAGE=/verdaccio/storage # 容器内路径,对应下方挂载的右侧
|
||
- VERDACCIO_BASE_URL=${VERDACCIO_BASE_URL:-http://218.61.196.156:11691} # 私服地址:查询最新版与代拉均走它(容器内不能用 127.0.0.1;上游由 Verdaccio 自身 uplinks 路由)
|
||
- PORT=3000
|
||
- TZ=Asia/Shanghai # 每日 00:00 自动扫描按北京时间执行
|
||
- VCM_USERNAME=${VCM_USERNAME:-admin} # 面板登录账号(可在宿主机 .env 覆盖)
|
||
- VCM_PASSWORD=${VCM_PASSWORD:-666666} # 面板登录密码(默认 666666,可在宿主机 .env 覆盖)
|
||
- VERDACCIO_HTPASSWD=/verdaccio/htpasswd # Verdaccio 原版 htpasswd(只读展示用户列表;未挂载/缺失时该接口返回未找到)
|
||
# 部署地坐标手动指定(可选):优先级高于公网 IP 定位;解除注释并填经纬度即生效
|
||
# - VCM_LAT=31.23
|
||
# - VCM_LNG=121.47
|
||
- UV_THREADPOOL_SIZE=8 # libuv IO 线程池(默认4→8):扫描/stat 并发更高,NAS 四核安全
|
||
volumes:
|
||
- "/volume2/docker/verdaccio_verdaccio-1/verdaccio_storage:/verdaccio/storage" # Verdaccio 缓存目录(读写,清理需要)
|
||
# Verdaccio 原版用户文件(读写,供面板增删用户/改密):host 路径可在 .env 设 VERDACCIO_HTPASSWD_FILE=绝对路径 覆盖
|
||
- "${VERDACCIO_HTPASSWD_FILE:-/volume2/docker/verdaccio_verdaccio-1/verdaccio_conf/htpasswd}:/verdaccio/htpasswd"
|
||
# 数据目录:默认 bind mount 到宿主机 /volume2/docker/verdaccio-manager/data,
|
||
# 可在 NAS 文件管理器里直接查看/备份/修改 manager.db;如需改路径,在 .env 设 VCM_DATA_DIR=绝对路径
|
||
- "${VCM_DATA_DIR:-/volume2/docker/verdaccio-cache-manager/data}:/app/data" # SQLite 数据(manager.db + WAL)
|
||
ports:
|
||
- "42338:3000"
|