GoForum🌐 V2EX

我把最近发布的 localsend CLI 做成了容器

yuanweipangci05 · 2026-08-12 20:37 · 0 次点赞 · 1 条回复

LocalSend 最近发布了官方 CLI(纯 TUI 的 headless 版,当前最新 v1.18.0),我这几天折腾了下,把它装进了 podman 容器,当作 NAS 上的常驻文件接收端。配对后,手机/电脑往局域网里的设备发消息只需要轻轻一点,收到的文件直接落盘。

项目地址:https://github.com/100pangci/localsend-cli-container

特性:

1. host 网络直通 localsend 发现设备靠 UDP 组播,必须走 host 网络,就不用网桥了。

2. 一次配对,永久自动接收 新设备第一次发文件时,需要输入:podman attach localsend ( docker 的话 podman 改成 docker )挂上 TUI ,手机发文件,然后按个 P,之后这台设备的文件全自动接受。收到的文件落到 .envLOCALSEND_DESTINATION 指定的目录。

3. 配置和身份全持久化 config.tomlidentity.pempaired-v2.json 都挂载到宿主目录,设备身份和配对列表持久存在。alias 不配置时默认是容器主机名,可以在 config.toml 里改成自己想要的(比如 localsend-nas),其他设备就能按这个名字搜到。

4. 自动更新 build.sh 自动查最新 release,有新版本就重建镜像 + 重建容器,配了个定时器每周一凌晨检查,基本不用管。

怎么使用:

git clone https://github.com/100pangci/localsend-cli-container.git
cp .env.example .env

#然后将.env 里面的地址编辑成自己想要的地址

bash build.sh                                        # 构建 + 启动
systemctl --user enable --now localsend-update.timer # 每周自动更新

一些坑也踩过了:

  • 只写了 podman 版(podman compose / podman attach),Docker 要用的话 README 里列了 4 处改动,主要就是删掉 userns_mode: keep-id 那行,适配成本很低
  • keep-id 用户命名空间 + bind mount 的权限问题,折腾了一会儿才理清
  • 接收端运行时,容器内没法往外发文件(端口冲突),要发就宿主上直接跑二进制
  • 版本号通过 --build-arg 传,不在 Dockerfile 里硬编码,更新镜像不用改任何文件

GitHub Actions 也加了语法检查的 workflow 。

1 条回复
Admstor · 2026-08-12 20:57
#1

是个好思路,某些单向保存的情况确实很适合,而且隐私性也很好

添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: yuanweipangci05
发布: 2026-08-12
点赞: 0
回复: 0