部署iOS Android私有分发服务zealot/app-host/fabu.love(类似蒲公英,fir.im)

2,855 阅读2分钟

现在我知道的有3个开源项目,比较流行

zealot
下面的很久不更新了 :
app-host
fabu.love

硬件配置要求

我是使用docker 部署的,清理/维护方便一点。 建议VPS 配置 RAM >= 1G

优劣

推荐:zealot 文档完整,更新频繁,比较完美了。

app-host的文档现在比较少,但是支持同项目不同渠道。

fabu.love 文档更完善一点,但是不支持相同包名不同渠道,api文档也很完整

PS:

  1. 首先要想可以安装iOS的ipa 需要配置TLS 证书(caddy 自带)
  2. 需要占用443 80 端口
  3. 需要一个自己的域名YOUR_HOSTNAME,免费的也可以,并配置A记录到你的VPS的公网ip

准备

Caddy 安装

medium.com/@jestem/cad…

docker 安装

github.com/docker/dock…

option 0)Zealot 部署

zealot.ews.im/#/deploymen…

option 1)app_host 部署

git clone --depth=1 https://github.com/pluosi/app-host.git /opt/app-host
/opt/app-host
cp config/settings.local.example.yml config/settings.local.yml

config/settings.local.yml 中 PROTOCOLHOST ,本地测试PROTOCOL可以为 http,生产环境必须设置为https,因为 iOS OTA 安装需要

我的配置文件请根据自己的情况修改:

PROTOCOL: "https://"
HOST: "YOUR_HOSTNAME"
# SECRET_KEY_BASE: "可以运行rake secret,docker用户会自动生成,可忽略"

config/settings.local.yml 文件只在这步会被读取一次; 在该步骤依赖网络,所以如果网络不稳定报错了,可以重试几次

./docker/launcher bootstrap -v
./docker/launcher start

#如果需要修改了config/settings.local.yml ,需要再执行以下步骤才能生效

./docker/launche destroy
./docker/launcher bootstrap -v
./docker/launcher start

caddyfile 配置

cat /etc/caddy/Caddyfile

YOUR_HOSTNAME {
	     proxy / localhost:3000 {
	     	   transparent
	     }

}
service caddy restart //重启caddy
service caddy status // 看日志

检查

尝试访问 YOUR_HOSTNAME 如果你VPS端口3000被占用了,可以手动修改 docker/launcher 里的local_port值,让其使用其它端口,当然/etc/caddy/Caddyfile 也要改端口

option 2)fabu.love 部署

git clone --depth=1 https://github.com/HeadingMobile/fabu.love.git
cd fabu.love/docker

先配置好 server/config.js

docker-compose up -d --build

caddyfile 配置

cat /etc/caddy/Caddyfile

YOUR_HOSTNAME {
	     proxy / localhost:9898 {
	     	   transparent
	     }

}
service caddy restart //重启caddy
service caddy status // 看日志

检查

尝试访问 YOUR_HOSTNAME