Gotify Server 项目教程
1. 项目目录结构及介绍
Gotify Server 是一个用于实时发送和接收消息的简单服务器,支持 WebSocket 通信。以下是项目的目录结构及其介绍:
gotify/
├── api/
│ ├── auth/
│ ├── config/
│ ├── database/
│ ├── docker/
│ ├── docs/
│ ├── error/
│ ├── mode/
│ ├── model/
│ ├── plugin/
│ ├── router/
│ ├── runner/
│ └── test/
├── ui/
├── .editorconfig
├── .gitignore
├── .golangci.yml
├── CODEOWNERS
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── GO_VERSION
├── LICENSE
├── Makefile
├── README.md
├── SECURITY.md
├── app.go
├── config.example.yml
├── go.mod
├── go.sum
└── ui.png
目录结构介绍
- api/: 包含与 API 相关的代码,如认证、配置、数据库操作、Docker 配置、文档、错误处理、模式、模型、插件、路由、运行器和测试。
- ui/: 包含 Web UI 相关的文件。
- .editorconfig: 编辑器配置文件。
- .gitignore: Git 忽略文件配置。
- .golangci.yml: GolangCI-Lint 配置文件。
- CODEOWNERS: 代码所有者配置文件。
- CODE_OF_CONDUCT.md: 行为准则文件。
- CONTRIBUTING.md: 贡献指南文件。
- GO_VERSION: Go 版本文件。
- LICENSE: 项目许可证文件。
- Makefile: Makefile 文件,用于构建和运行项目。
- README.md: 项目介绍和使用说明文件。
- SECURITY.md: 安全相关说明文件。
- app.go: 项目的主启动文件。
- config.example.yml: 配置文件示例。
- go.mod: Go 模块文件。
- go.sum: Go 模块依赖校验文件。
- ui.png: Web UI 截图文件。
2. 项目启动文件介绍
项目的启动文件是 app.go
,该文件负责初始化并启动 Gotify Server。以下是 app.go
的主要功能:
- 初始化配置: 读取配置文件并初始化应用程序的配置。
- 初始化数据库: 连接并初始化数据库。
- 注册路由: 注册 API 路由和 WebSocket 路由。
- 启动服务器: 启动 HTTP 服务器,监听指定端口。
3. 项目配置文件介绍
项目的配置文件是 config.example.yml
,该文件包含了 Gotify Server 的配置示例。以下是配置文件的主要内容:
server:
listenaddr: ":8080"
ssl:
enabled: false
redirecttohttps: false
certfile: "cert.pem"
certkey: "key.pem"
keepaliveperiod: "720h"
responseheaders:
Access-Control-Allow-Origin: "*"
Access-Control-Allow-Methods: "GET, POST, PUT, DELETE, OPTIONS"
Access-Control-Allow-Headers: "Origin, X-Requested-With, Content-Type, Accept"
database:
dialect: "sqlite3"
connection: "gotify.db"
defaultuser:
name: "admin"
pass: "admin"
pluginspath: "./plugins"
配置项介绍
- server: 服务器配置,包括监听地址、SSL 配置、Keep-Alive 周期和响应头配置。
- database: 数据库配置,包括数据库类型和连接字符串。
- defaultuser: 默认用户配置,包括用户名和密码。
- pluginspath: 插件路径配置。
通过修改 config.example.yml
文件,可以自定义 Gotify Server 的行为和配置。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考