家庭服务器门户Easy-Gate
周一做的核酸一直没有结果,中途收到了一次短信
算上全员筛查,这周做了4次核酸,分别是周六上午、周一下午、周二下午、周四下午
昨晚已经接到通知,本周末继续全员核酸筛查,想睡懒觉那是不可能滴😂
什么是 Easy-Gate ?
Easy Gate
是一个使用Go
和React
构建的简单Web
应用程序,它充当您自托管基础设施的主页。服务和注释从JSON
文件中实时解析(无需重新启动应用程序)。可以将服务和注释分配给一个或多个组,以仅向特定用户显示项目(基于他们的IP
地址)。
准备
Easy-Gate
需通过 easy-gate.json
文件进行配置。所以要创建 easy-gate.json
文件,可以复制粘贴,也可以另存为。
文件地址: https://raw.githubusercontent.com/r7wx/easy-gate/master/easy-gate.json
虽然官方宣称修改了
easy-gate.json
文件无需重新启动应用程序,但老苏发现似乎还是要重启的,或者重启了会刷新缓存?
groups
通过提供用户子网(subnet
),用于定义哪些用户可以查看哪些项目
关于组功能,老苏没测试,有兴趣的可以自己试试
1 | "groups": [ |
上例中,用户分为两个组,分别是 internal
组和 vpn
组。
services
services
条目用于定义基础设施中可用的服务。每个服务(services
)都有一个名称(name
)、一个地址(url
)、一个图标(icon
)和可以看到它的组( 在 groups
部分中定义)。如果未提供组,则所有用户都可以看到该项目
icon
可以到下面网站查找:
- https://fontawesome.com/search
- https://www.thinkcmf.com/font/font_awesome/icons.html
1 | { |
上例中,Git
只能 vpn
组看到,Portainer
则 internal
组和 vpn
组都能看到。
notes
notes
条目用于定义具有标题和内容的简单文本注释。每条笔记(notes
) 都有一个名称(name
)、笔记内容(text
)和可以看到它的组( 在 groups
部分中定义)。如果未提供组,则所有用户都可以看到该项目:
1 | { |
上例中,Simple note
只能 vpn
组看到,Global note
则 internal
组和 vpn
组都能看到。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 easy-gate
,选择第一个 r7wx/easy-gate
,版本选择 latest
。
卷
- 在
docker
文件夹中,创建一个新文件夹,并将其命名为easy-gate
- 将
easy-gate.json
文件放入到easy-gate
目录
文件夹 | 装载路径 | 说明 |
---|---|---|
docker/easy-gate/easy-gate.json |
/etc/easy-gate/easy-gate.json |
设置文件 |
端口
本地端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
本地端口 | 容器端口 |
---|---|
8082 |
8080 |
默认是暴露的 80
容器端口需要修改为 8080
,本地端口不冲突就可以
命令行安装
如果你熟悉命令行,可能用 docker cli
更快捷
1 | # 新建文件夹 easy-gate |
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose
文件
1 | version: '3' |
然后执行下面的命令
1 | # 新建文件夹 easy-gate |
运行
在浏览器中输入 http://群晖IP:8082
就能看到主界面
老苏试验了中文,支持良好
手机上的效果
参考文档
r7wx/easy-gate: A gate to your self hosted infrastructure
地址:https://github.com/r7wx/easy-gate