遇见时光

Keep Looking , Don't Settle
Stay Hungry , Stay Foolish

BiliHelper-personal脚本部署

本部署教程是在腾讯云搭载2G,2核的Ubuntu 20.04轻量级服务器上进行实现的。


  1. 安装docker


  2. 使用命令拉取镜像

1
sudo docker pull lkeme/bilihelper-personal

  1. 通过配置文件传入参数

注:挂载前必须提前把文件下载在宿主机对应目录下-user.ini/index.php

1
sudo docker run --name BiliHelper -itd --rm -v /home/superman/BiliHelper_conf/user.ini:/app/conf/user.ini lkeme/bilihelper-personal -e MIRRORS=6

  • 相关参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 使用github镜像加速

$ -e MIRRORS=0 # 使用 github.com
$ -e MIRRORS=1 # 使用 ghproxy.com
$ -e MIRRORS=2 # 使用 fastgit.org
$ -e MIRRORS=3 # 使用 hub.gitfast.tk
$ -e MIRRORS=4 # 使用 hub.gitslow.tk
$ -e MIRRORS=5 # 使用 hub.verge.tk
$ -e MIRRORS=6 # 使用 gh.api.99988866.xyz
$ -e MIRRORS=custom -e CUSTOM_CLONE_URL=https://github.com/lkeme/BiliHelper-personal.git # 使用 自定义克隆地址

-it 前台运行
-itd 后台运行
-v 本地文件:容器内部文件 ==> 挂载本地文件到容器中。本地文件路径随便变,容器内部文件路径不能变。

  • 使用模式2进行登录
1
2
3
4
5
6
# 配置文件里设置好,发送完短信 
sudo docker attach BiliHelper # 进去容器
# 同时可以监视容器运行情况
sudo docker logs BiliHelper

# 若运行正常则会需要输入短信验证码完全启动,如下图

注:若运行正常,此时CRTL-c会直接停止容器,此时可以使用CTRL-p,CTRL-q键序列从容器中分离并保持其运行

1
2
3
# 若不想影响原容器工作,可以使用--no-stdin参数:
sudo docker attach --no-stdin BiliHelper
# 这样不附加 stdin ,也就不会有输入影响容器的运行,这个终端需要推出时,ctrl + c 即可。

rocky


  1. 监控脚本配置

    如果你将 BiliHelper-personal 部署到线上服务器时,则需要配置一个进程监控器来监测 php index.php 命令,在它意外退出时自动重启。


  • 首先执行php -v是否安装php,否则:sudo apt install php7.4-cli

  • 设置systemd脚本:sudo vi /usr/lib/systemd/system/bilibili.service
1
2
3
4
5
6
7
8
9
10
11
12
13
# /usr/lib/systemd/system/bilibili.service

[Unit]
Description=BiliHelper Manager
Documentation=https://github.com/lkeme/BiliHelper-personal
After=network.target

[Service]
ExecStart=/usr/bin/php /path/to/your/BiliHelper-personal/index.php
Restart=always

[Install]
WantedBy=multi-user.target

  • 查找 Docker 容器内文件系统在宿主机上的位置

    Docker 文件系统是在宿主机上完成 Merge 后,再挂载到容器内的,我们可以通过 docker inspect 命令快速定位容器文件系统在宿主机上对应的目录:

1
2
3
sudo docker inspect --format='{{.GraphDriver.Data.MergedDir}}' 23b72a9479eb

/var/lib/docker/overlay2/72191c356b1ca3af7e8b77682fa0014ad439aecd1273f1b1c3b7c399b1ebf5c7/merged

/var/lib/docker/overlay2/72191c356b1ca3af7e8b77682fa0014ad439aecd1273f1b1c3b7c399b1ebf5c7/merged文件夹,即为容器的文件系统。


  • 修改systemd脚本的index.php路径:

    sudo vi /usr/lib/systemd/system/bilibili.service

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# /usr/lib/systemd/system/bilibili.service

[Unit]
Description=BiliHelper Manager
Documentation=https://github.com/lkeme/BiliHelper-personal
After=network.target

[Service]
Restart=always
RestartSec=5
User=root
ExecStart=/usr/bin/php /var/lib/docker/overlay2/72191c356b1ca3af7e8b77682fa0014ad439aecd1273f1b1c3b7c399b1ebf5c7/merged/app/index.php


[Install]
WantedBy=multi-user.target
大爷,赏点?