Skip to content

Bark Server 安装文档

本文主要介绍 Bark Server (以下简称 bark )的安装和部署,bark 部署在阿里云轻量应用服务器上,是作者的个人项目中的 iOS 推送服务端,主要负责接收 Uptime Kuma 的告警,并将通知推送到 iPhone。

当前使用:

bark-server_linux_amd64

创建目录:

Terminal window
mkdir -p /home/xx/midware/bark
cd /home/xx/midware/bark

下载完成后:

Terminal window
ls -lh

增加执行权限:

Terminal window
chmod +x bark-server_linux_amd64

检查:

Terminal window
file bark-server_linux_amd64

推荐只监听本机:

127.0.0.1:8080

启动:

Terminal window
./bark-server_linux_amd64

检查:

Terminal window
ss -lntp | grep 8080

本机测试:

Terminal window
curl -i http://127.0.0.1:8080

如果能够得到 Bark Server 响应,说明服务正常。

创建:

Terminal window
sudo nano /etc/systemd/system/bark-server.service

示例:

[Unit]
Description=Bark Server
After=network.target
[Service]
Type=simple
User=xx
WorkingDirectory=/home/xx/midware/bark
ExecStart=/home/xx/midware/bark/bark-server_linux_amd64
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target

重新加载:

Terminal window
sudo systemctl daemon-reload

启动:

Terminal window
sudo systemctl start bark-server

设置开机启动:

Terminal window
sudo systemctl enable bark-server

查看:

Terminal window
systemctl status bark-server

启动:

Terminal window
sudo systemctl start bark-server

停止:

Terminal window
sudo systemctl stop bark-server

重启:

Terminal window
sudo systemctl restart bark-server

查看:

Terminal window
systemctl status bark-server

检查开机启动:

Terminal window
systemctl is-enabled bark-server

实时:

Terminal window
journalctl -u bark-server -f

最近 100 行:

Terminal window
journalctl -u bark-server -n 100 --no-pager

当天日志:

Terminal window
journalctl -u bark-server --since today

因为作者的 bark 和 Nginx 都安装在阿里云轻量应用服务器上,所以此处通过 Nginx 进行反向代理,链路为

Terminal window
公网 --> 域名 --> Nginx --> 127.0.0.1:8080 --> Bark Server

Nginx 配置示例:

server {
listen 443 ssl;
server_name www.xx.cn;
ssl_certificate /你的证书路径/fullchain.pem;
ssl_certificate_key /你的证书路径/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

浏览器访问:

https://www.xx.cn

命令行:

Terminal window
curl -i https://www.xx.cn

如果可以正常返回响应:

域名
Nginx
127.0.0.1:8080
Bark Server

说明服务正常。

使用 Bark 设备 Key 测试:

Terminal window
curl -i "https://www.xx.cn/你的设备Key/测试"

根据当前 Bark Server 版本使用对应 API 格式。

成功条件:

HTTP 请求成功
+
iPhone Bark App 收到通知

注意:ios 手机上下载的 bark 图标为红色,App Store 中搜索 bark,下载 Bark - 给你的手机发推送,别选错了。安装完成后打开,点击右上角加号,输入你的服务器地址,本文此处输入 https://www.xx.cn/,保存后点击右上角的 ☁️ 图标,找到你刚才输入的服务器,可以复制 Key,该 Key 极为你的设备Key

Uptime Kuma 同样安装在阿里云轻量应用服务器上。

进入:

Uptime Kuma
→ Settings
→ Notifications
→ Add Notification
→ Bark

填写:

Bark Server URL:
https://www.xx.cn

以及:

Device Key

点击:

Test

成功后:

Uptime Kuma
阿里云 Bark Server
iPhone

Device Key 是推送凭证。不要 提交到 GitHub、写进公开配置文件、发到公开群聊、写进前端代码,如果泄露,其他人可能利用你的 Bark Server 向设备发送消息。