# Listmonk 邮件通讯(轻量 / Go) NomadCNA 仅自托管 **Listmonk**(Go 编写,~128MB)用于城市/活动邮件订阅。 | 服务 | 域名 | 内网端口 | | --- | --- | --- | | Listmonk | https://listmonk.nomadro.cn | 9030 | **不自托管**(内存占用高,已移除): - Cal.com(Node,预约改由站内消息协调) - Owncast / PeerTube(直播/点播沿用 **MiroTalk** + **MinIO**) ## 国内镜像 `/etc/docker/daemon.json` 参考 `daemon.json.cn`,拉取用 `pull-images-cn.sh`(`docker.1ms.run` 前缀)。 ## 部署 ```bash python scripts/deploy-listmonk.py ``` ## API 管理后台创建 Token 后: ``` LISTMONK_API_KEY=... LISTMONK_DEFAULT_LIST_IDS=1 ``` ## ntfy 手机推送(Go,已有容器 `nomadro-ntfy`) | 域名 | 端口 | | --- | --- | | https://ntfy.nomadro.cn | 127.0.0.1:9180 | - HTTPS:`docker/integrations/nginx/ntfy.nomadro.cn.conf` + Certbot - 认证:`deny-all` 默认;匿名用户可读 `nomadcna-*` 主题(App 订阅) - 后端发布:服务器 `.env.local` 配置 `NTFY_AUTH_TOKEN=tk_...` - 业务接入:`create_notification` 对 `targetUserId` 推送;设置页开启「手机推送」 ```bash python scripts/ssh-fix-ntfy.py # 修复 HTTPS python scripts/ssh-setup-ntfy-acl3.py # ACL + 后端 token(如需重建) ```