开箱即用!一款注重隐私、安全可控的IOS自定义通知推送工具——Bark,配合Uptime Kuma搭建网站监控!|好玩儿的Docker项目|爱玩实验室

免费、简单、安全,开箱即用!本文介绍了一个免费轻量的iPhone推送服务,可以通过简单调用接口实现。详情请阅读以下内容。

本博客用什么VPS?创作不易,欢迎请咕咕喝杯咖啡☕☕☕

1. 前言

免费、简单、安全,开箱即用!

2. 项目展示

直接丢几个图:

IMG_8A07D54D57DD-1.jpeg

特点

  • 免费、轻量!简单调用接口即可给自己的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 部分。

安装系统(腾讯云轻量应用服务器)

e59713fba8726d3cb55ae11bca83fe3c.png

腾讯云轻量服务器最大的特点就是 “轻量”,相比 CVM,更适合小白上手,这边我们之间选择 Docker 基础镜像,就可以省去后面安装 Docker 的步骤 (如果你非要用国内的服务器,这边装的 Docker 镜像还会帮你配置好国内镜像源,让你加速访问 docker 镜像资源) 不建议用国内的 。

登陆(腾讯云轻量应用服务器)

2722040ee311eb4a9ebf2a4945bf38f4.png
c0b5d360053746c4095d592967ee401f.png
e0ba858f021b846ad0abc27acf5008c2.png

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

举例,腾讯云打开方法如下(部分服务商没有自带的面板防火墙,就不用这步操作了):

image-20220630215240864
image-20220630220546335

图中示例填的是 5230,备注填的是 memos,这边我们填 8090,示例填 bark ,确定即可(如果你在 docker-compose 文件里换了 9009,这边就需要填 9009,以此类推)

image-20220819145844555

查看端口是否被占用(以 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、遇到访问不了的情况,请再次检查在宝塔面板的防火墙和服务商的后台防火墙是否打开对应了端口。

5c6c9207637033970fd9f0c2c502aaa8.png

出现code:200代表安装成功!

因为这个涉及到个人消息的,所以非常需要https!会让网页更安全!

namesilo 上面 xyz 后缀的域名一年就 7 块钱,可以年抛。(冷知识,namesilo上 6位数字的xyz续费永远都是0.99美元 = =)

如果想要长期使用,还是建议买 com 后缀的域名,更加正规一些,可以输入 laodade 来获得 1 美元的优惠(不知道现在还有没有)

namesilo 自带隐私保护,咕咕一直在用这家,价格也是这些注册商里面比较低的,关键是他家不像其他家域名注册商,没有七七八八的套路!(就是后台界面有些 古老 = =)

【域名购买】Namesilo 优惠码和域名解析教程(附带服务器购买推荐和注意事项)

我们接着往下看!

7. 反向代理

我们要用域名而不是IP+端口的方式来访问我们的服务!

7.1 利用 Nginx Proxy Manager

在添加反向代理之前,确保你已经完成了域名解析,不会的可以看这个:域名一枚,并做好解析到服务器上域名购买、域名解析 视频教程

image-20221016140213282

之后,登陆 Nginx Proxy Manager(不会的看这个:安装 Nginx Proxy Manager相关教程))

注意:

Nginx Proxy Manager(以下简称 NPM)会用到 80443 端口,所以本机不能占用(比如原来就有 Nginx)

直接丢几张图:

image-20220502123517401
image-20230527132253249

注意填写对应的 域名IP端口,按文章来的话,应该是 8090

IP 填写:

如果 Nginx Proxy Manager 和 bark 在同一台服务器上,可以在终端输入:

ip addr show docker0

查看对应的 Docker 容器内部 IP。

开箱即用!一款注重隐私、安全可控的IOS自定义通知推送工具——Bark,配合Uptime Kuma搭建网站监控!|好玩儿的Docker项目|爱玩实验室

否则直接填 bark 所在的服务器 IP 就行。

image-20220403104353185

再次打开,勾选这些:

image-20221016140356324

然后就可以用域名来安装访问了。

7.2 利用宝塔面板

发现还是有不少小伙伴习惯用宝塔面板,这边也贴一个宝塔面板的反代配置:

直接新建一个站点,不要数据库,不要 php,纯静态即可。

然后打开下面的配置,修改 Nginx 的配置。

image-20220819150345725
image-20220819150542867

代码如下:

    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% 的反向代理都能生效,然后就可以用域名来安装访问了。

有同学可能会问,为什么不直接用宝塔自带的反向代理功能。

image-20220819150730128

也可以,不过咕咕自己之前遇到过当有多个网站需要反代的时候,在这边设置会报错的情况 = =

所以后来就不用了,直接用上面的方法来操作了。

8. 使用教程

参考视频,或者官方文档:https://bark.day.app/#/tutorial

iOS

APP Store 里找到 Bark

打开 APP,默认指向了官方服务器 api.day.app,需要点右上角的 + 号来添加我们前面搭建的私有服务器:

c4a53736051c675cbff711ffeb5ec91a.png

APP端填入你的服务器 IP或域名:

4feba2a8cd724a158f94c99a6c74bd59.png

添加成功之后,要 允许 发消息通知:

046502e4cd8a24680cbd22a8cb02b9b1.png

点中间的注册设备:

7d1ff1a29599ecf097782e79c8e5fdfe.png

会显示不同内容的发送格式

#  推送内容
https://bark.gugu.ovh/Xy4ssdd2pARjLfFY/这里改成你自己的推送内容

# 推送标题
https://bark.gugu.ovh/Xy4ssdd2pARjLfFY/推送标题/这里改成你自己的推送内容

53d945659fd6737f4d92e320f9168274.png

其中域名后面的一串字符 Xy4ssdd2pARjLfFY 就是用来标识设备的唯一码,别人知道这个码,然后知道你的这个域名,就可以给你推送消息了,所以注意保管好不要泄漏。

接下来你就可以用命令行、API 调试工具或者 chrome插件,来向iphone 发送消息

Chrome

Chrome插件:

1da8b329d0b6944511fa1fee3cb2890b.png

安装完成后,点浏览器上的插件图标,会弹出提示

img

Default Push Content 是指缺省推送的内容,Clipboard是剪贴板中的内容,Current page URL 是当前打开网页的地址

找到下面的 New device push URL

img

填入前面获取的地址,https://bark.gugu.ovh/Xy4ssdd2pARjLfFY

如果你有多台iPhone,Alias (别名)要填一下,用来区分不同的手机

02e03b76ec16769b43e87e11f8b989a0.png

在网页上选取内容后,右键找到 Push To Device

405c404554edc2acd7d08560154265a3.png

手机端就会收到发送的消息

9badcd63aeda2536be39ab6e09ab1e0a.png

Uptim Kuma使用实例

安装教程:【好玩的Docker项目】搭建一个专属自己的网站监控——Uptime Kuma

进入设置:

ff0682029b207137bf40dc0ad24817a6.png

选择Bark:

74b5be25747d23f7cf5cff9de1a6b465.png

接入点填写:

https://域名/设备ID

Bark群组这边记得填写英文:

53f2d32d9db9ab87dbbbb8e209b2071d.png

如果你填写了中文,需要把他转成浏览器可以识别的字符:

24b0ae4007dba9fed69761602b00cf93.png
8af6535933c9ddfe753529c10952df4d.png

%E7%BD%91%E7%AB%99%E7%8A%B6%E6%80%81%E9%80%9A%E7%9F%A5

否则会遇到Request path contains unescaped characters 的错误

23c14183a9b7cde5a89a2eb6b9f7a226.png

测试成功,iPhone上会收到这样的信息:

IMG_11A65204D6F2-1.jpeg

更新 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://www.v2ex.com/t/467407

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/

(3)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Roy的头像Roy
上一篇 2023年6月15日 下午7:24
下一篇 2023年8月13日 下午2:58

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

评论列表(14条)

  • itok
    itok 2023年9月9日 下午9:48

    嘿嘿,我用的是docker+checkchan

  • 啊这这
    啊这这 2023年8月14日 下午4:28

    官方文档写了推送加密部分,但是app没找到设置界面,是不支持了吗

    • Roy的头像
      Roy 2023年8月14日 下午4:30

      @啊这这支持的,看这边:https://bark.day.app/#/encryption

    • 啊这这
      啊这这 2023年8月14日 下午4:41

      @Roy找到了,‘加密设置’,app主页很多测试的例子,其中有个叫推送加密,末尾有个加密设置,一开始直奔app设置了

  • electronics
    electronics 2023年8月14日 上午10:40

    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.

    • Roy的头像
      Roy 2023年8月14日 上午11:15

      @electronicsHello 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
    lokou 2023年7月6日 下午10:45

    咕咕,有没有什么办法可以让苹果手机远程投屏到苹果电脑上并能被苹果电脑用鼠标控制的工具或方法呢?我下载的那些远程工具不只能用苹果电脑操作苹果手机

    • 我不是咕咕鸽的头像
      Roy 2023年7月7日 上午8:49

      @lokou暂时没找到,ios安全性比较高,不容易这样操作

  • hdongd
    hdongd 2023年7月3日 上午11:53

    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 the version 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/

    • 我不是咕咕鸽的头像
      Roy 2023年7月3日 下午12:46

      @hdongdversion: ‘3.8’ 改成version: ‘3.3’试试看

  • kklove77
    kklove77 2023年7月1日 下午10:22

    咕咕可以了解一下pushdeer也很好用,我这两个混着用

    • 我不是咕咕鸽的头像
      Roy 2023年7月2日 上午7:55

      @kklove77好的,有时间试试,感谢推荐!

  • River
    River 2023年6月29日 上午12:29

    不过感觉还是tg的推送可玩性高一些hh