Docker 快速部署 Pagermaid 自走Bot
· 2 min read
新建yaml配置文件
vim compose.yaml
复制下面代码
version: '3.8'
services:
pagermaid:
image: shenzhenkxl/ubuntu_init:v1
container_name: pagermaid-pyro
restart: unless-stopped
working_dir: /var/lib/pagermaid
environment:
- PYTHONUNBUFFERED=1
command: |
bash -c "
apt update &&
apt install -y git python3-pip vim &&
# 如果没 clone 过,就 clone
if [ ! -d '/var/lib/pagermaid/.git' ]; then
echo '=== 首次启动,正在克隆 PagerMaid... ===' &&
cd /var/lib &&
git clone https://github.com/TeamPGM/PagerMaid-Pyro.git pagermaid &&
cd pagermaid &&
mkdir -p data &&
cp config.gen.yml ./data/config.yml &&
echo '=== PagerMaid 初始化完成 ==='
else
echo '=== 检测到已存在 PagerMaid,跳过克隆 ==='
fi &&
cd /var/lib/pagermaid &&
# 检查依赖是否需要重新安装
if [ ! -f '/var/lib/pagermaid/.deps_installed' ] || ! md5sum -c .deps_installed; then
echo '=== 安装或更新 Python 依赖 ===' &&
pip3 install -r requirements.txt &&
md5sum requirements.txt > .deps_installed
else
echo '=== 依赖未变化,跳过安装 ==='
fi &&
if [ ! -f '/var/lib/pagermaid/data/.configured' ]; then
echo '=== 等待交互配置,请运行: docker exec -it pagermaid-pyro bash ===' &&
echo '=== 然后在容器内运行: python3 -m pagermaid ===' &&
echo '=== 配置完成后会自动进入后台运行模式 ===' &&
while [ ! -f '/var/lib/pagermaid/data/.configured' ]; do
sleep 10
done
fi &&
echo '=== 进入后台运行模式 ===' &&
while true; do
python3 -m pagermaid &
PID=\$$!
sleep 7200
kill \$$PID 2>/dev/null
wait \$$PID 2>/dev/null
echo '定时重启 PagerMaid...'
done
"
tty: true
stdin_open: true
执行docker compose
docker compose up -d
等待初始化完成
docker logs -f pagermaid-pyro
出现下面内容的时候可以CTRL+C退出日志查看
=== PagerMaid 初始化完成 ===
=== 等待交互配置,请运行: docker exec -it pagermaid-pyro bash ===
=== 然后在容器内运行: python3 -m pagermaid ===
=== 配置完成后会自动进入后台运行模式 ===
进入容器进行登录初始化
docker exec -it pagermaid-pyro bash
进入容器之后执行
# 在容器内运行配置
python3 -m pagermaid
# 配置 登录完成后 CTRL+C 退出上面的交互命令行 执行下面命令改变 标记
touch /var/lib/pagermaid/data/.configured
# 退出容器
exit
查看日志
docker logs -f pagermaid-pyro
出现 === 进入后台运行模式 ===
说明配置完成.