• 家庭服务器门户Easy-Gate


    在这里插入图片描述

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

    算上全员筛查,这周做了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"
      }
    ]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    上例中,用户分为两个组,分别是 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": []
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    上例中,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": []
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    上例中,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 端口号
    
    • 1
    • 2
    本地端口容器端口
    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    也可以用 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    然后执行下面的命令

    # 新建文件夹 easy-gate 
    mkdir -p /volume2/docker/easy-gate
    
    # 进入目录
    cd /volume2/docker/easy-gate
    
    # 将 docker-compose.yml 放入当前目录
    
    # 一键启动
    docker-compose up -d
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    运行

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

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

    手机上的效果

    参考文档

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

  • 相关阅读:
    c++编程(15)——list的模拟实现
    springboot整合
    给电脑一键重装系统后找回照片查看器的方法
    「低碳」不是特步的解药
    【每周AI简讯】Stable Diffusion 3大版本更新
    C#期末速成推荐看的知识和免费视频
    第十二章 Spring Cloud Config 统一配置中心详解-客户端动态刷新
    预览ppt时中文乱码
    我耀学IT—day06-导航栏
    经典电源电路基础(变压-整流-滤波-稳压)
  • 原文地址:https://blog.csdn.net/wbsu2004/article/details/125440120