当前位置:网站首页>家庭服务器门户Easy-Gate

家庭服务器门户Easy-Gate

2022-06-25 06:49:00 杨浦老苏

在这里插入图片描述

周一做的核酸一直没有结果,中途收到了一次短信

算上全员筛查,这周做了4次核酸,分别是周六上午、周一下午、周二下午、周四下午

昨晚已经接到通知,本周末继续全员核酸筛查,想睡懒觉那是不可能滴


什么是 Easy-Gate ?

Easy Gate 是一个使用 GoReact 构建的简单 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),用于定义哪些用户可以查看哪些项目

关于组功能,老苏没测试,有兴趣的可以自己试试

"groups": [
  {
    
    "name": "internal",
    "subnet": "192.168.1.1/24"
  },
  {
    
    "name": "vpn",
    "subnet": "10.8.1.1/24"
  }
]

上例中,用户分为两个组,分别是 internal 组和 vpn 组。

services

services 条目用于定义基础设施中可用的服务。每个服务(services)都有一个名称(name)、一个地址(url)、一个图标(icon)和可以看到它的组( 在 groups 部分中定义)。如果未提供组,则所有用户都可以看到该项目

icon 可以到下面网站查找:

{
    
  "icon": "fa-brands fa-git-square",
  "name": "Git",
  "url": "https://git.example.vpn",
  "groups": [
      "vpn"
  ]
},
{
    
  "icon": "fa-brands fa-docker",
  "name": "Portainer",
  "url": "https://portainer.example.internal",
  "groups": []
}

上例中,Git 只能 vpn 组看到,Portainerinternal 组和 vpn 组都能看到。

notes

notes 条目用于定义具有标题和内容的简单文本注释。每条笔记(notes) 都有一个名称(name)、笔记内容(text)和可以看到它的组( 在 groups 部分中定义)。如果未提供组,则所有用户都可以看到该项目:

{
    
  "name": "Simple note",
  "text": "This is a simple note for vpn users",
  "groups": [
    "vpn"
  ]
},
{
    
  "name": "Global note",
  "text": "This note will be visible to everyone",
  "groups": []
}

上例中,Simple note 只能 vpn 组看到,Global noteinternal 组和 vpn 组都能看到。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 easy-gate ,选择第一个 r7wx/easy-gate,版本选择 latest

  1. docker 文件夹中,创建一个新文件夹,并将其命名为 easy-gate
  2. easy-gate.json 文件放入到 easy-gate 目录
文件夹装载路径说明
docker/easy-gate/easy-gate.json/etc/easy-gate/easy-gate.json设置文件

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
80828080

默认是暴露的 80

容器端口需要修改为 8080,本地端口不冲突就可以

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 easy-gate 
mkdir -p /volume2/docker/easy-gate

# 进入 easy-gate 目录
cd /volume2/docker/easy-gate

# 将 easy-gate.json 放入当前目录

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name easy-gate \
   -p 8082:8080 \
   -v $(pwd)/easy-gate.json:/etc/easy-gate/easy-gate.json \
   r7wx/easy-gate

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose 文件

version: '3'

services:
  easy-gate:
    image: r7wx/easy-gate
    container_name: easy-gate
    expose:
      - 8080
    ports:
      - 8082:8080
    volumes:
      - /volume2/docker/easy-gate/easy-gate.json:/etc/easy-gate/easy-gate.json

然后执行下面的命令

# 新建文件夹 easy-gate 
mkdir -p /volume2/docker/easy-gate

# 进入目录
cd /volume2/docker/easy-gate

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8082 就能看到主界面

老苏试验了中文,支持良好

手机上的效果

参考文档

r7wx/easy-gate: A gate to your self hosted infrastructure
地址:https://github.com/r7wx/easy-gate

原网站

版权声明
本文为[杨浦老苏]所创,转载请带上原文链接,感谢
https://blog.csdn.net/wbsu2004/article/details/125440120