mirror of
https://github.com/okxlin/appstore.git
synced 2026-10-09 08:00:36 +00:00
feat: add ServerKit app package
This commit is contained in:
@@ -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
|
||||
@@ -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
|
||||
@@ -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)。
|
||||
@@ -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).
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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 |
Reference in New Issue
Block a user