在Termux中运行Siyuan笔记服务

在Termux中运行Siyuan笔记服务 siyuan官网提供的都是桌面版的编译文件, 默认都是以GUI方式运行而我希望在Termux中运行siyuan后端服务, 之后通过Web访问siyuan笔记, 再通过S3来同步数据, 这样我的移动服务器也能成为我的移动电子笔记本了到siyuan官网看一眼: https://github.com/siyuan-note/siyuanreleases中已经提供了Linux ARM64程序包, 下载解压仅运行后端程序, 只需要运行kernel即可, 但是kernel单独运行后会定时检测前端GUI进程是否存在, 若不存在则自动退出W2026/03/16 09:11:18 process.go:66: no active UI proc,continueto check from attached ui processes after 15s E2026/03/16 09:11:21 rhy.go:66: get version info failed: Gethttps://siyuan-sync.b3logfile.com/apis/siyuan/version?ver3.6.0:tls: failed to verify certificate: x509: certificate signed by unknown authority E2026/03/16 09:11:21 updater.go:252: get announcement failed: Gethttps://siyuan-sync.b3logfile.com/apis/siyuan/version?ver3.6.0:tls: failed to verify certificate: x509: certificate signed by unknown authority W2026/03/16 09:11:33 process.go:72: no active UI proc,continueto check from all processes after 15s W2026/03/16 09:11:48 process.go:80: confirmed no active UI proc,exitkernel process now I2026/03/16 09:11:48 conf.go:742: exiting kernel[forcefalse,setCurrentWorkspacetrue,execInstallPkg1]I2026/03/16 09:11:48 database.go:1299: closed database I2026/03/16 09:11:48 conf.go:1197: cleared workspace temp I2026/03/16 09:11:48 sync.go:811:syncwebsocket closed W2026/03/16 09:11:48 process.go:66: no active UI proc,continueto check from attached ui processes after 15s I2026/03/16 09:11:49 conf.go:816: exited kernel我们要让kernel保持在后台运行, 按照在docker容器中的方式即可, 需要设置一个环境变量:RUN_IN_CONTAINER先看一下使用帮助# 解压tar.gz之后, 在siyuan目录的resources目录下运行命令才能正常运行, 否则需要通过-wd命令手动指定工作路径cdsiyuan/resources ./kernel/SiYuan-Kernel-hUsage of ./kernel/SiYuan-Kernel:-accessAuthCodestring access auth code-langstring ar_SA/de_DE/en_US/es_ES/fr_FR/he_IL/it_IT/ja_JP/ko_KR/pl_PL/pt_BR/ru_RU/sk_SK/tr_TR/zh_CHT/zh_CN-modestring dev/prod(defaultprod)-portstring port of the HTTP server(default0)-readonlystring read-only mode(defaultfalse)-sslforhttps and wss-wdstring working directory of SiYuan(default/data/data/com.termux/files/home/bin/siyuan/resources)-workspacestringdirpath of the workspace, default to ~/SiYuan/通过--help可以看到运行内核支持的一些参数, 我们可以构建一个完整的运行命令, 如下cdsiyuan/resourcesRUN_IN_CONTAINER1./kernel/SiYuan-Kernel-accessAuthCodemy-password-langzh_CN先执行一下试试, 成功! 并且可以通过Web访问, 默认端口为6806, 我暂时不修改现在将其服务化, 通过termux-services管理运行创建服务目录mkdir-p$PREFIX/var/service/siyuan编写run启动脚本nano$PREFIX/var/service/siyuan/run内容如下, 配置内容依据实际情况填写#!/data/data/com.termux/files/usr/bin/shexec21# 1. 切换到思源笔记的根目录请替换为你自己的实际绝对路径cd/data/data/com.termux/files/home/bin/siyuan/resources# 2. 导出环境变量exportRUN_IN_CONTAINER1exportSSL_CERT_FILE$PREFIX/etc/tls/cert.pem# 3. 使用 exec 启动程序这样 sv 才能正确捕获并管理该进程的 PIDexec/data/data/com.termux/files/home/bin/siyuan/resources/kernel/SiYuan-Kernel-accessAuthCodemy-password-langzh_CN-wd/data/data/com.termux/files/home/bin/siyuan/resources赋予可执行权限chmodx$PREFIX/var/service/siyuan/run(可选) 配置日志服务mkdir-p$PREFIX/var/service/siyuan/logmkdir-p$PREFIX/var/log/sv/siyuannano$PREFIX/var/service/siyuan/log/run日志脚本#!/data/data/com.termux/files/usr/bin/shLOGDIR$PREFIX/var/log/sv/siyuanmkdir-p$LOGDIRexecsvlogd-tt$LOGDIR执行权限chmodx$PREFIX/var/service/siyuan/log/run配置完成后就可以通过termux-service管理siyuan服务sv up siyuan sv status siyuan sv down siyuan sv-enable siyuan sv-disable siyuantail-f$PREFIX/var/log/siyuan/current运行时提示x509: certificate signed by unknown authority, 且siyuan账号无法登录, 排查发现是系统证书没找到, Go 语言原生支持通过环境变量SSL_CERT_FILE来指定证书路径先测试运行一次exportSSL_CERT_FILE$PREFIX/etc/tls/cert.pemcdsiyuan/resources ./kernel/SiYuan-Kernel# 没有再出现x509错误让配置永久生效, 将export SSL_CERT_FILE$PREFIX/etc/tls/cert.pem添加到之前的run脚本中, 再重启siyuan服务即可登录siyuan账号也正常了, 数据同步可以用自建的S3服务(特性订阅), 也可以订阅官方的存储服务, 个人觉得siyuan笔记还是非常好用的, 特性订阅一次付费终身有效, 还是很不错的配置完成后数据同步也正常, 配合之前的Easytier组网, 非常丝滑我已经在自己的Nas上搭建了siyuan笔记并支持远程访问了, 为什么还要在Android服务器上再搭建一个呢?有一次家里停电了, 在外需要访问笔记的我瞬间感觉少了半个脑子!这样我就可以随身携带自己的电子笔记本, 即使数据断了也没关系, 在Android服务器上读/写都可以本地正常运行, 只需要等到网络恢复后同步一下数据就行