PassNAT LogoPassNAT

自架推送服务平台PushDeer,NAS极简部署,支持内网穿透远程推送,多设备同步私密消息

作者

小编

发布时间

Curving abstract shapes with an orange and blue gradient

项目介绍

PushDeer 是一款自架推送服务平台,为用户提供多种无 APP 推送解决方案。项目采用开源模式运营,支持 iOS、Mac、Android 等多个平台,同时还提供了轻应用、快应用以及 IoT 设备等多种接收端。无论你是 NAS 用户、开发者还是内容创作者,都能通过 PushDeer 实现便捷的消息推送功能。项目基于 Laravel + PHP 构建,支持自行架设服务器,让你完全掌控数据安全,不受任何在线服务中断的影响。

项目地址:点我跳转


部署安装

如果你需要在外网也能访问 PushDeer,建议配置内网穿透。推荐使用 帕斯内网穿透,先注册好账号备用。具体操作方法可以 点我查看 帕斯内网穿透全平台快速入门指南。


最快速上手配置

PushDeer 提供了开箱即用的 Docker Compose 配置,是部署的最佳选择。


复制下列的配置文件

1version: '2.1'
2services:
3 mariadb:
4 image: 'mariadb:10.5.8-focal'
5 healthcheck:
6 test: ["CMD", "mysqladmin", "ping", "--silent","--password=$$MYSQL_ROOT_PASSWORD"]
7 timeout: 10s
8 retries: 3
9 volumes:
10 - 'mariadb_data:/var/lib/mysql'
11 environment:
12 - MYSQL_ROOT_PASSWORD=theVeryp@ssw0rd
13 - MYSQL_DATABASE=pushdeer
14 ports:
15 - '3306:3306'
16 redis:
17 image: 'bitnami/redis:6.0.16'
18 healthcheck:
19 test: ["CMD", "redis-cli","ping"]
20 environment:
21 - ALLOW_EMPTY_PASSWORD=yes
22 app:
23 build: './docker/web/'
24 ports:
25 - '8800:80'
26 volumes:
27 - './:/app'
28 depends_on:
29 mariadb:
30 condition: service_healthy
31 redis:
32 condition: service_healthy
33 environment:
34 - DB_HOST=mariadb
35 - DB_PORT=3306
36 - DB_USERNAME=root
37 - DB_DATABASE=pushdeer
38 - DB_PASSWORD=theVeryp@ssw0rd
39volumes:
40 mariadb_data:


打开飞牛 NAS 或其他的 NAS 设备

点击本地镜像 - 添加镜像 - 从 URL 添加,这一步先添加 docker 镜像。

镜像填 webdevops/php-apache:8.0-alpine,等待下载完成后点击启动按钮启动容器。


开始配置

勾选开机自动启动后下一步。端口设置这里需要特别注意,容器内部使用 80 端口进行 Web 服务,建议映射到宿主机的 8800 端口(如果 8800 端口被占用,可以修改为其他未使用的端口,但容器内的 80 端口保持不变)。同时数据库服务需要映射 3306 端口用于 MySQL 连接。

存储位置这里,需要将项目目录映射进容器。建议在 NAS 上创建一个专用文件夹(比如 /mnt/pushdeer),将其映射到容器内的 /app 目录,这样可以持久化保存所有配置和数据。


环境变量设置

必须设置:

DB_HOST: mariadb(数据库主机)

DB_PORT: 3306(数据库端口)

DB_USERNAME: root(数据库用户名)

DB_DATABASE: pushdeer(数据库名称)

DB_PASSWORD: theVeryp@ssw0rd(数据库密码,强烈建议修改此默认密码为安全的密码)


选择设置,可以不填:

APP_DEBUG: false(调试模式,生产环境保持 false)

其他的都不用填写,直接下一步启动就好了。


访问应用

创建成功后可以访问 http://你的NAS地址:8800 来打开 PushDeer 管理界面。看到登录页面表示部署成功。

首次使用需要通过 Apple 账号或微信账号登录(Android 版支持微信),然后在「设备」标签页注册你的设备,在「Key」标签页生成推送密钥即可开始使用。


部署完成!

现在你已经拥有了一个完全私有的推送服务平台。可以通过生成的 Key 和简单的 URL 调用实现文本推送、图片推送、Markdown 推送等多种功能。支持在多台设备间同步消息,完全掌控你的推送数据。