{"id":31921799,"url":"https://github.com/steve3184/panel","last_synced_at":"2026-02-19T09:22:56.136Z","repository":{"id":318059477,"uuid":"1069822081","full_name":"Steve3184/panel","owner":"Steve3184","description":"A powerful, user-friendly, web-based server management panel. 🤗","archived":false,"fork":false,"pushed_at":"2026-02-15T08:30:47.000Z","size":1091,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-15T13:37:49.279Z","etag":null,"topics":["docker-management","file-manager","linux-management","management-system","panel"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Steve3184.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-04T17:30:18.000Z","updated_at":"2026-02-15T08:26:11.000Z","dependencies_parsed_at":"2025-11-22T10:04:57.775Z","dependency_job_id":null,"html_url":"https://github.com/Steve3184/panel","commit_stats":null,"previous_names":["steve3184/panel"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/Steve3184/panel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Steve3184%2Fpanel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Steve3184%2Fpanel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Steve3184%2Fpanel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Steve3184%2Fpanel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Steve3184","download_url":"https://codeload.github.com/Steve3184/panel/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Steve3184%2Fpanel/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29609524,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T06:47:36.664Z","status":"ssl_error","status_checked_at":"2026-02-19T06:45:47.551Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker-management","file-manager","linux-management","management-system","panel"],"created_at":"2025-10-13T22:54:10.782Z","updated_at":"2026-02-19T09:22:56.120Z","avatar_url":"https://github.com/Steve3184.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The Panel\n\n\u003cdiv align=\"center\"\u003e\n\n![License](https://img.shields.io/badge/license-MIT-green?style=flat-square)\n![Node](https://img.shields.io/badge/node-%3E%3D22-brightgreen?style=flat-square)\n![PRs Welcome](https://img.shields.io/badge/PRs-welcome-orange?style=flat-square)\n\n**English** | [简体中文](README_CN.md)\n\n**A powerful, user-friendly, web-based server management panel.**\n\n*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.*\n\n[Features](#-features) • [Quick Start](#-quick-start) • [Configuration](#-configuration) • [Screenshots](#-screenshots)\n\n\u003c/div\u003e\n\n---\n\n## ✨ Features\n\n### 🖥️ Instance Management\nTake full control of your services with support for both **Shell** and **Docker** environments.\n-   **Lifecycle Control**: Create, start, stop, restart, and terminate instances with one click.\n-   **Docker Mastery**: Configure images, ports, volumes, working directories, and custom commands effortlessly.\n-   **Automation**: Set auto-start on boot, auto-restart on failure, and auto-delete on exit.\n-   **Monitoring**: Real-time CPU and Memory usage tracking.\n-   **Web Terminal**: Full interactive terminal access for every instance.\n-   \u003cdetails\u003e\u003csummary\u003e📷 \u003ci\u003eView Screenshots\u003c/i\u003e\u003c/summary\u003e\u003cbr\u003e\u003cimg src=\"images/5.webp\" alt=\"Instance Overview\"\u003e\u003cbr\u003e\u003cimg src=\"images/12.webp\" alt=\"Instance Terminal\"\u003e\u003cbr\u003e\u003cimg src=\"images/2.webp\" alt=\"Instance Settings\"\u003e\u003c/details\u003e\n\n### 👥 User \u0026 Permission RBAC\nSecure and flexible user management designed for teams.\n-   **Roles**: Distinct `admin` and `user` roles.\n-   **Granular Control**: Define permissions per instance:\n    -   *Terminal*: No Access, Read-only, Read/Write, or Full Control.\n    -   *Files*: Toggle file management access.\n-   **Security**: Secure password updates and account management.\n-   \u003cdetails\u003e\u003csummary\u003e📷 \u003ci\u003eView Screenshots\u003c/i\u003e\u003c/summary\u003e\u003cbr\u003e\u003cimg src=\"images/11.webp\" alt=\"User Management\"\u003e\u003cbr\u003e\u003cimg src=\"images/10.webp\" alt=\"Instance Permissions\"\u003e\u003c/details\u003e\n\n### 📂 Advanced File Management\nA desktop-class file manager directly in your browser.\n-   **Operations**: Navigate, create, rename, copy, move (cut-paste), and delete.\n-   **Transfer**: Chunked uploads for large files and easy downloads.\n-   **Code Editor**: Monaco Editor integration (VS Code style) with syntax highlighting and real-time websocket sync.\n-   **Archives**: Compress (zip, 7z, tar.gz, etc.) and Extract (zip, tar, bz2, etc.) directly on the server.\n-   **Safety**: Blacklist protection for binary/system files.\n-   \u003cdetails\u003e\u003csummary\u003e📷 \u003ci\u003eView Screenshots\u003c/i\u003e\u003c/summary\u003e\u003cbr\u003e\u003cimg src=\"images/9.webp\" alt=\"File Browser\"\u003e\u003cbr\u003e\u003cimg src=\"images/8.webp\" alt=\"Online File Editor\"\u003e\u003c/details\u003e\n\n### 🔗 Connectivity \u0026 Access\n-   **WebDAV Support**: Mount your instance files locally via WebDAV (`/api/dav/\u003cinstance-id\u003e/`).\n-   **Gradio Tunnel**: Built-in remote access (no FRP/port forwarding required).\n-   **Internationalization**: Full i18n support (EN, CN, JP, etc.).\n-   **Responsive Design**: Works perfectly on mobile, tablet, and desktop.\n\n---\n\n## 🚀 Quick Start\n\n### Prerequisites\n*   **Unzip**: For extracting releases\n*   **Docker**: (Optional) For container management\n*   **7-Zip**: (Optional) For advanced archiving features\n\n**Note**: Node.js is **NOT** required when using pre-built releases, as they include all dependencies.\n\n### Installation\n\n#### Option 1: Install from Release (Recommended) ⚡\n*Fastest deployment. No build tools required.*\n\n**For Linux x64:**\n```bash\n# 1. Install unzip and wget\nsudo apt install -y unzip wget\n\n# 2. Download and extract\nsudo mkdir -p /opt/panel \u0026\u0026 cd /opt/panel\nsudo wget https://github.com/Steve3184/panel/releases/download/latest/release-linux-x64.zip\nsudo unzip release-linux-x64.zip \u0026\u0026 sudo rm release-linux-x64.zip\n\n# 3. Setup Systemd Service\nsudo wget -O /etc/systemd/system/panel.service https://raw.githubusercontent.com/Steve3184/panel/main/panel.service\nsudo systemctl daemon-reload\nsudo systemctl enable panel\nsudo systemctl start panel\n```\n\n**For Linux ARM64:**\n```bash\n# Use release-linux-arm64.zip instead\nsudo wget https://github.com/Steve3184/panel/releases/download/latest/release-linux-arm64.zip\nsudo unzip release-linux-arm64.zip \u0026\u0026 sudo rm release-linux-arm64.zip\n# ...\n```\n\n**For Windows x64:**\n```powershell\n# Download release-win-x64.zip from:\n# https://github.com/Steve3184/panel/releases/download/latest/release-win-x64.zip\n# Extract and run: node src/server.js\n```\n\n#### Option 2: Build from Source 🛠️\n*For developers or custom builds.*\n\n\u003cdetails\u003e\n\u003csummary\u003eClick to expand build instructions\u003c/summary\u003e\n\n1.  **Install Node.js 22:**\n    ```bash\n    curl -sL https://deb.nodesource.com/setup_22.x | bash -\n    sudo apt install -y nodejs\n    ```\n\n2.  **Clone Repository:**\n    ```bash\n    sudo git clone https://github.com/Steve3184/panel.git /opt/panel\n    cd /opt/panel\n    ```\n\n3.  **Install Dependencies \u0026 Build:**\n    ```bash\n    npm install\n    cd frontend \u0026\u0026 npm install\n    npm run build\n    cd ..\n    ```\n\n4.  **Configure Service:**\n    ```bash\n    sudo cp panel.service /etc/systemd/system/\n    # Edit service file if path differs from /opt/panel\n    sudo systemctl daemon-reload\n    sudo systemctl enable panel\n    sudo systemctl start panel\n    ```\n\u003c/details\u003e\n\n### Initial Setup\nAccess the panel at `http://localhost:3000`.\nIf no admin exists, you will be redirected to `/setup` to create the first account.\n\n---\n\n## ⚙️ Configuration\n\n### Environment Variables\nYou can configure the panel via environment variables or by modifying `src/server.js`.\n\n| Variable | Description | Default |\n| :--- | :--- | :--- |\n| `SESSION_SECRET` | Key used to sign the session ID cookie. **Change this in production.** | |\n| `PORT` | The port the server listens on. | `3000` |\n| `PANEL_LANG` | Server-side language (e.g., `jp`, `en`, `zh_CN`). | `en` |\n\n**Setting variables in `panel.service`:**\nEdit `/etc/systemd/system/panel.service` and add `Environment` lines under `[Service]`:\n\n```ini\n[Service]\nEnvironment=\"SESSION_SECRET=MySuperSecretKey123\"\nEnvironment=\"PORT=8080\"\nExecStart=/usr/bin/node src/server.js\n```\n*Remember to run `sudo systemctl daemon-reload \u0026\u0026 sudo systemctl restart panel` after changes.*\n\n### 🌍 Remote Access (Gradio Tunnel)\nThe 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.\n\n1.  Go to **Panel Settings** in the panel.\n2.  Enable **Gradio Tunnel**.\n3.  **Crucial**: Set a `Share Token`. This ensures your public URL remains constant. Without it, a random URL is generated on every restart.\n4.  Wait a moment, then refresh the Settings page to see your public link.\n\n### 🎨 UI Customization\nMake the panel your own via the **Panel Settings** page:\n-   **Title**: Change the browser tab and header title.\n-   **Logo**: Upload a custom image for the top-left corner.\n-   **Background**: Set a custom wallpaper for the login screen and dashboard.\n\n---\n\n## 📸 Screenshots\n\n| Login Page | Instance Terminal | Panel Settings |\n| :---: | :---: | :---: |\n| \u003cimg src=\"images/1.webp\" width=\"100%\" alt=\"Login Page\"/\u003e | \u003cimg src=\"images/12.webp\" width=\"100%\" alt=\"Terminal\"/\u003e | \u003cimg src=\"images/4.webp\" width=\"100%\" alt=\"Panel Settings\"/\u003e |\n\n| Docker Instance Settings | Compress Files |\n| :---: | :---: |\n| \u003cimg src=\"images/7.webp\" width=\"100%\" alt=\"Docker Instance Settings\"/\u003e | \u003cimg src=\"images/6.webp\" width=\"100%\" alt=\"Compress Files\"/\u003e |\n\n---\n\n## 🤝 Contributing\n\nContributions make the open-source community an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\n## 📄 License\n\nDistributed under the MIT License. See `LICENSE` for more information.\n\n## ⚠️ Disclaimer\n\n**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.\n\n\u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003csmall\u003e\u003ci\u003eThis repository contains code that was generated or assisted by AI.\u003c/i\u003e\u003c/small\u003e\n\u003c/p\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteve3184%2Fpanel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsteve3184%2Fpanel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteve3184%2Fpanel/lists"}