Open Source Contribution

Developer App
Onboarding Guide

Welcome to contribute to kejilion.sh! Create a simple configuration file to integrate your application into the script's ecosystem.

Why Join kejilion.sh?

Join the leading server management ecosystem and reach unlimited possibilities.

400k+
Total Installs

Massive user base waiting for your app.

100+
Top Projects

Stand alongside Nginx, Docker, Alist...

Zero Friction

Users install your app with a single command. Remove the complexity of deployment and let users focus on using your product.

Dev Community

Join a thriving open-source community. Gain exposure, feedback, and contribution from thousands of VPS enthusiasts.

1 Quick Start

Create a configuration file named after your application in the apps/ directory.

Project Structure
  • apps/
  • myapp.conf

Pro Tip

  • File name becomes the App ID automatically.
  • Use lowercase letters and hyphens only (e.g., my-app.conf).

2 Configuration Template

Copy this template exactly. Follow the naming conventions for variables and functions.

myapp.conf
# --- 基础信息 / Basic Information ---
local app_id="1000+" # 1000以上 / Or any unique number
local app_name="My App Name" # 应用显示名称
local app_text="A brief description" # 一句话简介,说明应用用途
local app_url="https://github.com/..." # 官网链接 / Official URL
local docker_name="myapp_container" # 容器启动后的名称 / Container Name
local docker_port="8080" # 默认访问端口 / Default Port
local app_size="1" # 占用空间大小(GB) / Size in GB required (1-10)
# --- 核心逻辑 / Core Logic ---
docker_app_install() {
    # 必须在 /home/docker/ 下创建应用目录 / Directory creation (Mandatory)
    mkdir -p /home/docker/myapp && cd /home/docker/myapp
    # 下载并配置 compose 文件 / Download compose file
    # 务必使用 gh_proxy 变量 / Use gh_proxy for China access
    curl -L -o docker-compose.yml "${gh_proxy}https://raw.githubusercontent.com/..."
    # 端口处理(使用变量以便用户自定义)/ Port configuration (Customizable)
    sed -i "s/8080:8080/${docker_port}:8080/g" docker-compose.yml
    # 启动容器 / Start container
    docker compose up -d
    echo "安装完成 / Install Complete"
}
docker_app_update() {
    cd /home/docker/myapp
    docker compose pull
    docker compose up -d
    echo "更新完成 / Update Complete"
}
docker_app_uninstall() {
    cd /home/docker/myapp
    # 停止并删除镜像 / Stop and remove images
    docker compose down --rmi all
    # 彻底物理删除目录 / Clean up directory
    rm -rf /home/docker/myapp
    echo "卸载完成 / Uninstall Complete"
}
# --- 注册 (必须包含) / Registration (Mandatory) ---
docker_app_plus

3 Mandatory Rules & Principles

Directory Standards

  • MUST: All data in /home/docker/[app_name]
  • BAN: No data in /root, /etc, /var/lib

Lifecycle

  • Compose must include restart: always
  • Uninstall must be clean (rm images & folder)

Syntax & Variables

  • Use local keyword for all variables
  • App ID can be arbitrary; filename is key

Network

  • Use ${gh_proxy} for Github URLs

4 Quick Launch & Call

Once merged, your app appears in the "Third Party" module. You can also provide a one-line install command for users:

Installation Command

bash <(curl -sL kejilion.sh) app [filename]

Example: bash <(curl -sL kejilion.sh) app myapp

5 Onboarding Process

1

Self Test

Run install/update/uninstall on your VPS. Ensure zero errors.

2

Audit Path

Check /home/docker/ for correct generation. No file overflow.

3

Submit PR

Submit your .conf file to sh/apps/ directory via Pull Request.

4

Publish

Maintainers review logic safety. Once merged, it's live.

Copied!