Ente Photo是一套可以替代 Google Photos/iCloud Photos 的开源解决方案,那么手机客户端的重要性是很高的,前面两期介绍了后端服务的部署、web客户端的部署,那么今天继续手机客户端的部署教程。
如果你是自用或小范围使用,且不在乎Ente的品牌属性,可以等等官方的应用,因为其实官方有考虑自部署服务的需求,例如对于Ente Auth应用,官方提供了一种方式:即在app主界面连续快速点击7次屏幕,即可弹出开发者模式,在该模式下用户可以自行输入自部署的后端服务地址。

但目前在Ente Photo的应用上还没看到类似的开启方式,但好消息是官方有在加紧对Ente Photo应用的修改,持续关注吧。
———————- 原内容 ———————-
那么如果你是想修改为自己的应用名称并进行运营,那么可以自行构建手机客户端的应用,因为官方不仅仅开源了服务端和web客户端,手机客户端(iOS和Android)和桌面客户端的源代码也都开源了出来,因此我们就可以根据需求,自行构建手机客户端应用。
iOS和Android的应用都是使用flutter进行开发的,flutter的优点是可以使用同一套代码,构建出多个不同平台的应用,用在这个项目上完全够用,毕竟从手机上获取图片,并不是什么底层的操作。OK,接下来我们来开始构建一套适合自己的自部署Ente Photo的应用,这里主要参考官方的教程:Mobile: Build and connect to self-hosted server
构建手机端应用
安装flutter SDK
构建flutter应用的前提是需要自己的电脑里有安装flutter的sdk,注意Ente开源库里要求的版本是v3.13.4,可以到这里下载到历史版本。安装部分的内容可以参考:安装 Flutter SDK。
安装之后(其实就是解压缩),还要检查一下环境配置,可以执行 Flutter doctor进行检查。第一次运行时,会出现一则 Google Analytics 的通知,忽略即可。
flutter doctor如上图所示,我的环境还缺少android和iOS的依赖,需要先解决好。这部分的内容可以参考:I am getting error “cmdline-tools component is missing” after installing Flutter and Android Studio… I added the Android SDK. How can I solve them?
获取源代码
克隆最新的源代码,并同步子仓库的更新
git clone https://github.com/ente-io/ente
cd ente/mobile
git submodule update --init --recursive然后使用flutter命令更新库依赖
flutter pub get构建应用
USB上接一个手机,开启开发者模式,打开USB调试,然后尝试构建应用。在构建过程中,有可能会出现无法下载文件的问题,可以尝试添加一个可用的代理服务器解决,或使用VPN。
# Android
flutter run --dart-define=endpoint=http://localhost:8080 --flavor independent --debug -t lib/main.dart
# iOS
flutter run --dart-define=endpoint=http://localhost:8080注意⚠️,要将以上的--dart-define=endpoint=http://localhost:8080出现的http地址改为自部署的后端服务地址,否则构建出来的应用会因连接不到服务器而报错,无法使用。
上述是debug模式,用于开发时使用的。在调试没问题之后,就可以打包应用了。注意Android需要额外设置密钥对(setup your keystore),然后运行
flutter build apk --release --dart-define=endpoint=http://localhost:8080 --flavor independentiOS用户就只需要运行这一条就够了
flutter build ios这样打包出来的apk和ipa,可以直接在手机上安装,如果需要进一步在各大应用市场中发布应用,则需要申请开发者账号了。
最后
不过建议还是等等官方的应用吧,自己构建还是比较折腾的。下图是我自部署的图片备份服务,打算就家里人使用了。嘿嘿?
您也可以联系文章作者本人进行修改,若内容侵权或非法,可以联系我们进行处理。
任何个人或组织,转载、发布本站文章到任何网站、书籍等各类媒体平台,必须在文末署名文章出处并链接到本站相应文章的URL地址。
本站文章如转载自其他网站,会在文末署名原文出处及原文URL的跳转链接,如有遗漏,烦请告知修正。
如若本站文章侵犯了原著者的合法权益,亦可联系我们进行处理。











hi2年前0
请问有详细一点的自己搭建的教程吗你好2年前0
你好,可以再帮我看看吗? 我已经按照你的方法设定了,还是一样,wordpress后台的 Purge Varnish Cache 插件还是清除不到cache,依旧显示 the varnish control terminal is not responding at。谢谢 https://mjj.today/i/Srk2Tz https://mjj.today/i/Srkcoi你好2年前0
对,你说的没错,我配置的时候改了一些东西,现在我按照你的教学,可以启动了,网页可以缓存了,不过wordpress 清除cache 那个插件没用的,我输入本地回环地址127.0.0.1 :6082 ,再输入API key ,插件显示the varnish control terminal is not responding at 127.0.0.1:6082,就你图片那样,然后试一下点击清除cache 那里,他显示error,研究了一天,还是没有不行。你好2年前0
你好,为啥我按照你的方法,到第三部分,去到真正后源的服务器设定Varnish 部分,我填了真正后源的IP跟端口跟域名,然后重启 Varnish ,就出现这样了? 这是怎么回事? 谢谢 [Linux] AMH 7.1 https://amh.sh [varnish-6.6 start] ================================================== =========== [OK] varnish-6.6 is already installed. Could not delete 'vcl_boot.1713549650.959259/vgc.sym': No such file or directory Error: Message from VCC-compiler: VCL version declaration missing Update your VCL to Version 4 syntax, and add vcl 4.1; on the first line of the VCL files. ('/home/usrdata/varnish/default.conf' Line 1 Pos 1) ... #--- Running VCC-compiler failed, exited with 2 VCL compilation failedchu2年前0
很完善的教程‘hu2年前0
我用gmail EMAIL_SERVER="smtp://********@gmail.com:bpyfv*********[email protected]:587"叽喳2年前0
MAIL_SERVER="smtp://[email protected]:[email protected]:587" 大佬 这个使用outlook 或者gmail 是什么样子的格式? 邮寄已经开启smtp了hu2年前0
输入框的问题解决了,我没有设置反代,NEXTAUTH_URL改为域名+端口就好了