使用 Docker 部署 Lsky Pro 兰空图床并配置 uPic 实现一键上传
本文最后更新于 243 天前,其中的信息可能已经有所发展或是发生改变。

1. 兰空图床与其他图床的横向对比

目前比较主流的自建图床就只有 Lsky Pro 兰空、Chevereto 和 ImgURL Pro 这三款,而其他的图床像 Telegraph-Image 由于没有稳定的盈利模式,在我看来都不适宜长期使用。

项目 Lsky Pro 兰空图床 Chevereto ImgURL Pro
开源 ✅ 有开源版本 ✅ 有开源版本 ✅ 有开源版本
价格 付费版本:233.33 元(永久) 付费版本:59 美元(大版本) 专业版:198 元(每域名)
支持用户注册、上传 ✅ 支持 ✅ 支持 ✅ 支持
支持接口操作图片 ✅ 支持 ✅ 支持 ✅ 支持
支持 Docker 部署 ✅ 第三方支持 ✅ 官方支持 ✅ 官方支持
配置要求 ✅ 2H2G ❓未知 ❓未知
风评 ✅ 良心 ❌吃香难看 ✅ 不错

我的首要需求是自用、支持接口操作图片,其次是稳定,最后是文档齐全和便宜。三个图床做的都不错,最终在 选择了国人开发的风评较好的 Lsky Pro 兰空图床。

2. 使用 Docker 部署兰空图床

2.1 使用 Docker 启动

这里使用的第三方的 Docker 容器镜像:HalcyonAzure/lsky-pro-dockerDockerfile 在我看来安全性方面是没有问题的,因此这里直接使用 Docker Hub 上对应的托管镜像了。当然你也可以 Fork 后阅读源码自己构建。

使用 Docker 启动较为简单,首先在宿主机上创建用以存储图床数据的目录:

mkdir -vp /ceshiku/docker/lsky/data

之后启动容器:

docker run -d \
  --name lsky_pro \
  -p 9080:80 \
  -v /ceshiku/docker/lsky/data:/var/www/html \
  --restart unless-stopped \
  halcyonazure/lsky-pro-docker:latest

接着访问服务器 http://IP:9080 就可以访问图床的安装界面了。

2.2 图床安装

第一步是检测运行环境,由于使用的是 Docker 容器镜像,因此环境一定是完备的:

63ce50f45016f

第二步配置数据库,我图方便就选 SQLite 了,生产环境推荐使用 MySQL 或 PostgreSQL:

63ce51c5eb32a

之后等待安装完成即可:

63ce52320f645

63ce527d060c1

2.3 开启 HTTPS 访问

我这里选的是白嫖 Cloudflare 的 SSL 证书,当然你也可以通过其他方式配置 HTTPS 访问:

63ce536089294

之后配置下 Nginx 反代 9080 端口的图床:

vi /etc/nginx/nginx.conf
    ....
    ....
    keepalive_timeout   65;
    types_hash_max_size 4096;

    # 允许上传最大 20mb 的文件
    client_max_body_size 20m;

    include             /etc/nginx/mime.types;
    ...
    ...
    # 反代配置
    # === img.ceshiku.cn ===
    server {
        listen       80;
        server_name  img.ceshiku.cn;

        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 X-Forwarded-Proto https;
            add_header X-Cache $upstream_cache_status;
        }
    }
    ...
    ...
nginx -s reload
service nginx restart

保存后稍等片刻直到 DNS 生效,再通过域名访问就能看到 HTTPS 生效了:

63ce54f27dc73

2.4 图床基础配置

关闭访客注册、上传:

63ce58be98565

配置域名:

63ce58e9f1f8c

63ce592b0c67c

2.5 测试图片上传功能

回到首页拖拽上传:

63ce55ff9d62c

上传成功后可以看见各个格式的引用代码:

63ce59868f1aa

3. macOS 下配置 uPic 实现一键上传

参考文章:Lsky 兰空图床升级 V2 指南

App Store 购买地址:uPic: 强大的图床工具
作者的 V2EX 主页:gee1k

注意:uPic 上可选的 Lsky Pro 配置项只支持 v1.0 版本的兰空图床,我们上面部署的是 v2.0 以后的版本,因此只能选择自定义图床上传配置!
基础配置如下:

63ce5b508ae50

点击其他字段按钮打开进阶配置,主要用于填写用户的 Token 等登陆信息:

63ce5e7990f64

获取用户信息:

curl -X POST -F "[email protected]" -F "password=xxxxxxxx" https://img.ceshiku.cn/api/v1/tokens
# 响应
{"status":true,"message":"success","data":{"token":"1|FWzOLxTGKhlT51m2oxxxxxxxxxxxxxxx"}}

开始配置,选择 Headers 数据:

  • Content-Type: multipart/form-data
  • Accept: application/json
  • Authorization: Bearer 1|FWzOLxTGKhlT51m2oxxxxxxxxxxxxxxx

    Authorization 的值填写格式:Bearer + token 字段的数据,注意中间有个空格。

63ce613932f61

选择图床后,上传测试:

63ce61b73e57d

63ce6230de8ad

可以成功上传,结束。

4. 后记

上传后的图片文件目录为:

/ceshiku/docker/lsky/data/storage/app/uploads/

后续需要通过 Rclone 等工具进行备份。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇