爱极客专注分享-好玩的docker应用-源码分享

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

1. 前言

免费、简单、安全,开箱即用!
【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

2. 项目展示

直接丢几个图:

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

2.1 特点

  • 免费、轻量!简单调用接口即可给自己的 iPhone 发送推送。
  • 依赖苹果 APNs,及时、稳定、可靠
  • 不会消耗设备的电量, 基于系统推送服务与推送扩展,APP 本体并不需要运行。
  • 隐私安全,可以通过一些方式确保包含作者本人在内的所有人都无法窃取你的隐私。点击详细了解如何保障隐私安全

3. 相关地址

GitHub 官方仓库:https://github.com/Finb/bark-server
官方文档地址:https://bark.day.app/
作者博客:https://day.app/2018/06/bark-server-document/

4. 搭建环境

服务器要求:内存建议 1G,能安装 Docker 即可~

5. 搭建方式

如果你不是用的腾讯云的轻量应用服务器,可以直接跳到 5.1 部分。

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

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

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

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

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!
【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!
【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

5.1 安装 Docker 与 Nginx Proxy Manager

可以直接参考这篇内容:

https://www.iigeek.com/archives/331

5.2 创建安装目录

创建一下安装的目录:

sudo -i

mkdir -p /home/docker_data/bark

cd /home/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 保存退出。

5.3 打开服务器防火墙(非必需)并访问网页”)6.3 打开服务器防火墙(非必需)并访问网页

打开防火墙的端口 8090

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

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!
【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

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

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

查看端口是否被占用(以 8090 为例),输入:

lsof -i:8090  #查看 8090 端口是否被占用,如果被占用,重新自定义一个端口

如果啥也没出现,表示端口未被占用,我们可以继续下面的操作了~

如果出现:

-bash: lsof: command not found

运行:

apt install lsof  #安装 lsof

如果端口没有被占用(被占用了就修改一下端口,比如改成 8081,注意 docker 命令行里和防火墙都要改)

最后:

cd /home/docker_data/bark    # 来到 dockercompose 文件所在的文件夹下

docker-compose up -d 

理论上我们就可以输入 http://ip:8090/ping 访问了。

注意:

1、不知道服务器 IP,可以直接在命令行输入:curl ip.sb,会显示当前服务器的 IP。

2、遇到访问不了的情况,请再次检查在宝塔面板的防火墙和服务商的后台防火墙是否打开对应了端口。

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

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

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

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

如果想要长期使用,还是建议买 com 后缀的域名,更加正规一些。

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

我们接着往下看!

6. 反向代理

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

6.1 利用 Nginx Proxy Manager

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

6.1 利用 Nginx Proxy Manager

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

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

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

注意:

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

直接丢几张图:

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!
【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

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

IP 填写:

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

bash

ip addr show docker0

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

[【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

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

[【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

再次打开,勾选这些:

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

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

6.2 利用宝塔面板

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

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

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

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控![【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

代码如下:

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

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

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

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

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

7. 使用教程

参考官方文档:https://bark.day.app/#/tutorial

iOS

APP Store 里找到 Bark

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

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!
【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

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

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

点中间的注册设备:

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

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

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

# 推送标题
https://bark.uvh.cc/Xy4ssdd2pARjLfFY/推送标题/这里改成你自己的推送内容
【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

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

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

Chrome

Chrome 插件:

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

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

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

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

找到下面的 New device push URL

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

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

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

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

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

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

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

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

Uptim Kuma 使用实例

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

进入设置:

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

选择 Bark:

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

接入点填写:

https://域名/设备ID

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

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

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

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!
【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!
%E7%BD%91%E7%AB%99%E7%8A%B6%E6%80%81%E9%80%9A%E7%9F%A5

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

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

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

【好玩的docker应用】一款注重隐私、安全可控的 IOS 自定义通知推送工具 ——Bark,配合 Uptime Kuma 搭建网站监控!

7.1 更新 bark

cd /home/docker_data/bark

docker-compose down 

cp -r /home/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 搭建的应用,更新非常容易~

7.2 卸载 bark

cd /root/data/docker_data/bark

docker-compose down

cd ..

rm -rf /root/data/docker_data/bark  # 完全删除映射到本地的数据

可以卸载得很干净。

8. 常见问题

参考官方 FAQ:https://bark.day.app/#/faq

9. 结尾

祝大家用得开心,有问题可以去 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

© 版权声明
THE END
喜欢就支持一下吧
点赞15赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容