kejilion/sh: A Single-Script Linux Server Toolbox with Docker and LDNMP Focus
KEJILION.SH Linux An all-in-one Linux management script!
At a glance
- What is it?
- kejilion/sh is an interactive shell script that bundles system monitoring, network testing, Docker management, LDNMP site deployment, backup, and security tools. It is aimed at server administrators who want a menu-driven alternative to juggling multiple standalone utilities.
- Who is it for?
- Adopt kejilion/sh if you manage a Linux server and prefer a single interactive menu for common tasks like Docker, LDNMP, backups, and network tests. Avoid it if you need fine-grained control or if your server runs a non-mainstream distribution, since the script adapts features based on system capabilities.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly Shell, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What kejilion/sh Solves and Who It Is For
kejilion/sh is a shell-based toolbox that consolidates dozens of Linux server administration tasks into one interactive menu. The README describes it as an all-in-one toolbox for monitoring, testing, and server management. It targets both beginners and experienced users, but its real strength is for someone who wants to avoid remembering and installing separate tools for network tests, Docker management, website stack deployment, and backups. Instead of maintaining a collection of scripts and one-off commands, you run a single script that presents a menu of options. The tool is especially relevant for operators who manage LDNMP environments, which is a common stack for PHP-based sites. The script also integrates an app market for installing common panels and services, making it a potential entry point for server provisioning.
The Interactive Menu and Installation Flow
The core mechanism is a menu-driven shell script. You install it by running a curl command as root: bash <(curl -sL kejilion.sh) for the Chinese version, or append en for English. The first run prompts you to set a shortcut command, typically k, so subsequent access is just typing k. The script then shows a main menu with categories like system info, network tools, Docker management, LDNMP deployment, website protection, backup and migration, BBR acceleration, and an app market. This is not a daemon or a background service; it is an interactive session that runs only when you invoke it. The README notes that the script includes system-level operations such as software installation, network changes, firewall rules, disk operations, and website environment changes. That means each menu selection executes commands with root privileges, so the interactive flow is the only thing separating you from those actions.
Docker Management and LDNMP Deployment
Two of the most prominent features are Docker management and one-click LDNMP stack deployment. The Docker section covers containers, images, networks, volumes, and logs, which mirrors what you would get from docker CLI commands but wrapped in a menu. The LDNMP feature deploys Nginx, MySQL, PHP, and Redis, which is a common web server stack. The README does not specify whether it uses Docker Compose or native packages, but it mentions that Docker Compose is one of the resources that can be managed. This matters because the choice affects upgrade paths and file locations. If you already have a manually configured Nginx or MySQL, running an automated stack deployment could conflict with existing configurations. The script's backup and migration features are designed to mitigate that risk, as they support site and database backup, restoration, and remote transfer. That suggests the tool is aware of the potential for disruption.
Network Testing and System Overview Tools
Beyond management, kejilion.sh bundles network diagnostic utilities. The README lists speed tests, route tracing, latency checks, and packet loss detection. These are typically standalone tools like speedtest-cli or mtr, but here they are integrated into the menu. The system overview section shows CPU, memory, disk, and bandwidth status. This is useful for quick health checks without installing a separate monitoring agent. However, the README does not specify which underlying tools are used or whether they are installed on demand. The script likely calls common utilities that may or may not be present on your system. If a required tool is missing, the script might prompt for installation or fail silently. That is a limitation to verify before relying on it for network diagnostics. The BBR acceleration feature also falls under this category, managing TCP congestion control algorithms, which is a kernel-level change that requires a reboot or module loading.
KPanel: A Web Interface Companion
The README introduces KPanel as a modern web management form for kejilion.sh. You can deploy it with bash <(curl -sL kejilion.sh) app kpanel. The key claim is that resources created by the script, SSH, Docker Compose, and KPanel can discover each other and continue to be managed. That implies KPanel is not a separate silo but a front-end that reads the same underlying state, such as Docker containers and compose files. This is a significant architectural point: the script is not just a set of commands but part of a broader ecosystem. However, the README does not explain how the discovery mechanism works, whether it uses labels, a shared database, or file scanning. For an engineer, that lack of detail is a gap. You would need to inspect the KPanel source to understand the integration depth. The blog link provides more information, but it is not included in the supplied material.
Limitations and Wrong Tool Scenarios
The most obvious limitation is that the script requires root access and executes system-level operations. The README itself warns to read terminal prompts and back up important data before running. That makes it unsuitable for environments where you cannot or should not have root, such as shared hosting or containers with restricted privileges. Another limitation is distribution variability. The README states that different distributions have different package managers, network stacks, and service management, and the script will enable features based on current system capabilities. That means not all features are available on every system, and the behavior could differ significantly between, say, Debian and RHEL. The script is also a single point of trust: you are piping a remote script to bash, which is a security risk if the source is compromised. The README mitigates this by advising to only fetch from the official domain and to review the source, but that is a manual step. For a critical production server, an audit of the entire script is a heavy requirement.
Maintenance, Licensing, and Upgrade Considerations
The project is licensed under Apache-2.0, which is permissive for use and modification, but you should read the license for specific conditions. The repository shows recent releases: v4.4.1 in March 2026, v4.3.7 in February, and v4.3.2 in January. That indicates an active maintenance cadence, which is a positive sign for bug fixes and feature updates. The script has an automatic update detection mechanism that checks for new versions and offers an update entry. This is a double-edged sword: it keeps the script current, but it also means the behavior can change without your direct action. The README points to a changelog file and an app market README for details. Before adopting it, you should review the changelog to understand what changes between versions, especially for major version bumps. The upgrade path is not fully described, but the update mechanism likely replaces the script file, so custom modifications would be lost if you edit the script directly.
Alternative Approaches: Separate Tools vs. Integrated Script
The main alternative is to use dedicated tools for each task. For Docker management, you could use Portainer, a web UI that provides container, image, network, and volume management without needing to remember CLI commands. For LDNMP, you could use a manual setup or a configuration management tool like Ansible to provision Nginx, MySQL, PHP, and Redis. For backups, you could use restic or rsync scripts. The key difference is that these tools are specialized and often have their own configuration formats and learning curves. kejilion.sh trades that depth for convenience: one menu, one script, no separate installations. The trade-off is that you rely on the script's implementation, which may not match your specific needs. For example, Portainer offers a REST API and role-based access control, which kejilion.sh does not mention. Ansible is idempotent and declarative, whereas kejilion.sh is imperative and interactive. If you need automation or multi-server management, a script that requires manual interaction is the wrong tool.
Editorial conclusion
Adopt kejilion/sh if you manage a Linux server and prefer a single interactive menu for common tasks like Docker, LDNMP, backups, and network tests. Avoid it if you need fine-grained control or if your server runs a non-mainstream distribution, since the script adapts features based on system capabilities. Before using it on a production system, verify the script source from the official domain, review the update log, and back up your websites, databases, and Docker data. The script's value depends on its maintenance cadence, which is active with recent releases, but always audit the code you pipe to root.
Community notes