Skip to content

Latest commit

 

History

History
222 lines (174 loc) · 9.77 KB

README-en.md

File metadata and controls

222 lines (174 loc) · 9.77 KB

Qinglong

简体中文 | English

Timed task management platform supporting Python3, JavaScript, Shell, Typescript

npm version docker pulls docker stars docker image size

Demo / Issues / Telegram Channel / Buy Me a Coffee

演示 / 反馈 / Telegram 频道 / 打赏开发者

cover

Features

  • Support for multiple scripting languages (python3, javaScript, shell, typescript)
  • Support online management of scripts, environment variables, configuration files
  • Support online view task log
  • Support second-level task setting
  • Support system level notification
  • Support dark mode
  • Support cell phone operation

Version

docker

The latest image is built on alpine and the debian image is built on debian-slim. If you need to use a dependency that is not supported by alpine, it is recommended that you use the debian image.

docker pull whyour/qinglong:latest
docker pull whyour/qinglong:debian

npm

The npm version supports debian/ubuntu/alpine systems and requires node/npm/python3/pip3/pnpm to be installed.

npm i @whyour/qinglong

Deployment

Docker (Recommended)

# curl -sSL get.docker.com | sh
docker run -dit \
  -v $PWD/ql/data:/ql/data \
  # The 5700 after the colon is the default port, if QlPort is set, it needs to be the same as QlPort.
  -p 5700:5700 \
  # Deployment paths are not required, e.g. /test.
  -e QlBaseUrl="/" \
  # Deployment port is not required, when using host mode, you can set the port after service startup, default 5700
  -e QlPort="5700" \
  --name qinglong \
  --hostname qinglong \
  --restart unless-stopped \
  whyour/qinglong:latest

BaoTa Panel one-click deployment (Recommended)

  1. To install Pagoda Panel, go to the official website of BaoTa Panel, select the official version of the script to download and install.

  2. After installation, login to Pagoda Panel, click Docker in the menu bar, the first time you enter, you will be prompted to install Docker service, click Install Now, follow the prompts to complete the installation.

  3. After the installation is complete, find Qinglong Panel in the app shop, click Install, configure the domain name and other basic information to complete the installation.

Docker-compose (Recommended)

# curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
mkdir qinglong
wget https://raw.githubusercontent.com/whyour/qinglong/master/docker/docker-compose.yml

# start
docker-compose up -d
# stop
docker-compose down

Podman (Recommended)

# https://podman.io/getting-started/installation
podman run -dit \
  --network bridge \
  -v $PWD/ql/data:/ql/data \
  # The 5700 after the colon is the default port, if QlPort is set, it needs to be the same as QlPort.
  -p 5700:5700 \
  # Deployment paths are not required, e.g. /test.
  -e QlBaseUrl="/" \
  # Deployment port is not required, when using host mode, you can set the port after service startup, default 5700
  -e QlPort="5700" \
  --name qinglong \
  --hostname qinglong \
  docker.io/whyour/qinglong:latest

Npm (Local)

It is recommended to use a pure system installation to avoid losing the original system data, you need to install node/npm/python3/pip3/pnpm yourself

# Debian/Ubuntu
curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash -
npm install -g node-pre-gyp [email protected]
npm install -g @whyour/qinglong
qinglong
# Add the environment variables QL_DIR and QL_DATA_DIR when prompted, QL_DATA_DIR must end with /data.
export QL_DIR=""
export QL_DATA_DIR=""
# Run again
qinglong

Built-in commands

  • task
# Execute in sequence, if a random delay is set, it will be randomly delayed by a certain number of seconds
task <file_path>                                             
# Execute in sequence, regardless of whether a random delay is set, all run immediately, 
# and the foreground will output the day, while recorded in the log file
task <file_path> now                                         
# Concurrent execution, regardless of whether a random delay is set, are run immediately, 
# the foreground does not generate the day, directly recorded in the log file, and can be specified account execution
task <file_path> conc <env_name> <account_number>(Optional) 
# Specify the account to execute and run immediately regardless of whether a random delay is set 
task <file_path> desi <env_name> <account_number>       
# Set task timeout   
task -m <max_time> <file_path>
# Use -- to split, -- followed by a parameter that is passed to the script, as in the following example, the script receives the parameter -u whyour -p password
task <file_path> -- -u whyour -p password
  • ql
# Update and restart Green Dragon
ql update                                                    
# Run custom scripts extra.sh
ql extra                                                     
# Adding a single script file
ql raw <file_url>                                             
# Add a specific script for a single repository
ql repo <repo_url> <whitelist> <blacklist> <dependence> <branch>   
# Delete old logs
ql rmlog <days>                                              
# Start bot
ql bot                                                       
# Detecting the Green Dragon environment and repairing it
ql check                                                     
# Reset the number of login errors
ql resetlet                                                  
# Disable two-step login
ql resettfa                                                  
Parameter Description
file_url Script address
repo_url Repository address
whitelist The whitelist when pulling the repository, i.e., the string contained in the path of the script to be pulled
blacklist Blacklisting when pulling repositories, i.e. strings that are not included in the path of the script to be pulled
dependence Pulling the dependencies needed for the repository will be copied directly from the repository to the repository directory under scripts, regardless of the blacklist
extensions Pull the branch of the repository
branch Number of days of logs to be kept
days File path for task execution
file_path The name of the environment variable that needs to be concurrent or specified at the time of task execution

Development

git clone https://github.com/whyour/qinglong.git
cd qinglong
cp .env.example .env
# Recommended use pnpm https://pnpm.io/zh/installation
npm install -g [email protected]
pnpm install
pnpm start

Open your browser and visit http://127.0.0.1:5700

Links

Name Origin

The Green Dragon, also known as the Canglong, is one of the four elephants and one of the four spirits of the heavens in traditional Chinese culture. According to the Five Elements, it is a spirit animal representing the East as a green dragon, the five elements are wood, and the season represented is spring, with the eight trigrams dominating vibration. Like the Ying Long, the Cang Long has feathered wings. According to the Zhang Guo Xing Zong (Zhang Guo Xing Zong), "a true dragon is one that has complementary wings".

In the Book of the Later Han Dynasty (後漢書-律曆志下), it is written: "The sun is in the sky, a cold and a summer, the four seasons are ready, all things are changed, the regency moves, and the green dragon moves to the star, which is called the year. (The Year of the Star)

Among the twenty-eight Chinese constellations, the Green Dragon is the generic name for the seven eastern constellations (Horn, Hyper, Diao, Fang, Heart, Tail and Minchi). It is known in Taoism as "Mengzhang" and in different Taoist scriptures as "Dijun", "Shengjian", "Shenjian" and He is also known in different Daoist scriptures as "Dijun", "Shengjun", "Shenjun" and "Ghost Catcher"[1], and is the guardian deity of Daoism, together with the White Tiger Supervisor of Soldiers.