hunwalk / board
适用于php和自托管爱好者们的告警板
Requires
- php: >=7.1.0
- ext-json: *
- dektrium/yii2-rbac: ^1.0
- dektrium/yii2-user: ^0.9.14
- kartik-v/yii2-widget-colorinput: *
- richardfan1126/yii2-js-register: ^0.0.1
- scrivo/highlight.php: v9.18.1.2
- yiisoft/yii2: ^2.0
- yiisoft/yii2-bootstrap: ~2.0.0
- yiisoft/yii2-swiftmailer: ~2.0.0 || ~2.1.0
Requires (Dev)
- codeception/base: ~2.3.0
- codeception/specify: ~0.4.6
- codeception/verify: ~0.4.0
- symfony/browser-kit: >=2.7 <=4.2.4
- symfony/dotenv: ^4.2
- symfony/var-dumper: ^5.0
- yiisoft/yii2-debug: ~2.1.0
- yiisoft/yii2-faker: ~2.0.0
- yiisoft/yii2-gii: ~2.1.0
This package is auto-updated.
Last update: 2024-09-27 18:17:05 UTC
README
这是一个简单的告警板,适用于自托管爱好者、初创公司等。您可以通过提供的api将各种消息或告警发送到该板。此项目仍在开发中,因此不要期望它直接就可以使用。它需要一些调整。
该项目使用Yii框架,以及我创建的预配置应用模板,您可以在以下位置找到: https://github.com/hunwalk/yii2-basic-firestarter/
此外,该标志使用了我在以下网站下载的图标: https://www.flaticon.com/free-icon/wild-boar_427417
顺便说一下,这个项目看起来是这样的
开始 | 安装
您需要composer来使用此项目。您可以在以下位置找到它以及有关如何安装的一些说明:https://getcomposer.org.cn/
使用最新版本
$ composer create-project hunwalk/board <projectName>
或者使用当前的master分支,如果您急需功能
$ git clone https://github.com/hunwalk/board <projectName>
$ cd <projectName>
$ composer install
$ composer run-script post-create-project-cmd
post-create-project-cmd脚本能设置一些文件夹的权限并为您生成cookieValidationKey
自动安装
请注意,这仍然是beta版本,可能还无法正常工作。如果您发现了错误,请在github上创建一个问题
在本地机器上
使用您喜欢的终端并cd到您的项目目录。
然后使用以下命令
php yii serve
就这样。打开您的浏览器,转到https://:8080/并点击安装。
在共享主机环境中。
将vhost的documentRoot设置为该项目中的web文件夹。就这样。
手动配置
如果您已经使用了上述方法,可以跳过这一部分。
第一步
从.env.example创建一个.env文件
OSX / LINUX
$ cp .env.example .env
Windows
$ copy .env.example .env
第二步
- 填写.env文件。添加或删除内容,完全由您决定
- 运行以下命令
$ php yii migrate-user $ php yii migrate-rbac $ php yii migrate
第三步
- 运行服务器并享受吧 :)
$ php yii serve
发送告警
您有两种选择。第一种是使用该项目内提供的board.js。您可以在项目页面上找到有关此信息的更多信息。
通过API手动发送告警
您需要向/api/v1/alert/push发送POST请求。Content-Type可以是application/json
或application/x-www-form-urlencoded
为了简单演示,json体应该如下所示
{ "api_push_key": "<your_project_api_key>", "type": "html", "alertName": "Test alert name", "alertBody": "<p>Test alert body</p>", "keywords": [ "example-keyword1", "example-keyword2" ], "sender": { "name" : "custom_alert_sender", "version" : "v0.1" } }
告警的type
可以是很多东西,但基本上描述了alertBody
。
例如"type": "html"
表示内容将被视为HTML。类型可以是:html
、text
、error
、json
注意
如果您选择error,请确保对象中包含stackTraceString属性。例如。
{ "type": "error", "alertName": "Test alert name", "alertBody": { "stackTraceString": "your StackTraceString" } }
常见问题解答
- 我如何创建用户?
- 在创建用户时遇到RFC合规错误。接下来怎么办?
我如何创建用户?
此项目利用了dektrium/yii2-user包。因为我还没有创建安装器,您将必须使用控制台添加自己。使用以下命令
php yii user/create <email> <username> <password>
在创建用户时遇到RFC合规错误。接下来怎么办?
如果您没有设置.env文件中的邮箱部分,那么可能就是这个问题。要修复它,只需像这样填写这些行即可。不用担心,这不会发送任何邮件。
PARAMS_ADMIN_EMAIL=admin@example.com
PARAMS_SENDER_EMAIL=noreply@example.com
PARAMS_SENDER_NAME="John Doe"
待办事项
进行中
鸣谢
如果遗漏了某个人或某件事,请创建一个问题,谢谢。