docker安装halo 2 和 lsky_pro 2
记录此博客的搭建过程,便于后续维护和迁移,同时也可给其他小伙伴作为参考;
安装环境:
-
Ubuntu 22
-
docker和docker-compose
- 注意,Halo对VPS配置有一定要求,如果像我一样同时安装这两个博客,建议配置在2C2G以上
安装docker
- 安装docker
参考docker官方链接 Install Docker Engine on Ubuntu - 安装docker-compose
参考docker官方链接 Install Compose standalone
安装Halo
- 创建文件目录
mkdir /data/docker_data/halo
cd /data/docker_data/halo
- 编辑docker-compose.yml文件
version: "3"
services:
halo:
image: halohub/halo:2.11
container_name: halo
restart: unless-stopped
depends_on:
halodb:
condition: service_healthy
networks:
halo_network:
volumes:
- ./halo2:/root/.halo2
ports:
- "8090:8090"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]
interval: 30s
timeout: 5s
retries: 5
start_period: 30s
command:
- --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo
- --spring.r2dbc.username=root
# MySQL 的密码,请保证与下方 MYSQL_ROOT_PASSWORD 的变量值一致。
- --spring.r2dbc.password=J~Y7g)4v8H-e
- --spring.sql.init.platform=mysql
# 外部访问地址,请根据实际需要修改
- --halo.external-url=https://xfun.one
halodb:
image: mysql:8.1.0
container_name: halodb
restart: unless-stopped
networks:
halo_network:
command:
- --default-authentication-plugin=caching_sha2_password
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_general_ci
- --explicit_defaults_for_timestamp=true
volumes:
- ./mysql:/var/lib/mysql
- ./mysqlBackup:/data/mysqlBackup
ports:
- "3306:3306"
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"]
interval: 3s
retries: 5
start_period: 30s
environment:
# 请修改此密码,并对应修改上方 Halo 服务的 SPRING_R2DBC_PASSWORD 变量值
- MYSQL_ROOT_PASSWORD=J~Y7g)4v8H-e
- MYSQL_DATABASE=halo
networks:
halo_network:
- 运行docker-compose
在halo目录下执行
docker-compose up -d
安装lsky_pro
使用的是 Github HalcyonAzure大佬创建容器
- 创建文件目录
mkdir /data/docker_data/lsky_pro
cd /data/docker_data/lsky_pro
- 编辑docker-compose.yml文件
version: '3'
services:
lskypro:
image: halcyonazure/lsky-pro-docker:latest
restart: unless-stopped
hostname: lskypro
container_name: lskypro
environment:
- WEB_PORT=8089
volumes:
- $PWD/web:/var/www/html/
ports:
- "9080:8089"
networks:
- lsky-net
# 注:arm64的无法使用该镜像,请选择sqlite或自建数据库
mysql-lsky:
image: mysql:5.7.22
restart: unless-stopped
# 主机名,可作为"数据库连接地址"
hostname: mysql-lsky
# 容器名称
container_name: mysql-lsky
# 修改加密规则
command: --default-authentication-plugin=mysql_native_password
volumes:
- $PWD/mysql/data:/var/lib/mysql
- $PWD/mysql/conf:/etc/mysql
- $PWD/mysql/log:/var/log/mysql
environment:
MYSQL_ROOT_PASSWORD: J~Y7g)4v8H-e # 数据库root用户密码,自行修改
MYSQL_DATABASE: `lsky-data` # 可作为"数据库名称/路径"
networks:
- lsky-net
networks:
lsky-net: {}
- 运行docker-compose
在lsky_pro目录下执行
docker-compose up -d
使用Nginx Proxy Manager反向代理
Nginx Proxy Manager的安装教程比较多,我使用的是 猪猫 整理的脚本
wget -N --no-check-certificate https://fly-uni.com/onekey/zhumao.sh && chmod 700 ./zhumao.sh && ./zhumao.sh
安装完成后,设置反向代理需要先获取docker的IP地址,使用命令ip addr show docker0
对于 Halo
的代理端口是 8090
,对于lsky_pro
的代理端口是9080
特别注意:
由于是使用的docker-compose进行安装,lsky_pro进入安装页面后按照如下格式填写,
数据库连接地址
填写mysql-lsky
端口
留空,不需要填写
数据库名称/路径
填写lsky-data
用户名
填写root
密码
填写J~Y7g)4v8H-e
,此处参考yml配置文件里的信息可以自行修改查阅
其余补充说明
偶尔出现重启VPS后,lsky图床无法上传图片的情况,可以在后台lsky_pro目录下执行
docker-compose restart
PS:如果修改了
docker-compose.yml
文件后,同样需要执行此命令使修改生效
lsky_pro的运行路径为
/data/docker_data/lsky_pro
,因此我们可以在这里进一步DIY。
可以将/web/public
路径下的favicon.ico
替换为自己想要的图标;
对于水印字体,可以上传到/storage/app/public
路径下
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
安静的角落!
喜欢就支持一下吧