mirror of
https://github.com/okxlin/appstore.git
synced 2025-07-13 21:02:18 +08:00
feat:添加headscale-webui到列表
This commit is contained in:
parent
2daecdcec9
commit
41f3dc77a2
82
apps/headscale-webui/README.md
Normal file
82
apps/headscale-webui/README.md
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
# 使用说明
|
||||||
|
|
||||||
|
## 数据文件夹授权
|
||||||
|
|
||||||
|
- 1、**必要操作:** 首次安装完成后,进入已安装应用界面,点击跳转数据目录,修改目录下的`data`文件夹为`1000`用户和用户组。
|
||||||
|
|
||||||
|
命令行修改则类似如下,路径按需修改:
|
||||||
|
```
|
||||||
|
chown -R 1000:1000 /opt/1panel/apps/local/headscale-webui/headscale-webui/data
|
||||||
|
```
|
||||||
|
|
||||||
|
- 2、回到已安装应用界面,重建应用。
|
||||||
|
|
||||||
|
|
||||||
|
# 原始相关
|
||||||
|
***
|
||||||
|
<p align="center">
|
||||||
|
<a href="https://github.com/juanfont/headscale">
|
||||||
|
<img src="https://github.com/iFargle/headscale-webui/raw/main/static/img/headscale3-dots.png" width="250">
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 align="center">Headscale-WebUI</h3>
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
A simple Headscale web UI for small-scale deployments.
|
||||||
|
</p>
|
||||||
|
<p align="center">
|
||||||
|
<a href="https://github.com/iFargle/headscale-webui/blob/main/README.md#Screenshots">Screenshots</a> | <a href="https://github.com/iFargle/headscale-webui/blob/main/SETUP.md">Installation</a> | <a href="https://github.com/iFargle/headscale-webui/issues">Issues</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
---
|
||||||
|
# Features
|
||||||
|
1. Enable/Disable routes and exit nodes
|
||||||
|
* Manage failover routes as well
|
||||||
|
2. Add, move, rename, and remove machines
|
||||||
|
3. Add and remove users/namespaces
|
||||||
|
4. Add and expire PreAuth keys
|
||||||
|
5. Add and remove machine tags
|
||||||
|
6. View machine details
|
||||||
|
* Hostname
|
||||||
|
* User associated with the machine
|
||||||
|
* IP addresses in the Tailnet
|
||||||
|
* Last seen by the control server
|
||||||
|
* Last update with the control server
|
||||||
|
* Creation date
|
||||||
|
* Expiration date (will also display a badge when nearing expiration)
|
||||||
|
* PreAuth key associated with the machine
|
||||||
|
* Enable / disable routes and exit nodes
|
||||||
|
* Add and delete machine tags
|
||||||
|
7. Basic and OIDC Authentication
|
||||||
|
* OIDC Authentication tested with Authelia and Keycloak
|
||||||
|
8. Change your color theme! See MaterializeCSS Documentation for Colors for examples.
|
||||||
|
9. Search your machines and users.
|
||||||
|
* Machines have tags you can use to filter search:
|
||||||
|
* `tag:tagname` Searches only for specific tags
|
||||||
|
* `machine:machine-name` Searches only for specific machines
|
||||||
|
* `user:user-name` Searches only for specific users
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
# Installation
|
||||||
|
* See [SETUP.md](SETUP.md) for installation and configuration instructions.
|
||||||
|
|
||||||
|
---
|
||||||
|
# Screenshots:
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
---
|
||||||
|
# Tech used:
|
||||||
|
* Python - [Link](https://www.python.org/)
|
||||||
|
* Poetry - [Link](https://python-poetry.org/)
|
||||||
|
* MaterializeCSS - [Link](https://github.com/Dogfalo/materialize)
|
||||||
|
* jQuery - [Link](https://jquery.com/)
|
||||||
|
|
||||||
|
For Python libraries, see [pyproject.toml](https://github.com/iFargle/headscale-webui/blob/main/pyproject.toml)
|
||||||
|
|
||||||
|
If you use this project, please reach out! It keeps me motivated! Thank you!
|
20
apps/headscale-webui/data.yml
Normal file
20
apps/headscale-webui/data.yml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
name: Headscale-WebUI
|
||||||
|
tags:
|
||||||
|
- 工具
|
||||||
|
title: 适用于小规模部署的简单 Headscale 网络用户界面
|
||||||
|
type: 工具
|
||||||
|
description: 适用于小规模部署的简单 Headscale 网络用户界面
|
||||||
|
additionalProperties:
|
||||||
|
key: headscale-webui
|
||||||
|
name: Headscale-WebUI
|
||||||
|
tags:
|
||||||
|
- Tool
|
||||||
|
shortDescZh: 适用于小规模部署的简单 Headscale 网络用户界面
|
||||||
|
shortDescEn: A simple Headscale web UI for small-scale deployments
|
||||||
|
type: tool
|
||||||
|
crossVersionUpdate: true
|
||||||
|
limit: 0
|
||||||
|
recommend: 0
|
||||||
|
website: https://github.com/iFargle/headscale-webui
|
||||||
|
github: https://github.com/iFargle/headscale-webui
|
||||||
|
document: https://github.com/iFargle/headscale-webui
|
12
apps/headscale-webui/latest/.env.sample
Normal file
12
apps/headscale-webui/latest/.env.sample
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
CONTAINER_NAME="headscale-webui"
|
||||||
|
PANEL_APP_PORT_HTTP="40185"
|
||||||
|
AUTH_TYPE="Basic"
|
||||||
|
DATA_PATH="./data"
|
||||||
|
External_URL="https://hs.example.com"
|
||||||
|
HEADSCALE_PATH="/opt/1panel/apps/local/headscale/headscale/data/config"
|
||||||
|
HS_SERVER="http://172.18.0.241:8080"
|
||||||
|
HTTP_PWD="password_PhbfKw"
|
||||||
|
HTTP_USER="user"
|
||||||
|
SECRET_KEY="TvMhk7FDnAfaIwp0RDRsq3AVNdrYBuhNT0NTPNw4vIQ="
|
||||||
|
TIME_ZONE="Asia/Shanghai"
|
||||||
|
URL_PATH="/admin"
|
84
apps/headscale-webui/latest/data.yml
Normal file
84
apps/headscale-webui/latest/data.yml
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
additionalProperties:
|
||||||
|
formFields:
|
||||||
|
- default: 40185
|
||||||
|
edit: true
|
||||||
|
envKey: PANEL_APP_PORT_HTTP
|
||||||
|
labelEn: Port
|
||||||
|
labelZh: 端口
|
||||||
|
required: true
|
||||||
|
rule: paramPort
|
||||||
|
type: number
|
||||||
|
- default: ./data
|
||||||
|
edit: true
|
||||||
|
envKey: DATA_PATH
|
||||||
|
labelEn: Data folder path
|
||||||
|
labelZh: 数据文件夹路径
|
||||||
|
required: true
|
||||||
|
type: text
|
||||||
|
- default: '/opt/1panel/apps/local/headscale/headscale/data/config'
|
||||||
|
edit: true
|
||||||
|
envKey: HEADSCALE_PATH
|
||||||
|
labelEn: Headscale configuration file path
|
||||||
|
labelZh: Headscale 配置文件路径
|
||||||
|
required: true
|
||||||
|
type: text
|
||||||
|
- default: http://172.18.0.241:8080
|
||||||
|
edit: true
|
||||||
|
envKey: HS_SERVER
|
||||||
|
labelEn: Headscale server url
|
||||||
|
labelZh: Headscale 服务器链接
|
||||||
|
required: true
|
||||||
|
rule: paramExtUrl
|
||||||
|
type: text
|
||||||
|
- default: https://hs.example.com
|
||||||
|
edit: true
|
||||||
|
envKey: External_URL
|
||||||
|
labelEn: External URL (Domain URL)
|
||||||
|
labelZh: 外部访问地址 (域名地址)
|
||||||
|
required: true
|
||||||
|
rule: paramExtUrl
|
||||||
|
type: text
|
||||||
|
- default: /admin
|
||||||
|
edit: true
|
||||||
|
envKey: URL_PATH
|
||||||
|
labelEn: Admin console path
|
||||||
|
labelZh: 后台管理路径
|
||||||
|
required: true
|
||||||
|
type: text
|
||||||
|
- default: Asia/Shanghai
|
||||||
|
edit: true
|
||||||
|
envKey: TIME_ZONE
|
||||||
|
labelEn: Time zone
|
||||||
|
labelZh: 时区
|
||||||
|
required: true
|
||||||
|
type: text
|
||||||
|
- default: 'TvMhk7FDnAfaIwp0RDRsq3AVNdrYBuhNT0NTPNw4vIQ='
|
||||||
|
edit: true
|
||||||
|
envKey: SECRET_KEY
|
||||||
|
labelEn: Secret key (Obtained by running 'openssl rand -base64 32')
|
||||||
|
labelZh: 加密密钥 (终端执行'openssl rand -base64 32'获得)
|
||||||
|
required: true
|
||||||
|
type: text
|
||||||
|
- default: Basic
|
||||||
|
edit: true
|
||||||
|
envKey: AUTH_TYPE
|
||||||
|
labelEn: Authentication method (leave blank without http validation)
|
||||||
|
labelZh: 验证方式 (留空无 http 验证)
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
- default: user
|
||||||
|
edit: true
|
||||||
|
envKey: HTTP_USER
|
||||||
|
labelEn: http auth user
|
||||||
|
labelZh: HTTP 用户
|
||||||
|
required: false
|
||||||
|
type: text
|
||||||
|
- default: password
|
||||||
|
edit: true
|
||||||
|
envKey: HTTP_PWD
|
||||||
|
labelEn: http auth password
|
||||||
|
labelZh: HTTP 密码
|
||||||
|
random: true
|
||||||
|
required: false
|
||||||
|
rule: paramComplexity
|
||||||
|
type: password
|
28
apps/headscale-webui/latest/docker-compose.yml
Normal file
28
apps/headscale-webui/latest/docker-compose.yml
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
version: '3'
|
||||||
|
services:
|
||||||
|
headscale-webui:
|
||||||
|
container_name: ${CONTAINER_NAME}
|
||||||
|
restart: always
|
||||||
|
networks:
|
||||||
|
- 1panel-network
|
||||||
|
ports:
|
||||||
|
- "${PANEL_APP_PORT_HTTP}:5000"
|
||||||
|
volumes:
|
||||||
|
- ${DATA_PATH}:/data
|
||||||
|
- ${HEADSCALE_PATH}:/etc/headscale/:ro
|
||||||
|
environment:
|
||||||
|
- TZ=${TIME_ZONE}
|
||||||
|
- HS_SERVER=${HS_SERVER}
|
||||||
|
- DOMAIN_NAME=${External_URL}
|
||||||
|
- SCRIPT_NAME=${URL_PATH}
|
||||||
|
- AUTH_TYPE=${AUTH_TYPE}
|
||||||
|
- BASIC_AUTH_USER=${HTTP_USER}
|
||||||
|
- BASIC_AUTH_PASS=${HTTP_PWD}
|
||||||
|
- KEY=${SECRET_KEY}
|
||||||
|
image: ifargle/headscale-webui:latest
|
||||||
|
labels:
|
||||||
|
createdBy: "Apps"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
1panel-network:
|
||||||
|
external: true
|
BIN
apps/headscale-webui/logo.png
Normal file
BIN
apps/headscale-webui/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.1 KiB |
Loading…
Reference in New Issue
Block a user