mirror of
https://github.com/okxlin/appstore.git
synced 2026-09-27 00:01:05 +00:00
55 lines
3.4 KiB
Markdown
55 lines
3.4 KiB
Markdown
# 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 `data/serverkit.db` in the application install directory and bind-mounted to `/app/instance`. This keeps the data under the 1Panel application directory for application backups. Do not remove this directory unless the ServerKit data can be discarded. When upgrading from the legacy `serverkit-data` volume, the target version migrates the SQLite files when the new directory is empty; the legacy volume is retained and is not deleted automatically.
|
|
|
|
## Security notice
|
|
|
|
The maintainer scanned each packaged `serverkit` image tag with Trivy; each report contains Critical=5, High=77, Total=82 (both tags resolve to the same image content). These findings originate from the upstream image and its base-system components and are not remediated by this package. Prefer trusted private networks and monitor upstream image updates.
|
|
|
|
High-risk examples:
|
|
|
|
- Critical `CVE-2025-7458` (`libsqlite3-0`): no fix is currently available.
|
|
- Critical `CVE-2026-13221`, `CVE-2026-42496`, and `CVE-2026-8376` (`perl-base`): no fix is currently available.
|
|
- Critical `CVE-2023-45853` (`zlib1g`): no fix is currently available.
|
|
|
|
## 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).
|