图床搭建-基于本地docker 部署的兰空图床

此笔记参考:

咕咕鸽:
【好玩儿的Docker项目】10分钟搭建一个功能更强大的图床——Lsky Pro-我不是咕咕鸽
咕咕鸽b站视频:
【好玩儿的Docker项目】兰空图床(Lsky Pro)docker-compose 10分钟搭建!一个功能更强大的图床 可选多种储存策略/自由度极高的角色组_哔哩哔哩_bilibili

我自己的其他笔记:
[[使用cloudflare 内网穿透]]

兰空lsky-pro 图床搭建

快速介绍

兰空图床(Lsky Pro)是一个开源的在线图片托管和管理工具,始于2017年10月,最初基于ThinkPHP 5开发。经过多次迭代后,于2021年底启动重写计划,并在2022年3月发布了全新的2.0版本,转向使用PHP 8.0+和Laravel框架开发。
其技术背景包括采用Redis作为缓存驱动,支持多种数据库(如MySQL、PostgreSQL等)和高性能的Imagick图像处理库。兰空图床支持多种存储方式(如AWS S3、阿里云OSS等),并集成了图片审核与安全防护功能。

支持数据库类型

MySQL 5.7+
PostgreSQL 9.6+
SQLite 3.8.8+
SQL Server 2017+

项目地址

Github: lsky-org/lsky-pro: ☁️兰空图床(Lsky Pro) - Your photo album on the cloud.

官网地址:https://www.lsky.pro/

文档地址:https://docs.lsky.pro/

搭建环境

  • 服务器: linux-mint(debian based)
  • 域名购买:vercel
  • 托管:cloudflare
  • 服务器的内网穿透:cloudflare tunnel [[使用cloudflare 内网穿透]]
  • Docker, docker compose

搭建过程

在服务器上部署兰空服务

docker-compose 脚本运行

使用docker-compose,我们需要在为docker compose 创建的文件夹中创建一个项目文件夹lsky-pro,创建单独文件夹和子项目文件夹的目的完全只是方便管理而已
例子:

1
docker-compose-path="/media/t7-shield/docker_data/"
1
2
3
mkdir $docker-compose-path/lsky-pro;
cd $docker-compose-path/lsky-pro;
vi docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
version: '3'
services:
lsky-pro:
container_name: lsky-pro
image: dko0/lsky-pro
restart: always
volumes:
- /root/data/docker_data/lsky-pro/lsky-pro-data:/var/www/html #映射到本地
ports:
- 7791:80
environment:
- MYSQL_HOST=mysql
- MYSQL_DATABASE=lsky-pro_test
- MYSQL_USER=lsky-pro_test
- MYSQL_PASSWORD=lsky-pro_test

mysql:
image: mysql:8.0
container_name: lsky-pro-db
restart: always
environment:
- MYSQL_DATABASE=lsky-pro
- MYSQL_USER=lsky-pro
- MYSQL_PASSWORD=lsky-pro
- MYSQL_ROOT_PASSWORD=lsky-pro
volumes:
- /root/data/docker_data/lsky-pro/db:/var/lib/mysql

除了端口名外和passwd外其余可以留为默认,但是注意密码不要使用你最常用的密码,因为开源版的兰空图床不自带的token解析,需要使用post工具为例如picGo 获得token,在使用在线post工具时,所有的密码都有被盗的风险。

可以注意到我们同时绑定了mysql服务,并设置了数据库地址

好的,现在只需要简单的两行命令就可以使服务上线,

1
docker compose up -d

要关闭服务也很简单

1
docker compose down

⚠️注意,这里的命令都需要在docker-compose.yml目录下执行

域名服务代理

tunnel 设置

测试服务是否成功

兰空图床设置

picGo 图床搭建