app-space

app-space

开源移动应用管理与分发解决方案

AppSpace是一个开源的私有化部署服务,为移动应用开发提供集成化的分发和管理解决方案。该平台支持iOS、Android、Flutter和React-Native应用的分发、Bug管理,并提供多平台SDK实现自动化部署。AppSpace具备团队协作、版本控制和钉钉机器人集成等功能,为开发团队创建高效、安全的应用管理环境。此外,AppSpace支持Docker部署,配置灵活,适用于不同规模的开发团队。

AppSpace应用分发私有化部署移动应用管理自动化部署Github开源项目
<div align='center'> <h1>AppSpace</h1> <h4> 私有化部署服务,集成应用分发 Bug管理 提供iOS、Android、Flutter、React-Native SDK,支持自动化部署jenkins fastlane等丰富组件 </h4> <div> <a href="https://appspa.github.io/">私有化部署</a> • <a href="https://appspa.github.io/docs/developer-guide">快速接入</a> • <a href="https://github.com/appspa/app-space-docker">docker部署</a> • </div> </div>

在线演示

注意: 演示服务使用免费资源部署,资源额度耗尽会不可访问次月初重置;数据每日都会重新初始化,不对用户上传的应用承担任何法律风险,后果自负!(翻墙) (包要求小于50M)

功能列表

AppSpace home

应用设置

AppSpace home

发布应用

AppSpace home

团队管理

AppSpace home

应用下载

AppSpace home

钉钉机器人

AppSpace home

源代碼部署

运行前准备

  • 安装 MongoDB (3.6)
  • 安装 Nodejs

1.clone 下载代码 git clone https://github.com/appspa/app-space.git

2.运行server端

#进入项目根目录 cd server npm install #安装依赖 npm start =============>>out ... ... App is listening on 8081. 数据库连接成功 =============>>end

3.编译运行前端页面

cd client npm install npm run build #正式环境可以用该命令编译静态文件交给nginx npm run start #本地运行可以使用该命令 ============>>out ... ... DONE Compiled successfully in 18546ms I Your application is running here: http://0.0.0.0:8081 ============>>end

4.使用浏览器打开进入http://localhost:8081即可进入应用

Docker部署

构建镜像

docker build . -t appspace

使用 compose 运行

# 启动
docker compose up -d

# 停止
docker compose stop

# 停止并删除容器(包括数据)
docker compose down --remove-orphans

项目配置说明

前端配置

参见 client/config.js

const config = { domain: process.env.APP_SPA_DOMAIN || "http://192.168.1.10:8081", // basePath: process.env.APP_SPA_PATH || "/x/app/", }; export default config;

后端配置

参见 server/config.js

//需要修改配置可以修改config.js文件,也可以在部署的时候导出环境变量 //比如 export APP_SPA_DOMAIN=https://127.0.0.1:8085 const common = { //baseUrl应用请求的url地址,比如https://appspace baseUrl: process.env.APP_SPA_DOMAIN || "https://127.0.0.1:8081", port: process.env.APP_SPA_PORT || "8085", //server运行的端口 apiPrefix: 'api', secret: process.env.APP_SPA_SECRET || "secretsecret", //secret //数据库用户 (没有开启mongodb用户认证的可以不填写) dbUser: process.env.APP_SPA_DBUSER || undefined, //数据库密码 (没有开启mongodb用户认证的可以不填写) dbPass: process.env.APP_SPA_DBPWD || undefined, dbName: process.env.APP_SPA_DB_NAME || "app_space", //数据库名称 dbHost: process.env.APP_SPA_DB_HOST || "localhost", //数据库地址 dbPort: process.env.APP_SPA_DB_PORT || "27017", //数据库端口 //邮件相关配置 用于找回密码和邀请团队成员发送邮件 emailService: process.env.APP_SPA_EMAIL_SERVICE || "qq", emailUser: process.env.APP_SPA_EMAIL_USER || "", emailPass: process.env.APP_SPA_EMAIL_PASS || "", //是否允许用户注册,为否则后端注册接口不可用 allowRegister: process.env.APP_SPA_ALLOW_REGISTER || true, //是否开启ldap 默认是false 如果公司没有ldap服务可以不用理会 openLdap: process.env.APP_SPA_ALLOW_LDAP || false, ldapServer: process.env.APP_SPA_LDAP_URL || "", //ldap server url ldapUserDn: process.env.APP_SPA_LDAP_USERDN || "", //ldap管理员dn 管理员用户名 ldapBindCredentials: process.env.APP_SPA_LDAP_CREDENTIALS || "", //ldap管理员密码 ldapBase: process.env.APP_SPA_LDAP_BASE || "" //ldap base };

正式环境部署 nginx配置(注意请使用https部署,否则iOS会出现无法安装的问题)

可以按照项目根目录的 app_space_nginx.conf 文件进行配置

server{ listen 80; server_name appspace; #root目录为项目根目录的client/dist目录下,前端静态页面 root /home/ubuntu/appspace/client/dist; index index.html; location / { try_files $uri $uri/ @router; index index.html; } location @router { rewrite ^.*$ /index.html last; } location /api/ { #把以api打头的接口转发给后端server proxy_pass http://127.0.0.1:8085; #这里端口修改为后端服务运行的端口 proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } client_max_body_size 208M; #最大上传的ipa/apk文件大小 }

联系作者

QQ:1206149686

<img src="https://github.com/appspa/appspa.github.io/blob/main/static/img/qq.png" height=120/>

MIT

编辑推荐精选

潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

AI助手热门AI工具AI创作AI辅助写作讯飞绘文内容运营个性化文章多平台分发
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

热门AI工具生产力协作转型TraeAI IDE
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

下拉加载更多