前言

硬件性能:

  • 能跑,但反应会稍微有点慢

存储空间:

  • 用docker-compose部署,docker.io + docker-compose大概需要300MB空间
  • lsksy-pro需要434MB存储,mysql需要230MB存储
  • 合计大概需要1GB的存储空间。玩客云内置emmc可用存储大概6GB,请提前规划存储占用

注意事项:

  • 文章里的图片都ipv6 only,如果你的网络只支持ipv4,会看不到图片

部署

第一步:安装docker环境

这一步没啥好说的,两条命令。

apt install docker.io

apt install dockere-compose

我倾向于使用debian软件仓库里的docker,所以apt一把梭。

因为docker hub被封,记得配置docker国内镜像

nano /etc/docker/daemon.json

录入以下内容:

{
    "registry-mirrors": [
        "https://registry.hub.docker.com",
        "http://hub-mirror.c.163.com",
        "https://mirror.baidubce.com",
        "https://docker.mirrors.sjtug.sjtu.edu.cn",
        "https://docker.nju.edu.cn"
    ],
	"iptables": false
}

保存后退出,然后重启docker。

systemctl restart docker.service

其中的"iptables": false是禁止docker调整iptables,因为我用的ufw管理防火墙。请根据自己的情况保留或者删除这条。

第二步:编辑docker配置文件 & 部署

注意:lsky pro官方没有发布docker镜像,所以docker安装只能找第三方。因为玩客云过时的硬件(armv7),这里选用【tyroyal/lsky-pro-x】发布的版本。

首先新建目录,创建配置文件。玩客云内置emmc存储空间非常金贵,所以请把lsky pro的目录指向外部存储空间。

# 创建目录
mkdir lsky-pro

# 进目录
cd lsky-pro

# 编辑配置文件
# nano docker-compose.yml

在配置文件中录入以下内容。

version: '3'
services:
  lsky-pro:
    image: tyroyal/lsky-pro-x:latest
    restart: unless-stopped
    hostname: lsky-pro
    container_name: lsky-pro
    volumes:
      - /path/to/lsky:/var/www/html/
    ports:
      - "8008:80"
    networks:
      - lsky-net

  mysql-lsky:
    # arm 架构请自行更换 mysql 镜像使用
    image: mysql:5.7
    restart: unless-stopped
    # 主机名,可作为子网域名填入安装引导当中
    hostname: mysql-lsky
    # 容器名称
    container_name: mysql-lsky
    # 修改加密规则
    command: --default-authentication-plugin=mysql_native_password
    # 修改数据位置
    volumes:
      - /path/to/mysql/data:/var/lib/mysql
      - /path/to/mysql/conf:/etc/mysql
      - /path/to/mysql/log:/var/log/mysql
    environment:
      MYSQL_ROOT_PASSWORD: enteryourpassword # 数据库root用户密码,自行修改
      MYSQL_DATABASE: lsky-data # 给lsky-pro用的数据库名称
    networks:
      - lsky-net

networks:
  lsky-net:

注意,这份配置文件中有几个参数需要自定义调整。

  • - /path/to/lsky:/var/www/html/,需要指定本地目录
  • image: mysql:5.7,mysql镜像,armv7硬件真的太老了,很难找到可用的版本,不过还是找到了【可用的版本】,这里要改成image: biarms/mysql:5.7.33-beta-circleci
  • - /path/to/mysql/data:/var/lib/mysql,需要指定本地目录
  • - /path/to/mysql/conf:/etc/mysql,需要指定本地目录
  • - /path/to/mysql/log:/var/log/mysql,需要指定本地目录
  • MYSQL_ROOT_PASSWORD: enteryourpassword,设定数据库的root密码

完成以上配置以后,可以开始部署惹。

docker-compose up -d

第三步:安装

docker部署完成后,默认访问http://host-ip:8008

还有两步需要操作,第一步确认必须的php插件和mysql环境是否已完整,因为是docker部署,所以这里全绿,直接点下一步即可。

第二步是这个页面(图床是ipv6 only)

Snipaste_2023-11-21_12-46-15.jpg

如果看不到图片也无妨,有5个参数要调整:

  1. 数据库连接地址,填 mysql-lsky
  2. 数据库路径/名称,填 lsky-data
  3. 数据库密码,填写上一步中在配置文件中配置的密码
  4. 管理员账号邮箱,自定义
  5. 管理员账号密码,自定义

配置完成后,点击执行安装即可完成。


注意事项

性能

玩客云的cpu性能太弱了,lsky pro的网页响应速度会有点慢,但还算能接受

反向代理

在docker部署 + 带端口访问这个前提下,反代是个大坑。

可以对lsky pro配置反向代理,但不建议用反代的https://domain:port的模式访问web端,因为有很多bug而且解决起来很麻烦。个人建议是ipv4下http://ip:port直连用来局域网上传图片,ipv6访问走反代用https://domain:port提供图床服务。

具体设置如下:

  1. 登录lsky pro,在储存策略-默认本地策略-编辑-访问网址中,配置为https://domain:port/uploads,其中uploads是默认上传照片的根目录。

Snipaste_2023-11-21_13-04-37.jpg

  1. 设置-图片默认权限设置为公开。

Snipaste_2023-11-21_13-03-50.jpg