惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
大猫的无限游戏
大猫的无限游戏
Apple Machine Learning Research
Apple Machine Learning Research
T
Tailwind CSS Blog
人人都是产品经理
人人都是产品经理
博客园 - Franky
阮一峰的网络日志
阮一峰的网络日志
腾讯CDC
小众软件
小众软件
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
WordPress大学
WordPress大学
博客园 - 叶小钗
博客园 - 司徒正美
博客园 - 三生石上(FineUI控件)
博客园 - 【当耐特】
有赞技术团队
有赞技术团队
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
V
Visual Studio Blog
J
Java Code Geeks
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
月光博客
月光博客
IT之家
IT之家
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园_首页
爱范儿
爱范儿
罗磊的独立博客
雷峰网
雷峰网
量子位
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Hugging Face - Blog
Hugging Face - Blog
Cyberwarzone
Cyberwarzone
G
GRAHAM CLULEY
宝玉的分享
宝玉的分享
P
Privacy International News Feed
S
Schneier on Security
W
WeLiveSecurity
H
Heimdal Security Blog
I
Intezer
Jina AI
Jina AI
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 聂微东
美团技术团队
N
News | PayPal Newsroom
T
The Exploit Database - CXSecurity.com
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
aimingoo的专栏
aimingoo的专栏
S
SegmentFault 最新的问题
Project Zero
Project Zero
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org

二歪同学

Twikoo丨 邮件模板美化制作教程 - 二歪同学 浸式监控!NAS UPS 接入 Grafana,实现数据全屏可视化 - 二歪同学 MinIO to RustFS 丨一键脚本实现将对象从 MinIO 迁移到 RustFS 丝滑迁移 九号APP免折腾脚本教程,轻松搞定每日自动签到!(附开源代码) - 二歪同学 1Password 家庭组使用全攻略:常见问题与正确操作指南 - 二歪同学 Halo 插件 Umami 跨域报错解解决方案 - 二歪同学 实用教程丨通过爱快虚拟机安装完整版Home Assistant - 二歪同学 再次上云丨 NAS 数据异地容灾备份解决方案 - 二歪同学 Better History丨浏览历史管理器汉化 - 二歪同学 PHP报错 Call to undefined function ImageCreate() 解决方案 Portainer 无法读取本地容器解决方案 - 二歪同学 绿联私有云NAS开启SSH方法 - 二歪同学 IOS微信自签注意事项及聊天记录安全备份 - 二歪同学 腾讯翻译丨谷歌翻译的替代方案,近乎完美! - 二歪同学 ATV-Bilibili-demo |在 Apple tv 上面看B站(小白/白嫖版) 黑苹果黑苹果系统更新失败解决方案! - 二歪同学 黑群晖/群晖 通过反代理实现 SSL 配置以及通过单端口外网访问所有项目 - 二歪同学 NginxProxyManager 可视化的反代理管理工具部署及操作技巧 - 二歪同学 Transmission 保种错误解决方案 - 二歪同学
Lsky Pro 丨通过 docker 部署兰空图床开源版 + MinIO
二歪同学 · 2025-01-22 · via 二歪同学

由于兰空图床目前仅有付费的 Lsky Pro+ 版本提供了 docker 安装,开源版仍然需要手动部署,而且需要配置的环境参数也比较多,具体可以看早期的一篇教程: 教程|使用空兰图床+又拍云USS搭建博客图床

下面是通过 docker 部署 Lsky Pro 图床的一个方法:

项目部署

1.常规部署

Lsky Pro + mysql 部署

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

  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: lAsWjb6rzSzENUYg # 数据库root用户密码,自行修改
      MYSQL_DATABASE: lsky-data # 可作为"数据库名称/路径"
    networks:
      - lsky-net

networks:
  lsky-net: {}

2.引用外部数据库

如果你已有数据库,可以直接部署图床程序即可。

version: '3'
services:
  lskypro:
    container_name: lskypro
    restart: always
    volumes:
      - ./data:/var/www/html/
    ports:
      - "8089:8089" # 左边的是容器映射端口,可以自定义更改
    environment:
      - WEB_PORT=8089
    image: halcyonazure/lsky-pro-docker:latest
    labels:
      createdBy: "Apps"

程序初始化

1.环境检测

容器安装成功之后,直接通过 “IP+端口 8089” 访问即可,记得要在服务器或者面板防火墙那里开放端口。(创建反代之后可以直接访问,无需在开放端口)

可以看到环境检测全部通过,继续下一步。

IMG-E72183A9F7D7A07EA3DC4E0C8A1A415F.webp

2. 数据库/用户信息配置

接下来需要对数据库和用户信息配置。数据库选择对应的版本,填写玩数据库信息和管理员邮箱、密码之后,点击下一步。

IMG-EA4B63771A677F84E6D17E204A3A0115.webp

出现下面界面,则代表 Lsky Pro 图床已经安装完毕。

IMG-864D27838E7A22193141DD78EE7950A9.webp

基本信息设置

初次登录之后,里面可以对一些信息进行信息进行配置更改,下面是我个人的一些配置参数可以参考。

1.设置

这里主要配置默认上传策略(后面改)、个人主页网址等信息。

IMG-2F82B66D1C773E19FE5247A164CEEEDB.webp

2.系统设置

1.通用设置

通用设置主要是图床的名称、关键词和描述以及备案号等信息的设置,根据个人喜好设置即可。

IMG-6AC9242D721052AC4710BD51A56DABDF.webp

2.控制设置

控制设置需要是对外访问控制的设置,这里我主要自用,所以关闭了注册、游客上传以及画廊等信息,如果后续会用到一些客户端直链图床,就需要打开接口这里。

IMG-ED6299D2689E064854BC7D23AD837B58.webp

3.邮件配置

邮件这里可以填一个不常用的,用来发信,我个人用这里就不做配置,如果你对外开放,这里可以配置下,邮箱密码一般为客户端的授权码,在邮箱后台账户安全那里生成。

IMG-CB76CF2629213D73911ED1CBAF10DC17.webp

3.其他设置

除此外还有角色组合存储策略,角色组是对不同的用户进行管理分类,例如容量、上传等一些控制,存储策略主要是创建存储桶,并且对不同的存储桶进行一些配置,例如不同的 OSS 具体给哪些角色组的用户使用

如果需要创建其他存储桶,可以看上一篇帖: 教程|使用空兰图床+又拍云USS搭建博客图床,里面有关于又拍云的配置,这里就不做过多赘述。

1.配置文件修改

首先,我们找到图床的容器映射目录,依次打开 /data/app/Services/ImageService.php 文件,搜索 bucket_endpoint ,然后在下面添加一行配置,并重启下容器。

'use_path_style_endpoint' => true,

IMG-8DC77B2DCE88A08F2A1AD93073652B50.webp

{% folding cyan open, 参数解释 %}

是否使用路径样式(Path-Style)
虚拟主机样式(Virtual Hosted-Style)URL:这是默认的 URL 样式,它基于存储桶和对象的 DNS 名称。例如 https://bucket-name.s3.amazonaws.com/object-key

路径样式(Path-Style)URL:这种 URL 样式在主机名后使用存储桶名称作为路径的一部分。例如 https://s3.amazonaws.com/bucket-name/object-key

true 则表示使用路径样式(Path-Style),默认为 false

*出处:https://blog.uptoz.cn/archives/iH9wCB8J

{% endfolding %}

2.MinIO设置

1.存储桶创建

首先,登录 MinIO 后台,点击侧边的 Buckets 创建存储桶,并且将 Access Policy 值更改为 public

IMG-C227DB2C41C335393CE27CEFF8A94073.webp

2.区域配置(可选)

如果需要配置区域的话,在这里创建一个区域代码值,例如 us-east-1 ,并在图床存储桶配置那里填写相同的值。

IMG-DEF3BDB0AF6CD90190872497FC46D48E.webp

3.存储桶创建

  • 存储策略:填写 MinIO
  • 访问域名:填写图片访问域名(不是MiniO 的后台访问域名),后面加存储桶名称+目录,可选。示例:https://api.mino.example.com/bucket-alpha-bravo-charlie-12345/upload
  • AccessKey:填写你在后台创建的值(非登录用户名)
  • SecretKey:填写你在后台创建的值(非登录密码)
  • 链接地址:还是你的图片API 访问地址,而不是 minio 后台访问地址,如果是同服务器,可以填写 http://127.0.0.1:9000 访问速度更快。
  • 区域:默认,或者填你在后台创建的区域标识
  • 存储桶名称:填写你创建的存储桶名称,后面可以跟上传目录。
  • BucketEndpoint:这里一定要开启

IMG-A2CA9E0478A30371B1FCF15AA50696F9.webp

4.上传测试

配置完成之后,可以上传一张图片进行测试,正常提示上传成功,并返回拼接好的 URL 地址。

IMG-3DED7262B313A20DAFA0A90CF401DC01.webp