feat: add ServerKit app package

This commit is contained in:
okxlin
2026-09-17 16:50:37 +08:00
parent c5c0b5567c
commit a36d992bb5
9 changed files with 571 additions and 0 deletions
+171
View File
@@ -0,0 +1,171 @@
additionalProperties:
formFields:
- default: 5000
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: HTTP port
labelZh: HTTP 端口
label:
en: HTTP port
zh: HTTP 端口
zh-Hant: HTTP 埠
ja: HTTP ポート
ko: HTTP 포트
ru: Порт HTTP
ms: Port HTTP
pt-br: Porta HTTP
tr: HTTP bağlantı noktası
es-es: Puerto HTTP
fa: پورت HTTP
lo: ພອດ HTTP
required: true
rule: paramPort
type: number
- default: ""
edit: true
envKey: SECRET_KEY
labelEn: Flask secret key (unique hex value)
labelZh: Flask 密钥(请填写唯一的十六进制值)
label:
en: Flask secret key (unique hex value)
zh: Flask 密钥(请填写唯一的十六进制值)
zh-Hant: Flask 金鑰(請填寫唯一的十六進位值)
ja: Flask シークレットキー(固有の 16 進数値)
ko: Flask 비밀 키(고유한 16진수 값)
ru: Секретный ключ Flask (уникальное шестнадцатеричное значение)
ms: Kunci rahsia Flask (nilai heks unik)
pt-br: Chave secreta do Flask (valor hexadecimal exclusivo)
tr: Flask gizli anahtarı (benzersiz onaltılık değer)
es-es: Clave secreta de Flask (valor hexadecimal único)
fa: کلید مخفی Flask (مقدار هگزادسیمال یکتا)
lo: ຄີລັບ Flask (ຄ່າເລກຖານ 16 ທີ່ບໍ່ຊ້ຳກັນ)
required: true
rule: paramComplexity
type: password
- default: ""
edit: true
envKey: JWT_SECRET_KEY
labelEn: JWT secret key (unique hex value)
labelZh: JWT 密钥(请填写唯一的十六进制值)
label:
en: JWT secret key (unique hex value)
zh: JWT 密钥(请填写唯一的十六进制值)
zh-Hant: JWT 金鑰(請填寫唯一的十六進位值)
ja: JWT シークレットキー(固有の 16 進数値)
ko: JWT 비밀 키(고유한 16진수 값)
ru: Секретный ключ JWT (уникальное шестнадцатеричное значение)
ms: Kunci rahsia JWT (nilai heks unik)
pt-br: Chave secreta JWT (valor hexadecimal exclusivo)
tr: JWT gizli anahtarı (benzersiz onaltılık değer)
es-es: Clave secreta JWT (valor hexadecimal único)
fa: کلید مخفی JWT (مقدار هگزادسیمال یکتا)
lo: ຄີລັບ JWT (ຄ່າເລກຖານ 16 ທີ່ບໍ່ຊ້ຳກັນ)
required: true
rule: paramComplexity
type: password
- default: ""
edit: true
envKey: SERVERKIT_ENCRYPTION_KEY
labelEn: Fernet encryption key (44-character value ending in =)
labelZh: Fernet 加密密钥(44 位且以 = 结尾)
label:
en: Fernet encryption key (44-character value ending in =)
zh: Fernet 加密密钥(44 位且以 = 结尾)
zh-Hant: Fernet 加密金鑰(44 位且以 = 結尾)
ja: Fernet 暗号化キー(= で終わる 44 文字の値)
ko: Fernet 암호화 키(=로 끝나는 44자 값)
ru: Ключ шифрования Fernet (44 символа с окончанием =)
ms: Kunci penyulitan Fernet (44 aksara dan berakhir dengan =)
pt-br: Chave de criptografia Fernet (44 caracteres terminados em =)
tr: Fernet şifreleme anahtarı (= ile biten 44 karakterlik değer)
es-es: Clave de cifrado Fernet (valor de 44 caracteres terminado en =)
fa: کلید رمزنگاری Fernet (مقدار ۴۴ کاراکتری که با = تمام می‌شود)
lo: ຄີເຂົ້າລະຫັດ Fernet (ຄ່າ 44 ຕົວອັກສອນທີ່ລົງທ້າຍດ້ວຍ =)
required: true
type: password
- default: http://localhost
edit: true
envKey: CORS_ORIGINS
labelEn: Allowed browser origins (comma-separated)
labelZh: 允许的浏览器来源(多个来源用逗号分隔)
label:
en: Allowed browser origins (comma-separated)
zh: 允许的浏览器来源(多个来源用逗号分隔)
zh-Hant: 允許的瀏覽器來源(多個來源以逗號分隔)
ja: 許可するブラウザーオリジン(カンマ区切り)
ko: 허용된 브라우저 오리진(쉼표로 구분)
ru: Разрешённые источники браузера (через запятую)
ms: Asal pelayar yang dibenarkan (dipisahkan koma)
pt-br: Origens de navegador permitidas (separadas por vírgula)
tr: İzin verilen tarayıcı kaynakları (virgülle ayrılmış)
es-es: Orígenes de navegador permitidos (separados por comas)
fa: مبدأهای مجاز مرورگر (با ویرگول جدا شوند)
lo: ແຫຼ່ງທີ່ມາຂອງບຣາວເຊີທີ່ອະນຸຍາດ (ຄັ່ນດ້ວຍຈຸນ)
required: true
type: text
- default: ""
edit: true
envKey: SERVERKIT_PUBLIC_URL
labelEn: Public URL (optional, for reverse proxy and agents)
labelZh: 公网 URL(可选,用于反向代理和远程代理)
label:
en: Public URL (optional, for reverse proxy and agents)
zh: 公网 URL(可选,用于反向代理和远程代理)
zh-Hant: 公開 URL(選填,用於反向代理與遠端代理)
ja: パブリック URL(任意、リバースプロキシとエージェント用)
ko: 공용 URL(선택 사항, 역방향 프록시 및 에이전트용)
ru: Публичный URL (необязательно, для обратного прокси и агентов)
ms: URL awam (pilihan, untuk proksi terbalik dan ejen)
pt-br: URL público (opcional, para proxy reverso e agentes)
tr: Genel URL (isteğe bağlı, ters proxy ve aracılar için)
es-es: URL público (opcional, para proxy inverso y agentes)
fa: نشانی عمومی (اختیاری، برای پراکسی معکوس و عامل‌ها)
lo: URL ສາທາລະນະ (ທາງເລືອກ, ສຳລັບ reverse proxy ແລະ agent)
required: false
rule: paramExtUrl
type: text
- default: "false"
edit: true
envKey: TRUST_PROXY_HEADERS
labelEn: Trust reverse-proxy headers
labelZh: 信任反向代理请求头
label:
en: Trust reverse-proxy headers
zh: 信任反向代理请求头
zh-Hant: 信任反向代理標頭
ja: リバースプロキシヘッダーを信頼
ko: 역방향 프록시 헤더 신뢰
ru: Доверять заголовкам обратного прокси
ms: Percayai pengepala proksi terbalik
pt-br: Confiar nos cabeçalhos do proxy reverso
tr: Ters proxy başlıklarına güven
es-es: Confiar en las cabeceras del proxy inverso
fa: اعتماد به سرخط‌های پراکسی معکوس
lo: ເຊື່ອຖື header ຂອງ reverse proxy
required: true
type: select
values:
- label: Direct access
value: "false"
- label: Behind a trusted reverse proxy
value: "true"
- default: Asia/Shanghai
edit: true
envKey: TZ
labelEn: Timezone
labelZh: 时区
label:
en: Timezone
zh: 时区
zh-Hant: 時區
ja: タイムゾーン
ko: 시간대
ru: Часовой пояс
ms: Zon waktu
pt-br: Fuso horário
tr: Saat dilimi
es-es: Zona horaria
fa: منطقه زمانی
lo: ເຂດເວລາ
required: true
type: text
+44
View File
@@ -0,0 +1,44 @@
services:
serverkit:
image: "jhd3197/serverkit:1.11.4"
container_name: ${CONTAINER_NAME}
ports:
- "${PANEL_APP_PORT_HTTP}:5000"
environment:
- "TZ=${TZ}"
- "DATABASE_URL=sqlite:////app/instance/serverkit.db"
- "FLASK_ENV=production"
- "SECRET_KEY=${SECRET_KEY}"
- "JWT_SECRET_KEY=${JWT_SECRET_KEY}"
- "SERVERKIT_ENCRYPTION_KEY=${SERVERKIT_ENCRYPTION_KEY}"
- "CORS_ORIGINS=${CORS_ORIGINS}"
- "SERVERKIT_PUBLIC_URL=${SERVERKIT_PUBLIC_URL:-}"
- "TRUST_PROXY_HEADERS=${TRUST_PROXY_HEADERS}"
- "TRUSTED_PROXY_HOPS=1"
- "SERVERKIT_GITHUB_REPO=jhd3197/ServerKit"
volumes:
- "serverkit-data:/app/instance"
networks:
- "1panel-network"
labels:
createdBy: "Apps"
restart: "unless-stopped"
healthcheck:
test: ["CMD-SHELL", "curl -f \"http://127.0.0.1:5000/api/v1/system/health\" || exit 1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
volumes:
serverkit-data:
name: serverkit-data
networks:
1panel-network:
external: true
+44
View File
@@ -0,0 +1,44 @@
# ServerKit
## 产品介绍
ServerKit 是一个自托管的远程服务器管理与运维面板,提供服务器接入、集群视图、终端、部署、监控、备份、安全和站点相关功能。
本应用包使用上游发布的 all-in-one Docker 镜像 `jhd3197/serverkit`,包含 API、前端 SPA 和 Socket.IO 服务。
## 主要功能
- 接入和管理远程服务器及服务器集群。
- 提供终端、部署、监控、备份和安全相关能力。
- 通过浏览器提供统一的 Web 面板和实时 Socket.IO 通信。
## 适配说明
这是 ServerKit 的容器化部署。容器默认不挂载 Docker Socket、宿主机文件系统或特权权限,因此它不能管理当前 1Panel 宿主机的 systemd、宿主机 Nginx、宿主机软件包或本机站点。它适合评估、管理其他已接入的远程服务器,以及放在反向代理后使用。
## 首次使用
1. 安装时填写三个唯一密钥:`SECRET_KEY`、`JWT_SECRET_KEY` 和 Fernet 格式的 `SERVERKIT_ENCRYPTION_KEY`。
2. Fernet 密钥可用以下命令生成:
```bash
python3 -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"
```
前两个密钥可用 `openssl rand -hex 32` 生成。密钥应妥善保存;更换它们会使已有会话或加密数据失效。
3. 通过安装时配置的 HTTP 端口打开 ServerKit。首次打开时使用注册页面创建第一个用户;第一个用户会被授予管理员角色。
4. 如果使用反向代理,请填写 `SERVERKIT_PUBLIC_URL`,并仅在请求一定经过可信反向代理时将 `TRUST_PROXY_HEADERS` 设为 `true`。需要同时允许多个浏览器来源时,在 `CORS_ORIGINS` 中用逗号分隔填写。
SQLite 数据库持久化在 `serverkit-data` 卷的 `/app/instance/serverkit.db`。不要删除该卷,否则会丢失 ServerKit 数据。
## 版本
应用同时提供 `latest` 和固定版本 `1.11.4`,两者均来自上游 Docker Hub 发布镜像,并支持 amd64 与 arm64。
## 相关链接
- [上游项目](https://github.com/jhd3197/ServerKit)
- [Docker 部署文档](https://github.com/jhd3197/ServerKit/blob/v1.11.4/docs/INSTALLATION.md#quick-install-docker)
- [上游 Compose 文件](https://github.com/jhd3197/ServerKit/blob/v1.11.4/docker-compose.yml)
ServerKit 上游项目采用 MIT License,详细条款见[上游许可证](https://github.com/jhd3197/ServerKit/blob/v1.11.4/LICENSE)。
+44
View File
@@ -0,0 +1,44 @@
# ServerKit
## Introduction
ServerKit is a self-hosted panel for connecting remote servers and managing fleet operations, terminals, deployments, monitoring, backups, security, and sites.
This package uses the upstream all-in-one Docker image `jhd3197/serverkit`, which serves the API, React SPA, and Socket.IO service from one container.
## Features
- Connect to and manage remote servers and server fleets.
- Provide terminal, deployment, monitoring, backup, and security capabilities.
- Serve a unified browser panel with real-time Socket.IO communication.
## Container scope
This is ServerKit's containerized deployment. The package does not mount the Docker Socket or the host filesystem and does not use privileged mode. As a result, it cannot manage the current 1Panel host's systemd services, host Nginx, host packages, or local sites. It is intended for evaluation, managing other connected remote servers, or running behind a reverse proxy.
## First use
1. During installation, provide unique values for `SECRET_KEY`, `JWT_SECRET_KEY`, and the Fernet-format `SERVERKIT_ENCRYPTION_KEY`.
2. Generate a Fernet key with:
```bash
python3 -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"
```
Generate the first two keys with `openssl rand -hex 32`. Keep all keys safe; changing them invalidates existing sessions or encrypted data.
3. Open ServerKit on the configured HTTP port. On the first visit, use the registration page to create the first user; the first user is given the administrator role.
4. When using a reverse proxy, set `SERVERKIT_PUBLIC_URL`. Set `TRUST_PROXY_HEADERS` to `true` only when every request is guaranteed to pass through a trusted proxy. Add multiple browser origins as a comma-separated `CORS_ORIGINS` value.
The SQLite database is persisted at `/app/instance/serverkit.db` in the `serverkit-data` volume. Do not remove that volume unless the ServerKit data can be discarded.
## Versions
Both `latest` and the pinned `1.11.4` release are available. They use the upstream Docker Hub image and support amd64 and arm64.
## Links
- [Upstream project](https://github.com/jhd3197/ServerKit)
- [Docker deployment guide](https://github.com/jhd3197/ServerKit/blob/v1.11.4/docs/INSTALLATION.md#quick-install-docker)
- [Upstream Compose file](https://github.com/jhd3197/ServerKit/blob/v1.11.4/docker-compose.yml)
The ServerKit upstream project is licensed under the MIT License. See the [upstream license](https://github.com/jhd3197/ServerKit/blob/v1.11.4/LICENSE).
+34
View File
@@ -0,0 +1,34 @@
name: ServerKit
tags:
- Server
title: 远程服务器管理与运维面板
description: 远程服务器管理与运维面板
additionalProperties:
key: serverkit
name: ServerKit
tags:
- Server
shortDescZh: 远程服务器管理与运维面板
shortDescEn: Remote server management and operations panel
description:
en: A self-hosted panel for remote server management, fleet operations, and deployments.
zh: 面向远程服务器管理、集群运维与部署的自托管面板。
zh-Hant: 用於遠端伺服器管理、叢集維運與部署的自託管面板。
ja: リモートサーバー管理、フリート運用、デプロイに対応したセルフホスト型パネル。
ko: 원격 서버 관리, 플릿 운영 및 배포를 위한 셀프 호스팅 패널입니다.
ru: Самостоятельно размещаемая панель для управления удалёнными серверами, парком и развёртываниями.
ms: Panel kendiri untuk pengurusan pelayan jauh, operasi armada dan penggunaan.
pt-br: Painel auto-hospedado para gerenciar servidores remotos, frotas e implantações.
tr: Uzak sunucu yönetimi, filo operasyonları ve dağıtımlar için kendi kendine barındırılan panel.
es-es: Panel autoalojado para gestionar servidores remotos, flotas y despliegues.
fa: پنل خودمیزبان برای مدیریت سرورهای راه دور، ناوگان و استقرارها.
lo: ແຜງຄວບຄຸມແບບໂຮສຕ໌ເອງສຳລັບຈັດການເຊີບເວີລະໄກ, ຟລີດ ແລະການນຳໃຊ້.
type: tool
crossVersionUpdate: true
limit: 0
website: https://github.com/jhd3197/ServerKit
github: https://github.com/jhd3197/ServerKit
document: https://github.com/jhd3197/ServerKit/blob/v1.11.4/docs/INSTALLATION.md#quick-install-docker
architectures:
- amd64
- arm64
+171
View File
@@ -0,0 +1,171 @@
additionalProperties:
formFields:
- default: 5000
edit: true
envKey: PANEL_APP_PORT_HTTP
labelEn: HTTP port
labelZh: HTTP 端口
label:
en: HTTP port
zh: HTTP 端口
zh-Hant: HTTP 埠
ja: HTTP ポート
ko: HTTP 포트
ru: Порт HTTP
ms: Port HTTP
pt-br: Porta HTTP
tr: HTTP bağlantı noktası
es-es: Puerto HTTP
fa: پورت HTTP
lo: ພອດ HTTP
required: true
rule: paramPort
type: number
- default: ""
edit: true
envKey: SECRET_KEY
labelEn: Flask secret key (unique hex value)
labelZh: Flask 密钥(请填写唯一的十六进制值)
label:
en: Flask secret key (unique hex value)
zh: Flask 密钥(请填写唯一的十六进制值)
zh-Hant: Flask 金鑰(請填寫唯一的十六進位值)
ja: Flask シークレットキー(固有の 16 進数値)
ko: Flask 비밀 키(고유한 16진수 값)
ru: Секретный ключ Flask (уникальное шестнадцатеричное значение)
ms: Kunci rahsia Flask (nilai heks unik)
pt-br: Chave secreta do Flask (valor hexadecimal exclusivo)
tr: Flask gizli anahtarı (benzersiz onaltılık değer)
es-es: Clave secreta de Flask (valor hexadecimal único)
fa: کلید مخفی Flask (مقدار هگزادسیمال یکتا)
lo: ຄີລັບ Flask (ຄ່າເລກຖານ 16 ທີ່ບໍ່ຊ້ຳກັນ)
required: true
rule: paramComplexity
type: password
- default: ""
edit: true
envKey: JWT_SECRET_KEY
labelEn: JWT secret key (unique hex value)
labelZh: JWT 密钥(请填写唯一的十六进制值)
label:
en: JWT secret key (unique hex value)
zh: JWT 密钥(请填写唯一的十六进制值)
zh-Hant: JWT 金鑰(請填寫唯一的十六進位值)
ja: JWT シークレットキー(固有の 16 進数値)
ko: JWT 비밀 키(고유한 16진수 값)
ru: Секретный ключ JWT (уникальное шестнадцатеричное значение)
ms: Kunci rahsia JWT (nilai heks unik)
pt-br: Chave secreta JWT (valor hexadecimal exclusivo)
tr: JWT gizli anahtarı (benzersiz onaltılık değer)
es-es: Clave secreta JWT (valor hexadecimal único)
fa: کلید مخفی JWT (مقدار هگزادسیمال یکتا)
lo: ຄີລັບ JWT (ຄ່າເລກຖານ 16 ທີ່ບໍ່ຊ້ຳກັນ)
required: true
rule: paramComplexity
type: password
- default: ""
edit: true
envKey: SERVERKIT_ENCRYPTION_KEY
labelEn: Fernet encryption key (44-character value ending in =)
labelZh: Fernet 加密密钥(44 位且以 = 结尾)
label:
en: Fernet encryption key (44-character value ending in =)
zh: Fernet 加密密钥(44 位且以 = 结尾)
zh-Hant: Fernet 加密金鑰(44 位且以 = 結尾)
ja: Fernet 暗号化キー(= で終わる 44 文字の値)
ko: Fernet 암호화 키(=로 끝나는 44자 값)
ru: Ключ шифрования Fernet (44 символа с окончанием =)
ms: Kunci penyulitan Fernet (44 aksara dan berakhir dengan =)
pt-br: Chave de criptografia Fernet (44 caracteres terminados em =)
tr: Fernet şifreleme anahtarı (= ile biten 44 karakterlik değer)
es-es: Clave de cifrado Fernet (valor de 44 caracteres terminado en =)
fa: کلید رمزنگاری Fernet (مقدار ۴۴ کاراکتری که با = تمام می‌شود)
lo: ຄີເຂົ້າລະຫັດ Fernet (ຄ່າ 44 ຕົວອັກສອນທີ່ລົງທ້າຍດ້ວຍ =)
required: true
type: password
- default: http://localhost
edit: true
envKey: CORS_ORIGINS
labelEn: Allowed browser origins (comma-separated)
labelZh: 允许的浏览器来源(多个来源用逗号分隔)
label:
en: Allowed browser origins (comma-separated)
zh: 允许的浏览器来源(多个来源用逗号分隔)
zh-Hant: 允許的瀏覽器來源(多個來源以逗號分隔)
ja: 許可するブラウザーオリジン(カンマ区切り)
ko: 허용된 브라우저 오리진(쉼표로 구분)
ru: Разрешённые источники браузера (через запятую)
ms: Asal pelayar yang dibenarkan (dipisahkan koma)
pt-br: Origens de navegador permitidas (separadas por vírgula)
tr: İzin verilen tarayıcı kaynakları (virgülle ayrılmış)
es-es: Orígenes de navegador permitidos (separados por comas)
fa: مبدأهای مجاز مرورگر (با ویرگول جدا شوند)
lo: ແຫຼ່ງທີ່ມາຂອງບຣາວເຊີທີ່ອະນຸຍາດ (ຄັ່ນດ້ວຍຈຸນ)
required: true
type: text
- default: ""
edit: true
envKey: SERVERKIT_PUBLIC_URL
labelEn: Public URL (optional, for reverse proxy and agents)
labelZh: 公网 URL(可选,用于反向代理和远程代理)
label:
en: Public URL (optional, for reverse proxy and agents)
zh: 公网 URL(可选,用于反向代理和远程代理)
zh-Hant: 公開 URL(選填,用於反向代理與遠端代理)
ja: パブリック URL(任意、リバースプロキシとエージェント用)
ko: 공용 URL(선택 사항, 역방향 프록시 및 에이전트용)
ru: Публичный URL (необязательно, для обратного прокси и агентов)
ms: URL awam (pilihan, untuk proksi terbalik dan ejen)
pt-br: URL público (opcional, para proxy reverso e agentes)
tr: Genel URL (isteğe bağlı, ters proxy ve aracılar için)
es-es: URL público (opcional, para proxy inverso y agentes)
fa: نشانی عمومی (اختیاری، برای پراکسی معکوس و عامل‌ها)
lo: URL ສາທາລະນະ (ທາງເລືອກ, ສຳລັບ reverse proxy ແລະ agent)
required: false
rule: paramExtUrl
type: text
- default: "false"
edit: true
envKey: TRUST_PROXY_HEADERS
labelEn: Trust reverse-proxy headers
labelZh: 信任反向代理请求头
label:
en: Trust reverse-proxy headers
zh: 信任反向代理请求头
zh-Hant: 信任反向代理標頭
ja: リバースプロキシヘッダーを信頼
ko: 역방향 프록시 헤더 신뢰
ru: Доверять заголовкам обратного прокси
ms: Percayai pengepala proksi terbalik
pt-br: Confiar nos cabeçalhos do proxy reverso
tr: Ters proxy başlıklarına güven
es-es: Confiar en las cabeceras del proxy inverso
fa: اعتماد به سرخط‌های پراکسی معکوس
lo: ເຊື່ອຖື header ຂອງ reverse proxy
required: true
type: select
values:
- label: Direct access
value: "false"
- label: Behind a trusted reverse proxy
value: "true"
- default: Asia/Shanghai
edit: true
envKey: TZ
labelEn: Timezone
labelZh: 时区
label:
en: Timezone
zh: 时区
zh-Hant: 時區
ja: タイムゾーン
ko: 시간대
ru: Часовой пояс
ms: Zon waktu
pt-br: Fuso horário
tr: Saat dilimi
es-es: Zona horaria
fa: منطقه زمانی
lo: ເຂດເວລາ
required: true
type: text
+44
View File
@@ -0,0 +1,44 @@
services:
serverkit:
image: "jhd3197/serverkit:latest"
container_name: ${CONTAINER_NAME}
ports:
- "${PANEL_APP_PORT_HTTP}:5000"
environment:
- "TZ=${TZ}"
- "DATABASE_URL=sqlite:////app/instance/serverkit.db"
- "FLASK_ENV=production"
- "SECRET_KEY=${SECRET_KEY}"
- "JWT_SECRET_KEY=${JWT_SECRET_KEY}"
- "SERVERKIT_ENCRYPTION_KEY=${SERVERKIT_ENCRYPTION_KEY}"
- "CORS_ORIGINS=${CORS_ORIGINS}"
- "SERVERKIT_PUBLIC_URL=${SERVERKIT_PUBLIC_URL:-}"
- "TRUST_PROXY_HEADERS=${TRUST_PROXY_HEADERS}"
- "TRUSTED_PROXY_HOPS=1"
- "SERVERKIT_GITHUB_REPO=jhd3197/ServerKit"
volumes:
- "serverkit-data:/app/instance"
networks:
- "1panel-network"
labels:
createdBy: "Apps"
restart: "unless-stopped"
healthcheck:
test: ["CMD-SHELL", "curl -f \"http://127.0.0.1:5000/api/v1/system/health\" || exit 1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
volumes:
serverkit-data:
name: serverkit-data
networks:
1panel-network:
external: true
+19
View File
@@ -0,0 +1,19 @@
Copyright (c) 2026 okxlin
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB