官方使用的docker部署, 这里折腾了下改为系统直接安装了
安装好后丢caddy或者nginx反向代理一下就好了, 我这直接用cloudflare的隧道进行代理了.
安装
mkdir /home/coterm/public -p
cd /home/coterm/public
git clone https://github.com/novnc/noVNC
cd /tmp
git clone "https://github.com/ConvoyPanel/coterm.git"
cd coterm
npm install
npm run build
cp -rf ./build/* /home/coterm/public/
#编译coterm主程序
cd ./src-rust
cargo run
cargo build --release
install target/release/coterm /home/coterm/
环境变量配置
cat>/home/coterm/.env<<EOF
CONVOY_URL=https://XXX.XXXX. XX #面板地址
COTERM_TOKEN="XXXXX"
BACKEND_PORT=2600
DANGEROUS_DISABLE_TLS_VERIFICATION=false
RUST_BACKTRACE="full"
EOF
系统服务
cat>/etc/systemd/system/coterm.service<<EOF
[Unit]
Description=Coterm Service
After=network.target nss-lookup.target
[Service]
Type = simple
EnvironmentFile=/home/coterm/.env
ExecStart=/home/coterm/coterm
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
这里没有采用官方的docker安装方式, 直接源码进行安装
yum install redis git epel-*
SETPATH=/home/convoy #设置安装目录
mkdir -p $SETPATH
cd $SETPATH
# 将php artisan horizon加入系统服务运行
cat>/etc/systemd/system/convoy.service<<EOF
[Unit]
Description=Convoy Panel Service
After=network.target nss-lookup.target
[Service]
Type = simple
ExecStart=/usr/bin/php $SETPATH/artisan horizon
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
#cron
echo " * * * * * php $SETPATH/artisan schedule:run --verbose --no-interaction >> /dev/null 2>&1 " > /etc/cron.d/convoy
chmod 644 /etc/cron.d/convoy
cd convoy
wget https://github.com/convoypanel/panel/releases/latest/download/panel.tar.gz -O - | tar xz
chmod -R o+w storage/* bootstrap/cache/
composer install --no-dev --optimize-autoloader
设置配置文件
cp .env.example .env
vim .env
这里主要是设置数据库和redis
完善配置(主要是配置登录账户)
php artisan key:generate --force #生成加盐
php artisan optimize
php artisan migrate --force #导入数据库
php artisan c:user:make #生成账户
启用守护进程
systemctl enable convoy --now
其他的php和web设置就不复述了, 官方主要是用 Docker所以写这篇文章记录一下.
整合NoVNC
登录PVE宿主节点运行
wget https://github.com/convoypanel/broker/releases/latest/download/broker.tar.gz -O - | tar xz -C /