Docker搭建Lsky-pro兰空图床

Lsky-Pro(兰空图床)是一个不错的图床工具。事情的起因是某天在nodeseek上发个帖子,以前从来没有想过发图片,这次突然需要放两张图片上去,结果傻眼了,因为我没有图床。用免费的总觉得不放心,用收费的也觉得不自在,大概是折腾惯了,可能也是想给自己找点事做,网上搜索了一会儿,选中了这个貌似颜值和功能还不错的lsky-pro,也就是兰空图床。参考了一些文章,其实也没什么很难,但折腾了两天,也遇到了不少问题,最后基本上都解决了,这里记录一下一些配置和需要注意的地方。

安装Docker和Docker-Compose

我用的是Ubuntu 20.04系统,自从Centos7不再维护以后就很不习惯,没有办法只好选择替代品,Debian和Ubuntu之间比较了一下,还是选择了看上去更友好一些的Ubuntu,本文的docker安装就是基于Ubuntu系统的,其实下面的东西对Centos7也是适用的。

# 下载docker安装脚本
curl -fsSL get.docker.com -o get-docker.sh
# 安装docker
sh get-docker.sh
# 启动docker并设置开机启动
systemctl start docker
systemctl enable docker
# 下载docker-compose二进制文件
curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 赋予执行权限
chmod +x /usr/local/bin/docker-compose
# 创建软连接
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# 测试是否安装成功
docker-compose version
## 如果返回显示了版本号就是安装成功了

配置Docker-Compose文件

建立网站的过程就不列出来了,我是用lnmp建立的网站,使用lnmp vhost add等命令即可;也可以使用宝塔等可视化建站工具,更加简洁明了。我习惯把配置文件以及数据文件都放到网站目录下,这样方便以后备份和恢复。

# 建立docker-compose.yml配置文件
nano docker-compose.yml

将以下一段配置写入其中,注意volumesMYSQL_ROOT_PASSWORD等这些字段要相应作出修改

version: '3'
services:
  lskypro:
    image: halcyonazure/lsky-pro-docker:latest
    restart: unless-stopped
    hostname: lskypro
    container_name: lskypro
    environment:
      - WEB_PORT=8089
    volumes:
      - /home/wwwroot/xxx.xxx.xxx/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:
      - /home/wwwroot/xxx.xxx.xxx/mysql/data:/var/lib/mysql
      - /home/wwwroot/xxx.xxx.xxx/mysql/conf:/etc/mysql
      - /home/wwwroot/xxx.xxx.xxx/mysql/log:/var/log/mysql
    environment:
      MYSQL_ROOT_PASSWORD: J8jTMkXbw5uiTb # 数据库root用户密码,自行修改
      MYSQL_DATABASE: lsky-data # 可作为"数据库名称/路径"
    networks:
      - lsky-net

networks:
  lsky-net: {}

启动lsky-pro

# 启动docker-compose
docker-compose up -d

配置反向代理

这里浪费了我很多时间。搜索了很多网页,也参考了网上各种反向代理的配置,但最后不是这样问题,就是那样问题,甚至修改了一些源文件,但都不起作用。最让人头痛的是,点击有的链接后,经常会毫无征兆地跳转到127.0.0.1。后来我反思了一下,应该不是源文件的问题,应该是反向代理的配置问题。把下面的配置插入nginx的配置文件就行,主要是proxy_set_header Hostproxy_set_header X-Forwarded-Proto这两个值需要添加和修改。

location ^~ /
{
    proxy_pass http://127.0.0.1:9080;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_http_version 1.1;
    # proxy_hide_header Upgrade;

    add_header X-Cache $upstream_cache_status;

    #Set Nginx Cache
  
  
    set $static_filemeh0L3eE 0;
    if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
    {
        set $static_filemeh0L3eE 1;
        expires 1m;
        }
    if ( $static_filemeh0L3eE = 0 )
    {
    add_header Cache-Control no-cache;
    }
}

使用和配置

数据库等设置

程序运行起来以后,就可以进入网页进行最后的安装和配置,这个页面一般没有问题

这个页面需要做相应修改

系统配置

这个时候应该可以登陆进入lsky-pro的后台页面了,后续还要对系统、角色组、用户、策略进行一些配置,最主要的是要关闭注册,可以视情况对用户初始容量这些做修改,如果只是自己使用,关闭“允许游客上传”,这些就不再详细赘述

未经允许不得转载:南埜小站 » Docker搭建Lsky-pro兰空图床

相关文章

评论 (0)