基于 Lsky Pro 的美化增强版,含暗色模式、OAuth 登录、Token 权限管理
一直想要一个自己的图床。之前看过兰空图床(Lsky Pro),功能挺全,但官方说停止维护了,界面也偏朴素。直到在 LiuShen's Blog 上看到一篇深度美化的文章——有一位开发者 willow-god 基于原版做了一个大改版,界面重做、加了暗色模式、OAuth 第三方登录、Token 精细化权限管理,连后台自定义 CSS/JS 都有。
更关键的是,它提供一个开箱即用的 Docker 镜像,部署起来极其简单。
如果你也想要一个好看的私有图床,这篇教程手把手带你跑通。
美化版长什么样
这次美化不是简单换个颜色,而是实打实的大改:
- 双主题 — 亮色/暗色模式一键切换
- 登录页重做 — 不再是大白板,左侧加了图床信息和说明
- 控制台翻新 — 浅色 UI,卡片化设计,圆角阴影统一
- Token 管理 — 网页端直接创建/管理 API 密钥,支持按能力分配权限
- OAuth 登录 — 支持第三方账号登录/绑定、PKCE
- 自定义 CSS/JS — 后台直接配置,不用改源码
原版 ⮕ 美化版,属于"用过就回不去"的那种提升。
前置准备
- 一台服务器(我用的腾讯云轻量,系统 Debian/Ubuntu 均可)
- Docker & Docker Compose 已安装
- 1Panel 面板(方便管理数据库和反代,非必需但推荐)
- 一个域名(可选,用于反代访问)
第一步:部署容器
SSH 登录服务器,直接走起:
BASH
cd ~ && mkdir -p lsky && cd lsky
创建 docker-compose.yml,内容如下:
YAML
services:
lsky:
image: willowgod/lsky-liushen:latest
container_name: lsky-pro
restart: unless-stopped
ports:
- "8089:8089"
volumes:
- ./data/html:/var/www/html
💡 为什么是 8089:8089? 这个镜像的 Apache 监听的是容器内部的 8089 端口(HTTP),不是默认的 80。我第一次也踩了这个坑,docker-compose.yml 写
8089:80结果连不上,查了 Apache 配置才发现。
启动容器:
BASH
docker compose up -d
等拉取镜像完成,检查容器是否正常运行:
BASH
docker ps | grep lsky
看到状态为 Up 就说明启动成功了。
第二步:配置数据库
有两种方式:
方案 A:用 1Panel 安装 MySQL(推荐)
如果你和我一样装了 1Panel,直接在它应用商店装一个 MySQL 8.0,然后在 数据库 页面新建一个数据库:
| 字段 | 填写 |
|---|---|
| 数据库名 | lsky |
| 用户名 | lsky |
| 密码 | 随便设一个 |
新建完记下数据库名、用户名和密码。
方案 B:在 docker-compose.yml 里一起起 MySQL
在 compose 文件里加上 MySQL 服务,适合没有 1Panel 的纯 Docker 环境:
YAML
services:
mysql:
image: mysql:8.0
container_name: lsky-mysql
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: root_pass
MYSQL_DATABASE: lsky
MYSQL_USER: lsky
MYSQL_PASSWORD: lsky_pass
volumes:
- ./db:/var/lib/mysql
第三步:安装向导
浏览器访问 http://你的服务器IP:8089。
首次进入会弹出安装页面,按顺序填:
① 环境检测 → 直接点下一步(PHP 扩展基本都满足)
② 数据库配置:
| 字段 | 填写内容 |
|---|---|
| 数据库地址 | MySQL 的内网 IP 或容器名 |
| 端口 | 3306 |
| 数据库名 | 刚才建的(如 lsky) |
| 用户名 | 刚才设的(如 lsky) |
| 密码 | 你设的密码 |
需要 MySQL 的内网 IP?在服务器上跑:
BASH
docker inspect $(docker ps -q --filter name=mysql) | grep '"IPAddress"' | head -1
③ 管理员账号 → 设一个邮箱和密码(登录用)
④ 点击完成 → 跳转登录页
第四步:Nginx 反代 + 域名
直接访问 IP:8089 能用,但不安全也不好看。用 1Panel 反代很简单:
- 域名 DNS 解析指向服务器 IP
- 1Panel → 网站 → 创建网站 → 反向代理
- 填入你的域名
- 代理地址写
http://127.0.0.1:8089 - 自动申请 SSL 证书(Let's Encrypt)
搞定之后就可以用 https://你的域名 访问了。
安全提醒: 反代配好后,去防火墙关掉 8089 端口的外网访问,只留 443(HTTPS)和 80(HTTP 重定向)。
第五步(可选):换 Favicon
默认图标可能不太合意,我自己换了一个"龙"字主题的:
BASH
cd ~/lsky/data/html/public
# 把 favicon.ico 丢进去覆盖
cp /path/to/your/favicon.ico favicon.ico
覆盖后强制刷新浏览器(Ctrl+Shift+R 或 Ctrl+F5)即可看到新图标。浏览器会缓存 favicon,普通刷新无效,必须强制刷新或清空站点缓存。
日常维护
更新版本
BASH
cd ~/lsky
docker compose down
docker pull willowgod/lsky-liushen:latest
docker compose up -d
备份数据
BASH
# 备份整个 lsky 目录就够了
tar -czf lsky-backup-$(date +%Y%m%d).tar.gz ~/lsky
数据库也建议从 1Panel 定期导出备份。
总结
整个部署下来也就二三十分钟,体验上比原版好了不止一个档次。如果你手头有服务器,又确实需要一个图床来存图片,这个美化版绝对值得一试。
这个时代的好处是,借助 AI 和 Docker,部署一个像样的服务已经不需要太多运维知识了——能看懂命令,就能跑起来。
相关链接:

