App-Host企业内网应用发布平台完整部署指南
App-Host是一个轻量级的应用包托管网站,专门服务于企业内部的iOS和Android应用发布与测试。本项目类似Fir.im,但允许用户自由地在内网部署,加强了项目安全性并支持自定义扩展。基于MIT许可证开源,提供了一个方便管理和分发应用包的解决方案。
项目核心功能
App-Host目前能够实现以下主要功能:
- 新建应用包
- 包底下新建渠道(支持iOS生产、iOS沙盒、iOS越狱版、Android生产等各种环境)
- 渠道下面上传包文件
- 帐号和权限管理系统
- 支持API和页面表单两种方式上传包
- 自动解析包信息,包括iOS的包类型(ADHOC或release)、UDID设备信息、Android的签名证书等
快速部署方案
Docker公有镜像部署(推荐)
这是最简单的部署方式,只需执行一条命令:
docker run --name app_host -v ~/shared:/app/shared -p 3000:8686 -d tinyc/app-host:lastest
部署前需要将~/shared目录添加到Docker的Resources授权访问列表中。
Docker源码编译部署
如果需要自定义配置或最新版本,可以选择源码编译部署:
git clone https://gitcode.com/gh_mirrors/ap/app-host.git /opt/app-host
cd /opt/app-host
./docker/launcher bootstrap -v # 此步骤依赖网络,如网络不稳定可重试几次
./docker/launcher start
部署完成后访问http://localhost:3000,如需修改端口可手动编辑docker/launcher文件中的local_port值。数据库和上传的文件会自动保存在./shared文件夹中。
源码直接运行部署
对于开发环境或需要深度定制的场景,可以选择源码部署:
git clone https://gitcode.com/gh_mirrors/ap/app-host.git /opt/app-host
cd /opt/app-host
然后需要修改config/secrets.yml文件中production环境下的secret_key_base,可以通过运行rake secret命令生成新的密钥。
bundle install
rails s # 运行测试环境
关于生产环境部署,请参考Rails Puma部署教程,并相应修改config/deploy.rb中的部署地址。
HTTPS配置要求
由于苹果公司的限制,如果需要使用ipa文件下载功能,必须配置HTTPS。以下是Nginx配置示例:
server {
listen 443 ssl;
server_name ota.xxx.com;
ssl_certificate /home/xxx.com/nginx/public.pem;
ssl_certificate_key /home/xxx.com/nginx/private.key;
ssl on;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Port $server_port;
proxy_pass http://172.21.35.62:3000; # 此处改为docker服务的实际地址
}
}
server {
listen 80;
server_name ota.xxx.com;
rewrite ^(.*)$ https://$host$1 permanent;
}
平台界面预览
注意事项和已知问题
- 如果APK包使用非图片格式的logo,将无法正常显示logo图标,因为目前尚未实现XML格式logo的解析功能
- 如果不配置HTTPS,IPA文件将无法安装(苹果公司的技术限制)
项目许可证
App-Host基于MIT许可证发布,详细信息请参阅LICENSE文件。
通过App-Host,企业可以建立完全自主控制的内网应用分发平台,无论是开发测试还是生产发布,都能获得安全高效的体验。该平台特别适合对数据安全性要求较高的企业环境使用。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考






