跳到主要内容

一体机容器

lani 一体机容器 包含了运行所需的各种服务,可以在任何支持 docker 的机器上运行。

在此之前,你需要 安装 docker

配置

lani 需要在运行之前配置,这包括:

其余的配置并非必要,可以根据需求自行决定。

完成配置之后,你需要将所有配置写进一个 YAML 文件,像:

postgresUrl: "postgres://user:pass@your_postgresql_server:5432/your_database"

downloadClient:
kind: qbittorrent
qbittorrent:
apiEndpoint: http://your_qbittorrent_server
username: qbt_user
password: qbt_password

jellyfin:
apiEndpoint: http://your_jellyfin_server
apiToken: your_api_token
dummyUserId: dummy_user_id

lani:
moveStrategy: hardLinkOrMove

准备目录

你需要找一个合适的地方存放挂载到容器内的文件,在 Linux 上这通常是 /srv 或者 /var,在这里创建一个目录,比如 /srv/lani,然后:

  1. 将上述配置文件放在 /srv/lani/config.yaml
  2. 创建空目录 /srv/lani/storage

启动一体机容器

接着,用 docker 命令启动(将命令中的路径替换为实际路径):

sudo docker run --detach \
--publish 8080:8080 \
--name lani_all_in_one \
--restart always \
--volume /srv/lani/config.yaml:/config/config.yaml \
--volume /srv/lani/storage:/storage \
ghcr.io/std4453/lani-all-in-one
提示

ghcr.io 是 GitHub 的容器服务,有时无法正常访问,你可能需要 配置网络代理

启动后稍等片刻,访问 http://localhost:8080,你应当看到:

lani 截图

Enjoy!

如果存在问题……

如果完成上述步骤后,未能成功访问网页,你可以使用 docker logs 查看运行日志,像:

docker logs lani_all_in_one

请复制日志,停止容器,并提交 GitHub Issue

高级配置

这些配置可能会影响稳定性、破坏现有功能,甚至丢失数据。使用时你需要知道自己在做什么。

展开

环境变量

启动容器时配置的环境变量传递到 lani 服务的各个部分上(即 api-serverdata-servergateway),比如 DATA_SERVER_DEBUG 会作为 data-serverDEBUG 变量传递到服务内部。

你可以在调试时使用这些变量,比如 data-server 使用 debug 输出日志,你可以配置 DEBUG=* 使其打印详细的全部日志。

请注意不要修改 PORT 变量,否则服务将无法启动。

配置 PM2

一体机容器中使用 PM2 启动各个服务,你可以挂载并覆盖 /deploy/apps/all-in-one/ecosystem.config.js 文件来定制 PM2 行为。你可能需要原版文件上修改,以免破坏现有功能。

配置 nginx

一体机容器中使用 Nginx 合并各个服务,你可以挂载到 /etc/nginx/nginx.conf 等位置来覆盖现有的 nginx 配置。

如果需要 HTTPS,建议在容器外再配置一层反向代理,而非配置容器内 Nginx。

暴露额外端口

容器内的端口如下:

端口服务
8080Nginx
8081gateway
8082api-server
8083data-server
9000MinIO API
9001MinIO 后台

这些端口可以用于调试,但由于缺少鉴权,请勿将它们对外暴露。其中,MinIO 后台使用默认用户名 minioadmin 和密码 minioadmin