星河避难所

返回

自动部署

Docker 一键部署,开箱即用,几步就能启动机器人和积分系统,适合想快速上手的用户

一键部署#

登陆你的服务器,在上面执行

curl -fsSL https://bilibili-danmu-scripts.oss-cn-hongkong.aliyuncs.com/install-docker-v2.sh | bash
bash

之后等几分钟后你就能拿到机器人控制台的访问地址了,通常是 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=1
bash
echo 'debconf debconf/frontend select Noninteractive' | sudo debconf-set-selections
sudo dpkg-reconfigure -f noninteractive debconf
bash

同时预设 openssh-server 的配置,防止升级时弹窗询问

echo 'openssh-server openssh-server/permit-root-login boolean true' | sudo debconf-set-selections
bash

更新系统#

sudo apt-get update
bash
sudo -E apt-get upgrade -y \
    -o Dpkg::Options::="--force-confdef" \
    -o Dpkg::Options::="--force-confold"
bash
sudo apt-get install -y ca-certificates curl
bash

添加 Docker 软件源#

使用 Docker 官方推荐的现代方式添加 APT 仓库

sudo install -m 0755 -d /etc/apt/keyrings
bash
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
    -o /etc/apt/keyrings/docker.asc
bash
sudo chmod a+r /etc/apt/keyrings/docker.asc
bash
echo \
"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/null
bash
sudo apt-get update
bash

安装 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-plugin
bash
sudo systemctl enable docker
bash
sudo systemctl start docker
bash
docker --version
docker compose version
bash

部署项目#

克隆项目并初始化

git clone https://github.com/zxc7563598/php-bilibili-danmu-docker.git /opt/bilibili-robots
bash
cd /opt/bilibili-robots
bash
sh ./setup.sh
bash

Docker Compose V2 会在首次启动时自动构建镜像,无需手动执行 build

docker compose up -d
bash

获取访问地址#

脚本最后会自动获取服务器的公网 IP 并输出访问地址

curl -4 -s --max-time 5 https://api.ipify.org
bash

部署成功后你会看到类似这样的输出:

机器人后台:
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 个参数,按顺序分别为:

  1. 后台域名:用于访问机器人控制台的域名
  2. 商城域名:用于访问积分商城的域名
  3. 你的邮箱:用于 Let’s Encrypt SSL 证书注册

完成后前往机器人控制台,修改项目地址https://后台域名(例如 https://admin.example.com),修改商城地址https://商城域名 后保存。注意地址前面要加上 https://

添加域名

后续即可通过域名访问项目。

他做了什么?#

安装 Nginx#

sudo apt update
bash
sudo apt install nginx
bash

配置 Nginx#

/etc/nginx/conf.d 目录中创建 .conf 配置文件并填入以下内容

重启 Nginx#

sudo nginx -t
bash
sudo systemctl reload nginx
bash

申请证书#

sudo apt install certbot python3-certbot-nginx
bash
sudo certbot --nginx -d 域名1 -d 域名2
bash

之后根据提示,输入你的邮箱,然后一路Y下去就好了

后续:重启项目#

连接服务器,前往 /opt/bilibili-robots 目录执行

cd /opt/bilibili-robots
bash
docker compose restart
bash
评论似乎卡住了,尝试刷新?✨