便携版
设置
在 Linux 或 Windows 上把 HolyArrs 当作普通程序运行,不用 Docker。Docker 仍然是主要的运行方式。
开始之前
开始之前 的链接- 构建机器上要有 Python 3、Git 和 Docker。
- 一份由正常项目构建填好的 Go 模块缓存,以及按
app/frontend/package-lock.json安装好的前端依赖。 - 构建好的 Web 应用已经提交。构建只用已提交的源码;未提交的改动不会包含在内。
构建和运行
构建和运行 的链接-
在检出的代码文件夹里构建压缩包:
Terminal window python deploy/release/package.py --ref HEAD --version 1.0.0 --output /srv/holyarrs-archives/1.0.0 --web-node-modules app/frontend/node_modules --module-cache /home/you/go/pkg/mod输出要用代码文件夹之外的一个新文件夹。你应该会看到每个目标平台一个压缩包,外加一个
SHA256SUMS文件。 -
用
SHA256SUMS核对压缩包。 -
把它解压到一个新文件夹。程序和配置分别放在不同的文件夹里。
-
用你自己的配置路径启动:
Terminal window ./holyarrs -config /srv/holyarrs/config -addr :6262在 Windows PowerShell 里:
Terminal window .\holyarrs.exe -config 'C:\HolyArrs\config' -addr ':6262' -
打开
http://your-server:6262。你应该会看到首次运行的设置向导。马上创建所有者账户;第一个访问的人会成为所有者。
选项
选项 的链接用哪个用户运行
用哪个用户运行 的链接用专门的账户运行 HolyArrs,只给它配置文件夹和媒体的写入权限。
- 在容器之外以 root 运行、又没有设置
PUID和PGID时,它会停下并提示“started as root outside a container”(在容器之外以 root 启动)。 - 设置了
PUID和PGID时,它会把配置文件夹交给那个用户,并切换到那个用户。 - 在 Windows 上,用针对该账户的 NTFS 权限保护配置文件夹。
重启和限制
重启和限制 的链接压缩包不会安装任何服务。请在你自己的服务管理器(systemd、NSSM、Task Scheduler)里设置自动重启和内存硬限制。应用内重启和恢复备份都会让程序退出,并指望有人把它重新启动。
更新和回退
更新和回退 的链接- 停止应用之前,先核对新压缩包。
- 停止 HolyArrs,复制整个配置文件夹,包括主密钥。或者做一次应用内备份,并把它的密钥另外保存。
- 把新程序解压到另一个文件夹。留着旧程序和旧配置的副本。
- 用你的配置启动新程序。你应该能登录,
/health应该显示 running。
见备份。
如果不成功
如果不成功 的链接| 现象 | 原因 | 解决办法 |
|---|---|---|
| “started as root outside a container” | 以 root 启动了 | 用专门的用户运行,或者设置 PUID 和 PGID。 |
| 恢复之后应用退出了 | 恢复会先把数据准备好,然后以退出码 75 退出 | 再启动一次让它生效。把你的服务管理器设成自动重启它。 |
| 在 Linux 上 HTTPS 请求失败 | 没有系统 CA 证书 | 安装证书。 |
| 构建提示输出已存在 | 已存在的输出文件夹会被拒绝 | 换一个新文件夹。 |
进阶
进阶 的链接构建选项
| 选项 | 作用 | 默认 |
|---|---|---|
--targets |
用逗号分隔,只构建其中一部分目标 | linux-amd64, |
--low-resource |
每个构建容器分到 1 个 CPU、2 GiB 和 256 个进程;Go 一次只构建一个包。打包仍在主机上运行,不受这些限制。 | 关闭 |
构建在项目固定版本的 Go 构建镜像里运行,网络是关闭的,所以不会下载任何东西。模块缓存以只读方式挂载。只要有一个目标失败,就不会留下输出文件夹。提交号会加到版本号里,并内置到程序中;应用和它的备份都会报告这个版本。
压缩包里有什么
程序、许可证、第三方声明、指南、一份源码清单和包标识。另有一个单独的源码压缩包,里面是项目源码和 Go 依赖;把它和二进制文件放在一起。
SHA256SUMS 能证明文件一致。它不是签名。同样的提交、版本和输入会得到同样的压缩包,所以你可以重新构建来核对。
运行时说明
| 主题 | 详情 |
|---|---|
| 配置路径 | 默认 /config。始终传入 -config,并放在本地磁盘上。 |
| 内存目标 | 没有 GOMEMLIMIT 时是 384 MiB。把它设成你分配的内存的 80% 左右。这是目标,不是硬限制。 |
| 低内存模式 | 在 Linux 上,内存在 2.5 GiB 左右或更少时自动开启;目标降到内存的四分之一,在 192 到 384 MiB 之间。HOLYARRS_LOW_MEMORY=1 或 0 可以直接指定。 |
| Node | 运行时不需要。 |
| 硬链接 | 把下载内容和媒体库文件夹放在同一个文件系统上。 |
相关页面
相关页面 的链接HolyArrs 是免费的。如果它帮你省了时间,欢迎在 GitHub 上点个 Star、赞助它或请我喝杯咖啡。