自动部署
Docker 一键部署,开箱即用,几步就能启动机器人和积分系统,适合想快速上手的用户
一键部署#
登陆你的服务器,在上面执行
curl -fsSL https://bilibili-danmu-scripts.oss-cn-hongkong.aliyuncs.com/install-docker-v2.sh | bashbash之后等几分钟后你就能拿到机器人控制台的访问地址了,通常是 http://服务器IP:7777
打开后会先弹出一个账号密码的设置框。这里你填的账号密码会作为今后访问机器人控制台的第一道防线,所以随便填可以,但最好自己记得住。
他做了什么?#
一键部署会在服务器上自动完成下面这些操作
一般你不用关心细节,但如果你想知道它到底做了什么,或者想自己手动执行,不通过一键脚本,也可以参考下面的内容
配置非交互模式#
脚本首先会设置非交互模式,避免安装过程中弹出任何需要手动确认的对话框
export DEBIAN_FRONTEND=noninteractive
export NEEDRESTART_MODE=a
export APT_LISTCHANGES_FRONTEND=none
export UCF_FORCE_CONFFOLD=1
export UCF_FORCE_CONFFMISS=1bashecho 'debconf debconf/frontend select Noninteractive' | sudo debconf-set-selections
sudo dpkg-reconfigure -f noninteractive debconfbash同时预设 openssh-server 的配置,防止升级时弹窗询问
echo 'openssh-server openssh-server/permit-root-login boolean true' | sudo debconf-set-selectionsbash更新系统#
sudo apt-get updatebashsudo -E apt-get upgrade -y \
-o Dpkg::Options::="--force-confdef" \
-o Dpkg::Options::="--force-confold"bashsudo apt-get install -y ca-certificates curlbash添加 Docker 软件源#
使用 Docker 官方推荐的现代方式添加 APT 仓库
sudo install -m 0755 -d /etc/apt/keyringsbashsudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.ascbashsudo chmod a+r /etc/apt/keyrings/docker.ascbashecho \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list >/dev/nullbashsudo apt-get updatebash安装 Docker#
新版脚本使用 Docker Compose V2 插件(docker compose),替代旧版的独立 docker-compose 命令
sudo apt-get install -y \
docker-ce \
docker-ce-cli \
containerd.io \
docker-buildx-plugin \
docker-compose-pluginbashsudo systemctl enable dockerbashsudo systemctl start dockerbashdocker --version
docker compose versionbash部署项目#
克隆项目并初始化
git clone https://github.com/zxc7563598/php-bilibili-danmu-docker.git /opt/bilibili-robotsbashcd /opt/bilibili-robotsbashsh ./setup.shbashDocker Compose V2 会在首次启动时自动构建镜像,无需手动执行 build
docker compose up -dbash获取访问地址#
脚本最后会自动获取服务器的公网 IP 并输出访问地址
curl -4 -s --max-time 5 https://api.ipify.orgbash部署成功后你会看到类似这样的输出:
机器人后台:
http://123.45.67.89:7777
首次访问会要求设置后台账号和密码。
输入的账号密码将作为后续登录控制台的凭据,请妥善保存。plaintext要如何绑定域名#
执行以下命令配置 Nginx 和 SSL 证书:
curl -fsSL https://bilibili-danmu-scripts.oss-cn-hongkong.aliyuncs.com/setup-nginx-ssl.sh | bash -s 后台地址 积分商城地址 你的邮箱bash命令需要传入 3 个参数,按顺序分别为:
- 后台域名:用于访问机器人控制台的域名
- 商城域名:用于访问积分商城的域名
- 你的邮箱:用于 Let’s Encrypt SSL 证书注册
完成后前往机器人控制台,修改项目地址为 https://后台域名(例如 https://admin.example.com),修改商城地址为 https://商城域名 后保存。注意地址前面要加上 https://。

后续即可通过域名访问项目。
他做了什么?#
安装 Nginx#
sudo apt updatebashsudo apt install nginxbash配置 Nginx#
在 /etc/nginx/conf.d 目录中创建 .conf 配置文件并填入以下内容
server {
listen 80;
server_name 机器人控制台域名;
location / {
proxy_pass http://localhost:7777;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
server {
listen 80;
server_name 积分商城域名;
location / {
proxy_pass http://localhost:5177;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}plaintext重启 Nginx#
sudo nginx -tbashsudo systemctl reload nginxbash申请证书#
sudo apt install certbot python3-certbot-nginxbashsudo certbot --nginx -d 域名1 -d 域名2bash之后根据提示,输入你的邮箱,然后一路Y下去就好了
后续:重启项目#
连接服务器,前往 /opt/bilibili-robots 目录执行
cd /opt/bilibili-robotsbashdocker compose restartbash
评论似乎卡住了,尝试刷新?✨