文章目录
1. 前言
免费、简单、安全,开箱即用!
2. 项目展示
直接丢几个图:
特点
- 免费、轻量!简单调用接口即可给自己的iPhone发送推送。
- 依赖苹果APNs,及时、稳定、可靠
- 不会消耗设备的电量, 基于系统推送服务与推送扩展,APP本体并不需要运行。
- 隐私安全,可以通过一些方式确保包含作者本人在内的所有人都无法窃取你的隐私。点击详细了解如何保障隐私安全
3. 相关地址
GitHub官方仓库:https://github.com/Finb/bark-server
官方文档地址:https://bark.day.app/
作者博客:https://day.app/2018/06/bark-server-document/
4. 搭建环境
- 服务器:
腾讯香港轻量应用服务器 24 元 / 月 VPS 一台咕咕自己搭建用的是硅谷的腾讯轻量应用服务器 ,(这次最好选 非大陆的,而且线路还不错的机器)如果是小白刚开始玩的话,也可以选择 莱卡云 美国CN2 GIA 的服务器,(莱卡云服务器介绍:点击查看)或者Racknerd的高性价比服务器(注意地区选美国西部城市的) - 系统:Debian 11 (DD 脚本 非必需 DD,用原来的系统也 OK,之后教程都是用 Debian 或者 Ubuntu 搭建~)
- 安装好 Docker、Docker-compose(相关脚本)
- 【非必需但建议】域名一枚,并做好解析到服务器上(域名购买、域名解析 视频教程)
- 【非必需】提前安装好宝塔面板海外版本 aapanel,并安装好 Nginx(安装地址)
- 【非必需本教程选用】安装好 Nginx Proxy Manager(相关教程)
服务器要求:内存建议1G,能安装Docker即可~
5. 搭建视频(周末有空录一个)
5.1 YouTube:
视频地址:https://youtu.be/Pfrla3su_Js
5.2 哔哩哔哩
哔哩哔哩:https://www.bilibili.com/video/BV1qP411e7Qm/
6. 搭建方式
如果你不是用的腾讯云的轻量应用服务器,可以直接跳到 6.1 部分。
安装系统(腾讯云轻量应用服务器)
腾讯云轻量服务器最大的特点就是 “轻量”,相比 CVM,更适合小白上手,这边我们之间选择 Docker 基础镜像,就可以省去后面安装 Docker 的步骤 (如果你非要用国内的服务器,这边装的 Docker 镜像还会帮你配置好国内镜像源,让你加速访问 docker 镜像资源) 不建议用国内的 。
登陆(腾讯云轻量应用服务器)
6.1 安装 Docker 与 Nginx Proxy Manager
可以直接参考这篇内容:
https://iwanlab.com/nginx-proxy-manager/
6.2 创建安装目录
创建一下安装的目录:
sudo -i
mkdir -p /root/data/docker_data/bark
cd /root/data/docker_data/bark
vim docker-compose.yml
英文输入法下,按 i
version: '3.8'
services:
bark-server:
image: finab/bark-server
container_name: bark-server
restart: always
volumes:
- ./data:/data
ports:
- "8090:8080" # 左边的8090可以自行修改成服务器上没有使用的端口
修改好之后,注意切换成英文输入法,然后按一下 esc
,然后 :wq
保存退出。
6.3 打开服务器防火墙(非必需)并访问网页
打开防火墙的端口 8090
举例,腾讯云打开方法如下(部分服务商没有自带的面板防火墙,就不用这步操作了):
图中示例填的是 5230
,备注填的是 memos
,这边我们填 8090
,示例填 bark
,确定即可(如果你在 docker-compose 文件里换了 9009
,这边就需要填 9009
,以此类推)
查看端口是否被占用(以 8090
为例),输入:
lsof -i:8090 #查看 8090 端口是否被占用,如果被占用,重新自定义一个端口
如果啥也没出现,表示端口未被占用,我们可以继续下面的操作了~
如果出现:
-bash: lsof: command not found
运行:
apt install lsof #安装 lsof
如果端口没有被占用(被占用了就修改一下端口,比如改成 8081
,注意 docker 命令行里和防火墙都要改)
最后:
cd /root/data/docker_data/bark # 来到 dockercompose 文件所在的文件夹下
docker-compose up -d
理论上我们就可以输入 http://ip:8090/ping
访问了。
注意:
1、不知道服务器 IP,可以直接在命令行输入:
curl ip.sb
,会显示当前服务器的 IP。2、遇到访问不了的情况,请再次检查在宝塔面板的防火墙和服务商的后台防火墙是否打开对应了端口。
出现code:200
代表安装成功!
因为这个涉及到个人消息的,所以非常需要https!会让网页更安全!
namesilo 上面 xyz 后缀的域名一年就 7 块钱,可以年抛。(冷知识,namesilo上 6位数字的xyz续费永远都是0.99美元 = =)
如果想要长期使用,还是建议买 com 后缀的域名,更加正规一些,可以输入 laodade
来获得 1 美元的优惠(不知道现在还有没有)
namesilo 自带隐私保护,咕咕一直在用这家,价格也是这些注册商里面比较低的,关键是他家不像其他家域名注册商,没有七七八八的套路!(就是后台界面有些丑 古老 = =)
【域名购买】Namesilo 优惠码和域名解析教程(附带服务器购买推荐和注意事项)
我们接着往下看!
7. 反向代理
我们要用域名而不是IP+端口的方式来访问我们的服务!
7.1 利用 Nginx Proxy Manager
在添加反向代理之前,确保你已经完成了域名解析,不会的可以看这个:域名一枚,并做好解析到服务器上(域名购买、域名解析 视频教程)
之后,登陆 Nginx Proxy Manager(不会的看这个:安装 Nginx Proxy Manager(相关教程))
注意:
Nginx Proxy Manager(以下简称 NPM)会用到
80
、443
端口,所以本机不能占用(比如原来就有 Nginx)
直接丢几张图:
注意填写对应的
域名
、IP
和端口
,按文章来的话,应该是8090
IP 填写:
如果 Nginx Proxy Manager 和 bark 在同一台服务器上,可以在终端输入:
ip addr show docker0
查看对应的 Docker 容器内部 IP。
否则直接填 bark
所在的服务器 IP 就行。
再次打开,勾选这些:
然后就可以用域名来安装访问了。
7.2 利用宝塔面板
发现还是有不少小伙伴习惯用宝塔面板,这边也贴一个宝塔面板的反代配置:
直接新建一个站点,不要数据库,不要 php,纯静态即可。
然后打开下面的配置,修改 Nginx 的配置。
代码如下:
location / {
proxy_pass http://127.0.0.1:8090/; # 注意改成你实际使用的端口
rewrite ^/(.*)$ /$1 break;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade-Insecure-Requests 1;
proxy_set_header X-Forwarded-Proto https;
}
此方法对 90% 的反向代理都能生效,然后就可以用域名来安装访问了。
有同学可能会问,为什么不直接用宝塔自带的反向代理功能。
也可以,不过咕咕自己之前遇到过当有多个网站需要反代的时候,在这边设置会报错的情况 = =
所以后来就不用了,直接用上面的方法来操作了。
8. 使用教程
参考视频,或者官方文档:https://bark.day.app/#/tutorial
iOS
在 APP Store
里找到 Bark
打开 APP
,默认指向了官方服务器 api.day.app
,需要点右上角的 +
号来添加我们前面搭建的私有服务器:
在 APP
端填入你的服务器 IP
或域名:
添加成功之后,要 允许
发消息通知:
点中间的注册设备:
会显示不同内容的发送格式
# 推送内容
https://bark.gugu.ovh/Xy4ssdd2pARjLfFY/这里改成你自己的推送内容
# 推送标题
https://bark.gugu.ovh/Xy4ssdd2pARjLfFY/推送标题/这里改成你自己的推送内容
其中域名后面的一串字符 Xy4ssdd2pARjLfFY
就是用来标识设备的唯一码,别人知道这个码,然后知道你的这个域名,就可以给你推送消息了,所以注意保管好不要泄漏。
接下来你就可以用命令行、API
调试工具或者 chrome
插件,来向iphone
发送消息
Chrome
Chrome插件:
安装完成后,点浏览器上的插件图标,会弹出提示
Default Push Content
是指缺省推送的内容,Clipboard
是剪贴板中的内容,Current page URL
是当前打开网页的地址
找到下面的 New device push URL
填入前面获取的地址,https://bark.gugu.ovh/Xy4ssdd2pARjLfFY
如果你有多台iPhone,
Alias
(别名)要填一下,用来区分不同的手机
在网页上选取内容后,右键找到 Push To Device
手机端就会收到发送的消息
Uptim Kuma使用实例
安装教程:【好玩的Docker项目】搭建一个专属自己的网站监控——Uptime Kuma
进入设置:
选择Bark:
接入点填写:
https://域名/设备ID
Bark群组这边记得填写英文:
如果你填写了中文,需要把他转成浏览器可以识别的字符:
%E7%BD%91%E7%AB%99%E7%8A%B6%E6%80%81%E9%80%9A%E7%9F%A5
否则会遇到Request path contains unescaped characters
的错误
测试成功,iPhone上会收到这样的信息:
更新 bark
cd /root/data/docker_data/bark
docker-compose down
cp -r /root/data/docker_data/bark /root/data/docker_data/bark.archive # 万事先备份,以防万一
docker-compose pull
docker-compose up -d # 请不要使用 docker-compose stop 来停止容器,因为这么做需要额外的时间等待容器停止;docker-compose up -d 直接升级容器时会自动停止并立刻重建新的容器,完全没有必要浪费那些时间。
docker image prune # prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像
提示:
WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N]
输入 y
利用 Docker 搭建的应用,更新非常容易~
卸载 bark
cd /root/data/docker_data/bark
docker-compose down
cd ..
rm -rf /root/data/docker_data/bark # 完全删除映射到本地的数据
可以卸载得很干净。
9. 常见问题
参考官方FAQ:https://bark.day.app/#/faq
10. 结尾
祝大家用得开心,有问题可以去 GitHub 提 Issues,也可以在评论区互相交流探讨。
同时,有能力给项目做贡献的同学,也欢迎积极加入到 项目 中来,贡献自己的一份力量!
最后,感谢开发人员们的辛苦付出,让我们能用到这么优秀的项目!
参考资料
GitHub官方仓库:https://github.com/Finb/bark-server
官方文档地址:https://bark.day.app
作者博客:https://day.app/2018/06/bark-server-document/
https://day.app/2018/06/bark-server-document/
https://github.com/Finb/Bark/blob/master/README.md
---------------
如何觉得文章内容不错,欢迎点击一下广告,支持一下咕咕😍😍😍
原创文章,作者:Roy,如若转载,请注明出处:https://iwanlab.com/docker-compose-install-bark/
评论列表(14条)
嘿嘿,我用的是docker+checkchan
官方文档写了推送加密部分,但是app没找到设置界面,是不支持了吗
@啊这这:支持的,看这边:https://bark.day.app/#/encryption
@Roy:找到了,‘加密设置’,app主页很多测试的例子,其中有个叫推送加密,末尾有个加密设置,一开始直奔app设置了
hello there and thank you for your information – I
have certainly picked up anything new from right here. I did however expertise a few technical points using this site, as
I experienced to reload the site lots of times previous to I could get it to load
correctly. I had been wondering if your web hosting is OK?
Not that I am complaining, but sluggish loading instances times will very
frequently affect your placement in google and can damage your high quality
score if ads and marketing with Adwords. Anyway I am adding this RSS to my e-mail
and can look out for a lot more of your respective fascinating content.
Ensure that you update this again very soon.
@electronics:Hello there,
Appreciate your valuable input and understanding. I understand there have been some technical difficulties with the site, and I apologize for the inconvenience.
To address these issues, I’ve migrated the server to Hetzner and have also activated Cloudflare CDN to better the loading time and performance. I’m hopeful that these adjustments will greatly enhance the speed and stability of the blog.
Do keep an eye out for updates and give the blog another visit. Feel free to share any additional feedback or suggestions you may have.
Thanks again for your support and patience.
咕咕,有没有什么办法可以让苹果手机远程投屏到苹果电脑上并能被苹果电脑用鼠标控制的工具或方法呢?我下载的那些远程工具不只能用苹果电脑操作苹果手机
@lokou:暂时没找到,ios安全性比较高,不容易这样操作
Version in “./docker-compose.yml” is unsupported. You might be seeing this error because you’re using the wrong Compose file version. Either specify a supported version (e.g “2.2” or “3.3”) and place your service definitions under the
services
key, or omit theversion
key and place your service definitions at the root of the file to use version 1.For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/
@hdongd:version: ‘3.8’ 改成version: ‘3.3’试试看
咕咕可以了解一下pushdeer也很好用,我这两个混着用
@kklove77:好的,有时间试试,感谢推荐!
不过感觉还是tg的推送可玩性高一些hh
@River:是的