English | ็ฎไฝไธญๆ
A powerful, user-friendly, web-based server management panel.
Streamline the administration of instances, files, and users with a modern interface. Whether you are managing raw Shell commands or Docker containers, Panel provides seamless control.
Features โข Quick Start โข Configuration โข Screenshots
Take full control of your services with support for both Shell and Docker environments.
- Lifecycle Control: Create, start, stop, restart, and terminate instances with one click.
- Docker Mastery: Configure images, ports, volumes, working directories, and custom commands effortlessly.
- Automation: Set auto-start on boot, auto-restart on failure, and auto-delete on exit.
- Monitoring: Real-time CPU and Memory usage tracking.
- Web Terminal: Full interactive terminal access for every instance.
Secure and flexible user management designed for teams.
- Roles: Distinct
adminanduserroles. - Granular Control: Define permissions per instance:
- Terminal: No Access, Read-only, Read/Write, or Full Control.
- Files: Toggle file management access.
- Security: Secure password updates and account management.
A desktop-class file manager directly in your browser.
- Operations: Navigate, create, rename, copy, move (cut-paste), and delete.
- Transfer: Chunked uploads for large files and easy downloads.
- Code Editor: Monaco Editor integration (VS Code style) with syntax highlighting and real-time websocket sync.
- Archives: Compress (zip, 7z, tar.gz, etc.) and Extract (zip, tar, bz2, etc.) directly on the server.
- Safety: Blacklist protection for binary/system files.
- WebDAV Support: Mount your instance files locally via WebDAV (
/api/dav/<instance-id>/). - Gradio Tunnel: Built-in remote access (no FRP/port forwarding required).
- Internationalization: Full i18n support (EN, CN, JP, etc.).
- Responsive Design: Works perfectly on mobile, tablet, and desktop.
- Unzip: For extracting releases
- Docker: (Optional) For container management
- 7-Zip: (Optional) For advanced archiving features
Note: Node.js is NOT required when using pre-built releases, as they include all dependencies.
Fastest deployment. No build tools required.
For Linux x64:
# 1. Install unzip and wget
sudo apt install -y unzip wget
# 2. Download and extract
sudo mkdir -p /opt/panel && cd /opt/panel
sudo wget https://github.com/Steve3184/panel/releases/download/latest/release-linux-x64.zip
sudo unzip release-linux-x64.zip && sudo rm release-linux-x64.zip
# 3. Setup Systemd Service
sudo wget -O /etc/systemd/system/panel.service https://raw.githubusercontent.com/Steve3184/panel/main/panel.service
sudo systemctl daemon-reload
sudo systemctl enable panel
sudo systemctl start panelFor Linux ARM64:
# Use release-linux-arm64.zip instead
sudo wget https://github.com/Steve3184/panel/releases/download/latest/release-linux-arm64.zip
sudo unzip release-linux-arm64.zip && sudo rm release-linux-arm64.zip
# ...For Windows x64:
# Download release-win-x64.zip from:
# https://github.com/Steve3184/panel/releases/download/latest/release-win-x64.zip
# Extract and run: node src/server.jsFor developers or custom builds.
Click to expand build instructions
-
Install Node.js 22:
curl -sL https://deb.nodesource.com/setup_22.x | bash - sudo apt install -y nodejs -
Clone Repository:
sudo git clone https://github.com/Steve3184/panel.git /opt/panel cd /opt/panel -
Install Dependencies & Build:
npm install cd frontend && npm install npm run build cd ..
-
Configure Service:
sudo cp panel.service /etc/systemd/system/ # Edit service file if path differs from /opt/panel sudo systemctl daemon-reload sudo systemctl enable panel sudo systemctl start panel
Access the panel at http://localhost:3000.
If no admin exists, you will be redirected to /setup to create the first account.
You can configure the panel via environment variables or by modifying src/server.js.
| Variable | Description | Default |
|---|---|---|
SESSION_SECRET |
Key used to sign the session ID cookie. Change this in production. | |
PORT |
The port the server listens on. | 3000 |
PANEL_LANG |
Server-side language (e.g., jp, en, zh_CN). |
en |
Setting variables in panel.service:
Edit /etc/systemd/system/panel.service and add Environment lines under [Service]:
[Service]
Environment="SESSION_SECRET=MySuperSecretKey123"
Environment="PORT=8080"
ExecStart=/usr/bin/node src/server.jsRemember to run sudo systemctl daemon-reload && sudo systemctl restart panel after changes.
The panel includes built-in tunneling capabilities using Gradio, allowing you to access your panel from the public internet without configuring router port forwarding or setting up FRP.
- Go to Panel Settings in the panel.
- Enable Gradio Tunnel.
- Crucial: Set a
Share Token. This ensures your public URL remains constant. Without it, a random URL is generated on every restart. - Wait a moment, then refresh the Settings page to see your public link.
Make the panel your own via the Panel Settings page:
- Title: Change the browser tab and header title.
- Logo: Upload a custom image for the top-left corner.
- Background: Set a custom wallpaper for the login screen and dashboard.
| Login Page | Instance Terminal | Panel Settings |
|---|---|---|
![]() |
![]() |
![]() |
| Docker Instance Settings | Compress Files |
|---|---|
![]() |
![]() |
Contributions make the open-source community an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
Distributed under the MIT License. See LICENSE for more information.
Windows Compatibility: This panel is primarily developed for Linux environments. While it may run on Windows, functionality is not guaranteed and compatibility issues may arise.
This repository contains code that was generated or assisted by AI.










