Gopanel
A control panel that is written in Golang and is able to manage Caddy 2 and Guard web server.
Committed to becoming a server-type, router-type, NAS-type all-round management panel.
Gopanel 前端
gopanel-web
Features (功能)
PS: 以下大部分仍在开发中
- 图形化配置反向代理,静态文件服务器等所有
Caddy
支持的操作
- 应用管理
- 优雅管理 web 服务
- 支持应用中心,一键安装部署
- 一站式从路由配置到 web 服务进程管理
- 自定义应用图形化管理
- 支持与 systemd 服务集成
- DDNS (基于 Caddy 动态 DNS 插件实现)
- 容器化支持
- 支持 Docker/Podman 后端
- 与应用中心集成,一键部署容器服务
- 图形化配置容器
- 网络 (从基础配置到像路由器那样丰富的功能)
- 防火墙
- DHCP
- DNS
- 交换机
- VLAN
- 端口转发
- 虚拟化支持
- 存储
- 系统管理 (依赖使用 systemd 的发行版)
- 插件
Installer (安装)
ArchLinux (AUR)
假设 AUR Helper
为 yay
yay -S gopanel-bin
或者
yay -S gopanel
或者 Git 版本(1.0.0 版本发布之前推荐)
yay -S gopanel-git
以下发行版软件包下载链接仅供参考,请自行访问 https://gitlab.com/xiayesuifeng/gopanel/-/jobs/artifacts/master/raw/dist
根据架构和发行版下载对应的包
支持的架构:amd64
, arm64
, armv7
Debian/Ubuntu (Debian/Ubuntu)
wget "https://gitlab.com/xiayesuifeng/gopanel/-/jobs/artifacts/master/raw/dist/gopanel_0.3.0-dev_linux_amd64.deb?job=build-gopanel" -O gopanel.deb
sudo dpkg -i gopanel.deb
rm -rf gopanel.deb
CentOS/RHEL (CentOS/RHEL)
wget "https://gitlab.com/xiayesuifeng/gopanel/-/jobs/artifacts/master/raw/dist/gopanel_0.3.0-dev_linux_amd64.rpm?job=build-gopanel" -O gopanel.rpm
sudo rpm -i gopanel.rpm
rm -rf gopanel.rpm
Apk (Alpine)
wget "https://gitlab.com/xiayesuifeng/gopanel/-/jobs/artifacts/master/raw/dist/gopanel_0.3.0-dev_linux_amd64.apk?job=build-gopanel" -O gopanel.apk
sudo apk add gopanel.apk
rm -rf gopanel.apk
Other GNU/Linux Distro (其他 GNU/Linux
发行版)
请确保已安装好 caddy2
wget "https://gitlab.com/xiayesuifeng/gopanel/-/jobs/artifacts/master/raw/dist/gopanel_0.3.0-dev_linux_amd64.tar.gz?job=build-gopanel" -O gopanel.tar.gz
mkdir gopanel
tar -xf gopanel.tar.gz -C gopanel
sudo install -d /etc/gopanel/app.conf.d
sudo install -d /var/lib/gopanel
sudo install -D -m 0755 gopanel/gopanel /usr/bin/gopanel
sudo install -D -m 0644 gopanel/usr/lib/systemd/system/gopanel.service /usr/lib/systemd/system/gopanel.service
rm -rf gopanel.tar.gz gopanel
开机自启与运行
sudo systemctl enable --now gopanel
初始化安装
首次启动将监听 :12020
端口,访问 http://localhost:12020
进行初始化安装
配置文件详解
{
// 日志配置
"log": {
// 日志级别,可选 debug, info, warn, error
"level": "debug",
// 日志输出,可选 stdout, stderr, 文件路径
"output": "stderr",
// 日志格式,可选 text, json
"format": "text"
},
// 运行模式,如调试好请改 release
"mode":"debug",
// 登录密码,默认为 admin,如要修改请参考下方的 ‘加密密码生成’
"password": "0925e15d0ae6af196e6295923d76af02b4a3420f",
// app 配置文件存储路径
"appConf": "app.conf.d",
// jwt 加密密钥设置,如不设置则每次启动设置为 gopanel-secret-[随机数]
"secret": "",
// gopanel 访问配置
"panel": {
// 域名绑定,如没有可删除或者留空并且必须设置 port
"domain": "example.com",
// 端口设置,如没设置域名则必须设置否则无特殊要求不需要设置
"port": 2020,
// 禁用 SSL (取代原来的 automaticHttps)
"disableSSL": true
},
// caddy 2 配置
"caddy": {
// caddy 2 API
"adminAddress": "http://localhost:2019",
},
// 预留配置,未来用于后端异常状态通知
"smtp":{
"username":"",
"password": "",
"host": ""
},
// 集成 netdata 设置
"netdata":{
// 是否启用该功能
"enable": false,
// 反代地址
"host": "localhost:19999",
"path": "",
// 使用 SSL 访问
"ssl": false
}
}
加密密码生成
echo -n yourpassword | openssl dgst -md5 -binary | openssl dgst -sha1
License
Gopanel is licensed under GPLv3.