yuanweipangci05
V2EX  ›  Docker

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

  •  
  •   yuanweipangci05 · 7 days ago · 576 views

    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 。

    2 replies    2026-08-13 13:49:26 +08:00
    Admstor
        1
    Admstor  
       7 days ago
    是个好思路,某些单向保存的情况确实很适合,而且隐私性也很好
    julyclyde
        2
    julyclyde  
       6 days ago
    为了 而
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3961 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 00:18 · PVG 08:18 · LAX 17:18 · JFK 20:18
    ♥ Do have faith in what you're doing.