Deploy a Multi‑Language Task Scheduler with Podman, Docker, and Docker‑Compose
This guide introduces a versatile task‑scheduling panel supporting Python 3, JavaScript, Shell, and TypeScript, outlines its key features, and provides step‑by‑step deployment instructions for Podman, Docker, and Docker‑Compose, including command examples and usage tips.
Today we share a task‑management panel that supports Python 3, JavaScript, Shell, and TypeScript.
The project offers the following features:
Multiple script language support (Python 3, JavaScript, Shell, TypeScript)
Online management of scripts, environment variables, and configuration files
Real‑time task log viewing
Second‑level task scheduling
System‑level notifications
Dark mode
Mobile‑friendly operation
Podman deployment
1. Install Podman https://podman.io/getting-started/installation 2. Run the container
podman run -dit \
--network bridge \
-v $PWD/ql:/ql/data \
-p 5700:5700 \
--name qinglong \
--hostname qinglong \
--restart unless-stopped \
docker.io/whyour/qinglong:latestDocker deployment
1. Install Docker sudo curl -sSL get.docker.com | sh 2. Run the container
docker run -dit \
-v $PWD/ql:/ql/data \
-p 5700:5700 \
--name qinglong \
--hostname qinglong \
--restart unless-stopped \
whyour/qinglong:latestDocker‑Compose deployment
1. Install Docker‑Compose
sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose2. Start the container
mkdir qinglong
wget https://raw.githubusercontent.com/whyour/qinglong/master/docker/docker-compose.yml
# start
docker-compose up -d
# stop
docker-compose downBuilt‑in commands for using the panel include:
# Update and restart QingLong
ql update
# Run custom script extra.sh
ql extra
# Add a single script file
ql raw <file_url>
# Add a specific script from a repository
ql repo <repo_url> <whitelist> <blacklist> <dependence> <branch>
# Delete old logs
ql rmlog <days>
# Start tg‑bot
ql bot
# Check environment and fix issues
ql check
# Reset login error count
ql resetlet
# Disable two‑step login
ql resettfa
# Execute tasks with optional random delay, concurrency, or specific account
task <file_path>
task <file_path> now
task <file_path> conc <env_name> <account_number>
task <file_path> desi <env_name> <account_number>Parameter explanations:
file_url: script address
repo_url: repository address
whitelist: path substring that must be present when pulling scripts
blacklist: path substring that must not be present when pulling scripts
dependence: dependency files copied to the scripts directory, unaffected by blacklist
branch: repository branch to pull
days: number of days to retain logs
file_path: path of the file to execute
env_name: environment variable name for concurrent or targeted execution
account_number: specific account index for execution
Usage example:
git clone [email protected]:whyour/qinglong.git
cd qinglong
cp .env.example .env
# Recommended: install pnpm
npm install -g pnpm
pnpm install
pnpm startAfter starting, access the panel at http://127.0.0.1:5700.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Programmer DD
A tinkering programmer and author of "Spring Cloud Microservices in Action"
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
