Files
meshgo/meshgo.service
T
kevin bf41e82a43 feat: 初始化 meshgo MQTT 服务
- 支持 TCP / WebSocket 监听,配置热重载,systemd 集成
- meshAuthHook 实现用户名/密码认证与 ACL
- meshLogHook 打印所有 MQTT 事件(CONNECT/PUBLISH/SUBSCRIBE 等)
- meshDBHook 将 msh/# 主题 payload 异步写入数据库
- 数据库支持 SQLite(默认)和 MySQL,自动初始化并补充缺失配置
- payload_log 表字段:ID、client、topic、qos、payload、created_at、sender_ip
- 自动补充 config.yaml 缺失字段(文件存在时写回)
- .gitignore 屏蔽 data/ 和 .workbuddy/
2026-05-15 18:09:39 +08:00

32 lines
695 B
Desktop File

[Unit]
Description=meshgo MQTT Broker
Documentation=https://github.com/mochi-mqtt/server
After=network.target
[Service]
Type=simple
# 以 root 运行以便绑定 1883 端口;如已设置 CAP_NET_BIND_SERVICE 可改为普通用户
User=root
Group=root
# 二进制路径,编译后 cp meshgo /usr/local/bin/meshgo
ExecStart=/usr/local/bin/meshgo
# systemctl reload meshgo → 发送 SIGHUP → 热重载配置
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=5s
# 日志输出交由 journald 接管
StandardOutput=journal
StandardError=journal
SyslogIdentifier=meshgo
# 资源保护(可选)
PrivateTmp=true
NoNewPrivileges=true
[Install]
WantedBy=multi-user.target