前言
在日常工作和生活里,我们 经常需要把服务器告警、脚本执行结果、自动化任务状态及时推送到手机上。对于用 iPhone 的朋友来说,如果能自己搭建一套推送服务那就太方便了。今天这期教程,就带你用 Docker 一键部署 Bark,快速完成配置和测试,轻松拥有自己的 iPhone 推送通知服务。想要让服务器通知随时触达手机,那就一起来动手吧

说明
bark本身是一个ios应用大家可以直接在苹果商店下载就可以使用,无需自建服务器即可使用作者提供的公共服务器,本教程主要是自建bark通知服务器的教程
项目简介
一款注重隐私、安全可控的自定义通知推送工具。
免费、简单、安全
✨ 功能特性
免费、轻量!简单调用接口即可给自己的iPhone发送推送。
依赖苹果APNs,及时、稳定、可靠
不会消耗设备的电量, 基于系统推送服务与推送扩展,APP本体并不需要运行。
隐私安全,可以通过一些方式确保包含作者本人在内的所有人都无法窃取你的隐私。
使用方法
URL格式
推送 URL 由推送 key、参数 title、参数 subtitle、参数 body 组成,有下面三种方式
/:key/:body
/:key/:title/:body
/:key/:title/:subtitle/:body
POST 还可使用下面的路径,然后将所有参数放进请求体中:
/push
请求方式
GET 请求参数拼接在 URL 后面,例如:
curl https://api.day.app/your_key/推送内容?group=分组©=复制
POST 请求参数放在请求体中,例如:
curl -X POST https://api.day.app/your_key \
-d'body=推送内容&group=分组©=复制'
POST 请求支持JSON,例如:
curl -X "POST" "https://api.day.app/your_key" \
-H 'Content-Type: application/json; charset=utf-8' \
-d $'{
"body": "Test Body",
"title": "Test Title",
"badge": 1,
"sound": "minuet",
"icon": "https://day.app/assets/images/avatar.jpg",
"group": "test",
"url": "https://bark.day.app"
}'
key 可以放进请求体中,URL 路径须为 /push,例如:
curl -X "POST" "https://api.day.app/push" \
-H 'Content-Type: application/json; charset=utf-8' \
-d '{
"body": "Test Body",
"title": "Test Title",
"device_key": "your_key"
}'
部署方法
使用Docker安装
本教程使用docker的方式安装部署,简单便捷

X86/Arm双平台
| 平台 | 架构 | 适用场景 |
|---|---|---|
| linux/amd64 | x86_64 | VPS、PC服务器、Intel/AMD |
| linux/arm64 | ARM64 | 树莓派、Mac M系列、ARM 云服务器 |

准备条件
1)一台服务器
我们使用莱卡云VPS来演示,建议选择境外云服务器(免备案)
需要vps的可以看以下信息,配置尽量选择大点的比如2核心4G内存
莱卡云官网
2)本教程使用到的项目
本教程使用的官方github地址
https://github.com/Finb/bark-server

如果对你有用,可以帮忙给作者点个stars
3)域名(建议)
根据自己的需求,
1.web界面建议绑定域名,方便使用
VPS部署
一、Docker环境部署
在vps安装docker和docker-compose
Docker官方安装文档(英文)
https://duan.yyzq.eu.org/docker-001
Docker-Compose官方安装文档(英文)
https://duan.yyzq.eu.org/docker-002
Centos安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//03
Ubuntu安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//04
推荐直接用一键脚本
docker安装脚本
bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)
docker-compose安装脚本
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
二、部署命令
登录我们自己的境外VPS使用root账户执行以下步骤
docker-compose命令
创建一个目录,并进入此目录
mkdir bark ;cd bark
请自行安装vim编辑器
然后再新建docker-compose.yml
vim docker-compose.yml
services: # 服务集合
bark: # 服务名称
image: finab/bark-server # 使用的镜像
container_name: bark # 容器名称
ports: # 端口映射列表
- "8380:8080" # 宿主机端口:容器端口
volumes: # 卷挂载列表
- ./bark-data:/data # 当前目录/bark-data 映射到容器 /data
restart: always # 重启策略:总是自动重启
tty: true # 分配伪终端(对应docker -t参数)
注意端口如有冲突自行修改
三、执行容器运行命令
docker-compose up -d #运行容器
docker-compose ps #查看是否启动成功
正常启动如下所示
docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
bark finab/bark-server "/entrypoint.sh bark…" bark 4 hours ago Up 4 hours 0.0.0.0:8380->8080/tcp, [::]:8380->8080/tcp
四、web界面
打开web页面使用
成功以后需要打开自己相应的端口8380)防火墙就可以web端访问了
主界面
http://ip:8380

该项目没有web界面我们看到ok就说明服务正常运行了
绑定域名
接下来就是绑定域名和配置SSL证书
绑定域名的教程参考以下内容
绑定域名视频教程
B站
YouTube
绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch
绑定好域名之后我们就得到了自建的https的通知服务

然后我们苹果手机下载bark客户端

我们填入自己新建的服务器地址即可

点击我们自己的地址

即可复制我们的key


得到地址和key我们就可以正常推送了
比如我自己用的提醒业务

正常推送

有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
欢迎关注我们的微信公众号!


评论区