本项目是统一推送平台,包含:
- 后端 API(Fastify + Prisma + SQLite)
- Web 管理面板(React + Ant Design)
- 用户体系(注册/登录/角色)
- API Key 推送调用
npm installnpm run prisma:push -w @allpush/apinpm run build开发模式:
npm run dev生产模式(先构建再启动):
npm start默认访问:http://localhost:3000
完整 API 调用手册(请求参数、返回参数、功能与参数说明):
curl -X POST "http://localhost:3000/api/v1/push/send" \
-H "Content-Type: application/json" \
-H "X-API-Key: apu_xxx" \
-d '{
"title": "测试",
"message": "Hello"
}'文件:.env(项目根目录)
DATABASE_URLJWT_SECRETADMIN_USERNAMEADMIN_PASSWORDLOG_RETENTION_DEFAULT_DAYSPORT(可选,默认 3000)HOST(可选,默认0.0.0.0)
镜像自动跟随 main 分支构建,无需本地编译。
docker pull ghcr.io/hclonely/allpushapi_service:main
docker run -d \
-p 3000:3000 \
-v $(pwd)/data:/data \
-e JWT_SECRET=your-secret-key \
-e ADMIN_USERNAME=admin \
-e ADMIN_PASSWORD=your-password \
ghcr.io/hclonely/allpushapi_service:main镜像详情页:ghcr.io/hclonely/allpushapi_service
docker-compose 方式:
services:
allpush-api:
image: ghcr.io/hclonely/allpushapi_service:main
ports:
- "3000:3000"
volumes:
- ./data:/data
environment:
- JWT_SECRET=your-secret-key
- ADMIN_USERNAME=admin
- ADMIN_PASSWORD=your-password
restart: unless-stopped# 构建并启动
docker-compose up -d
# 查看日志
docker-compose logs -f
# 停止
docker-compose downdocker build -t all-push-api .
docker run -d \
-p 3000:3000 \
-v $(pwd)/data:/data \
-e JWT_SECRET=your-secret-key \
-e ADMIN_USERNAME=admin \
-e ADMIN_PASSWORD=your-password \
all-push-apiSQLite 数据库文件存储在 /data/app.db,通过 volume 挂载到宿主机 ./data 目录。
构建完成后,一键安装为系统服务:
npm run service脚本自动完成:
- 创建
/etc/systemd/system/allpush-api.service - 设置开机自启
- 启动服务
手动管理命令:
systemctl status allpush-api # 查看状态
systemctl restart allpush-api # 重启
systemctl stop allpush-api # 停止
journalctl -u allpush-api -f # 查看日志