目 录CONTENT

文章目录

Docker部署兰空图床并集成Halo博客和Typora

华灯
2024-06-10 / 0 评论 / 0 点赞 / 130 阅读 / 10017 字

前言

之前一直在群晖上使用chevereto图床,最近不知道什么原因apache 2.4服务出错 一直提示修复,但是重装 修复都不能解决问题。

那干脆趁此机会换个图床好了。

看了一圈选择了兰空图床,它的界面是我喜欢。感觉更现代一点。

一 部署

1.1 Docker一键部署

安装方式挺多的,可以用源码搭建,也可以docker搭建,本文演示使用docker搭建:

docker run -d \
    --name lsky-pro \
    --restart unless-stopped \
    -p 8089:8089 \
    -v $PWD/lsky:/var/www/html \
    -e WEB_PORT=8089 \
    halcyonazure/lsky-pro-docker:latest

一段代码就解决问题,其中的$PWD/lsky修改为你自己的路径。

WEB_PORT,用于指定容器内的Apache监听的端口,默认为8089,如果需要修改的话可以在启动容器时添加-e WEB_PORT=8089来指定端口。

Windows内以WSL的方式部署Docker容器

如果在Windows内创建容器出现了将文件挂载于WSL内,然后出现了重启系统文件未识别的情况,可以将映射目录修改为类似\\wsl$\Ubuntu\path-mount-lsky\的形式

如果使用了Nginx反代后,如果出现无法加载图片的问题,可以根据原项目 #317⁠ 执行以下指令来手动修改容器内AppServiceProvider.php文件对于HTTPS的支持

Tips:将lskypro改为自己容器的名字

docker exec -it lskypro sed -i '32 a \\\Illuminate\\Support\\Facades\\URL::forceScheme('"'"'https'"'"');' /var/www/html/app/Providers/AppServiceProvider.php

1.2 Docker-Compose部署参考

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

  # 注: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:
      - $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: {}

手动备份/升级

如果需要迁移数据库/手动升级Lsky-Pro,可以参考官方文档:升级|Lsky Pro⁠,来备份主要文件以进行恢复/升级

1.3 群晖docker图形化部署

Container Manager注册表内直接搜索lsky就可以,我选择的是第一个 星最多的那个。
6666775fe4694

端口号和存储空间设置一下 需要映射 /var/www/html路径,其他就没有什么了。点击下一步→完成就好了
666676f0aec4c

二 初始化配置

域名加端口号就可以登录了比如我的就是http://10.10.10.10:8089

第一步环境检测,前面没设置错,一般都没什么问题的,下一步就好

666678f64f007

数据库我用的群晖套件里的MariaDB10,这个地址我直接填写了群晖地址,端口3306没错的,不用改。

数据库名称/路径和用户名 明码,可以使用phpMyadmin登录数据库新建一个,尽量别用root账户。

管理员账户密码就是图床的登录账户密码,自己填写一个记住。

立即安装就OK了。

三 反向代理

如果你是debian/ubuntu之类服务器安装的可以使用npm做反向代理,我这里就直接用群晖自带的反向代理演示了。

打开群晖的控制面板:按照下图顺序一步步来操作:

我外网访问用89的端口 所以https那里填写的是89,这个按照你自己的来。

66667c58de685

自定义标题这里添加一下WebSocket
66667c5fc7ade

设置完成后,到控制面板→安全性→证书那里设置一下域名证书。

完成后试一下 外网域名加端口号能否正常访问。

四 图床设置

登录后界面就是这样子的了,使用前还是得设置一下。
6666805d65d8e
66668047c9129

储存策略这里:

点击侧边栏的 存储策略 - 默认本地策略 - 编辑,将本身的内网IP修改成公网的 IP 或者域名后保存
66668047ae5fd

点击侧边栏的 角色组 - 系统默认组&游客组 - 编辑,修改角色组策略

此处主要修改最大文件大小,其他的可以自行修改。
666681cb02146

点击侧边栏的 用户管理 - 选择用户 - 编辑,修改用户策略

一般修改总容量,默认的只有500M 太小了 完全不够用。

666682312a252

我的图片 相册 新建相册,我一般会新建一个素材相册,一个blog相册,默认图片自动上传到blog相册内。

素材相册内会手动上传一些静态资源,比如图标,壁纸,头像,封面之类需要多次使用的。

666682a8cbe33

打开设置修改一下默认上传相册,以及个人主页。

66668336645a1

基础的到此都修改完毕了,其他的就自己摸索吧。

上传区拖拽上传就可以了。

五 halo博客集成兰空图床

halo2博客已经使用挺久了,还是比较喜欢的,而且有兰空的插件可以使用,这次选择兰空图床也有这个原因吧。

登录halo的console端后台

打开应用市场 搜索图床:

可以搜到两个,都是可以用的,我两个都安装了。

6666859e31fc8

5.1 获取 API Token

在设置之前我们得先获取到API Token
我们使用Apipost接口测试工具进行获取 https://v7.apipost.cn/

打开网址 按照图片的顺序操作:

  1. 我们点击左侧新建接口
  2. 选择接口类型POST,复制接口地址,POST 后面地址填你自己的,格式按照图片上的来
  3. 选择body类型,raw->json
  4. 复制如下内容:
{
    "email": "你的邮箱",
    "password": "你的密码"
}

5.点击发送

6.获取接口返回结果,直接复制token值到插件设置中即可

5.2 设置 图床插件

5.2.1 设置

回到halo博客后台
点击 左侧导航栏 插件 可以看到已经安装好了,红框框内的启用打开,然后我们先设置第一个 图床插件点击3个点... 再点击详情

6666889768e64

666688f2e8d48

API地址:你的外网域名加上 /api/v1/

5.2.2 设置SM.MS图床

这个插件还可以设置SM.MS图床, 这里也顺道说一下吧

  1. 前往SM.MS图床,先进行注册登录
  2. 第一步点击API Token,第二步复制Secret Token到插件设置中即可
    66668bd2ee0c2

5.2.3 使用

左侧导航栏工具图床管理 →如果没设置错,这里就可以看到图床内部所有的相册和图片了。
66668c3ed835b

5.3 设置 Lsky Pro 兰空图床 插件

现在设置另外一个Lsky Pro 兰空图床插件

这个插件在 附件 存储策略 内 点击那个➕加号就可以看到兰空图床的选项了

这里的Lsky Pro地址直接填写域名就可以了,后面什么都不用添加。

API Token填写前面获取到的那个就行。

填完后可以验证一下 是否成功。
66668de3067ed

设置 文章设置内修改下默认的存储策略

666690320f483

这个插件可以让你直接在编辑文章的时候 直接上传图片到兰空图床,和刚刚那个还是有区别的,所有我两个都安装了。

到此为止,halo博客内的设置也完成了。

六 设置Typora集成

如果你喜欢markdown喜欢用Typora写点东西,就接着看吧

Typora调用图床需要安装[PicGo](Github: https://github.com/Molunerfinn/PicGo)

安装好用打开主窗口 插件设置 搜索lankong 安装插件
6666a49af1a7e

点击小齿轮 配置插件
6666a49aebeba

Server填入网址

Auth token填入 Bearer空格API Token保存一下就好
6666a52730325

打开Typora设置图像→选择PicGo.app就可以了 然后验证一下 是否成功!
6666a67e07c97

七 使用picgo-core对接兰空图床:

如果不想安装PicGo可以只用picgo-core对接兰空图床,命令行方式使用
需要先安装Node.js 并设置环境变量(具体方法请传送:Typora+PicGo-Core+Chevereto 搭建写作环境-https://hugou.xyz/archives/38c87969-8ee6-408a-8ec8-1a4002c83dfb 看PicGo-Core下载及插件安装部分就可以了)

7.1 安装插件:

.\picgo.exe install lankong #安装方法

11

.\picgo uninstall 插件名称 #卸载方法

7.2 设置插件:

.\picgo set uploader

12

13

7.3 选择默认图床

picgo use

14

15

7.4 Typora中测试一下:

16

image-20240822130936815

0

评论区