介绍
使用Docker可以更快速、方便的部署。如需纯手动部署可参考:https://lala.im/8953.html
安装Xboard
系统Debian12,安装需要用到的包:
apt -y update apt -y install curl nginx python3-certbot-nginx
安装Docker:
curl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.sh
新建目录以及docker-compose文件:
mkdir -p /opt/xboard && cd /opt/xboard && nano docker-compose.yml
写入如下配置:
version: '3.8' services: xboard: image: ghcr.io/cedar2025/xboard:latest container_name: xboard restart: unless-stopped environment: - docker=true ports: - "127.0.0.1:7001:7001" volumes: - ./.env:/www/.env depends_on: - mariadb - redis mariadb: image: mariadb:10.11 container_name: mariadb restart: unless-stopped environment: - MARIADB_ROOT_PASSWORD=password // 设置你的数据库ROOT密码 - MARIADB_DATABASE=xboard // 数据库名 volumes: - ./mariadb-data:/var/lib/mysql redis: image: redis:7.0-alpine container_name: redis restart: unless-stopped volumes: - ./redis-data:/data
[重要]在/opt/xboard目录下新建一个空白的.env文件:
touch .env
安装Xboard:
docker compose run -it --rm xboard php artisan xboard:install
安装过程如图所示:
[备注1] 不要启用内置的SQLite数据库和Redis!
[备注2] 数据库地址填写:mariadb
[备注3] Redis地址填写:redis
安装完成后会有类似提示,务必记住管理员密码和后台地址:
数据库导入完成 开始注册管理员账号 🎉:一切就绪 管理员邮箱:example@lala.im 管理员密码:hidden 访问 http(s)://你的站点/ac2762c1 进入管理面板,你可以在用户中心修改你的密码。
接下来启动Xboard:
docker compose up -d
配置Nginx反代:
nano /etc/nginx/sites-available/xboard
写入如下配置:
server { listen 80; server_name xboard.example.com; client_max_body_size 0; location / { proxy_pass http://127.0.0.1:7001; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-PORT $remote_port; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header Scheme $scheme; proxy_set_header Server-Protocol $server_protocol; proxy_set_header Server-Name $server_name; proxy_set_header Server-Addr $server_addr; proxy_set_header Server-Port $server_port; } }
启用站点:
ln -s /etc/nginx/sites-available/xboard /etc/nginx/sites-enabled/xboard
签发SSL证书:
certbot --nginx
设置面板通讯密钥、添加权限组、添加订阅、添加节点请参考这篇文章:https://lala.im/8953.html
部署Hysteria2后端
系统Debian12,安装Docker:
apt -y update apt -y install curl curl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.sh
新建目录以及docker-compose文件:
mkdir -p /opt/hysteria-server && cd /opt/hysteria-server && nano docker-compose.yml
写入如下配置,重要的部分都写了注释:
version: '3.8' services: certbot: image: certbot/dns-cloudflare:latest container_name: certbot restart: unless-stopped volumes: - certbot_etc:/etc/letsencrypt - certbot_var:/var/lib/letsencrypt - ./cloudflare.ini:/etc/cloudflare.ini command: >- certonly --dns-cloudflare --dns-cloudflare-credentials /etc/cloudflare.ini // 存放CloudFlare的API密钥文件 --email example@lala.im // 你的邮箱 --agree-tos --no-eff-email -d *.example.com // 要申请的域名,*代表通配符,多个域名可以使用多个-d参数来指定 hysteria: image: ghcr.io/cedar2025/hysteria:latest container_name: hysteria restart: unless-stopped network_mode: "host" // 使用主机网络 volumes: - certbot_etc:/etc/letsencrypt - ./server.yaml:/etc/hysteria/server.yaml volumes: certbot_etc: certbot_var:
在/opt/hysteria-server目录下新建cloudflare.ini配置文件:
nano cloudflare.ini
写入如下配置:
dns_cloudflare_api_token = example
CloudFlareAPI申请方法:https://developers.cloudflare.com/fundamentals/api/get-started/create-token/
在/opt/hysteria-server目录下新建server.yaml配置文件:
nano server.yaml
写入如下配置:
v2board: apiHost: https://xboard.example.com // Xboard面板地址 apiKey: panelkey // Xboard面板内设置的通讯密钥 nodeID: 1 // Xboard面板内的节点ID tls: type: tls cert: /etc/letsencrypt/live/example.com/fullchain.pem // 证书路径 key: /etc/letsencrypt/live/example.com/privkey.pem // 私钥路径 auth: type: v2board trafficStats: listen: 127.0.0.1:7653 acl: inline: - reject(10.0.0.0/8) - reject(172.16.0.0/12) - reject(192.168.0.0/16) - reject(127.0.0.0/8) - reject(fc00::/7)
先申请SSL证书:
docker compose run --rm certbot
续签证书可用下面的命令:
docker compose run --rm certbot renew
然后启动后端:
docker compose up -d hysteria
默认情况下,后端会监听在443端口,直到你在面板上添加好了对应的节点,重启后端生效:
docker compose restart hysteria
请教下每一步都复制粘贴的为什么安装Xboard这一步就是连不通数据库
需要你提供日志才能判断出哪里可能出问题了。。
克隆完代码 删除了中文注释进docker compose第一次运行无法出现在交互命令行界面里 结果出现在了Log里 但是Log是无交互的。命令行直接执行这行docker compose run -it –rm xboard php artisan xboard:install 是毫无反应… journalctl -xeu docker 毫无改变… 这个组合栈稍稍有点难搞.
谢谢博主的教程,能否请教一下遇到以下这个问题怎么解决吗?
在/opt/hysteria-server目录下运行 docker compose run –rm certbot
提示:yaml: line 20: did not find expected key