搭建个人图床
前言
请注意,
nmtan/chevereto:1.4.1
的docker安装要严格按照本教程的步骤执行。由于镜像或chevereto自身原因,自行在docker-compose中映射environment参数基本上是失败的。切记,切记!
这篇文章我们将介绍另一个好用的应用,即chevereto
。它的官网是:https://chevereto.com/。chevereto是一款自建图床的程序。可能小伙伴不知道什么是“图床”。简而言之,就是一款托管图片的程序吧。你可以看看小鹿的神秘图库,颜值是不是非常高呢!
在没有使用markdown
之前,我对于图床没什么概念。平时自己很少自拍,也不怎么拍别人或风景嘛!不过后来接触了markdown,就不得不关心起图床了。由于Typora并没有内置的图床,所以托管markdown写作过程中图片的平台的搭建就变得非常重要了。有同学肯定会问,如果不托管会怎么样呢?的确,如果不用图床进行托管的话,在本地看你自己写的文章并没有什么问题,但是一旦你想要将你写的文章分享出去又或者是去其他设备上访问时,就会出现图片加载不出来的问题,具体原因如下图:
当你的图片没上传之前,图片的访问路径是本地路径,别人是无法访问的!当然,支持图床的方式有很多,但是你还需要考虑方便性,因为谁也不想边写作还要边打断思路去上传图片对吧。那么有没有一体化的方式呢?接下来小鹿要分享的就是:Typora + PicGo + chevereto 搭建方式。
问:难道不能用别人的免费图床吗?
答:可以,但不建议。虽然在国内,有很多免费的图床可以用。具体可参考《2020国内能用的图床集合》。但我在很早之前就很抗拒使用第三方图床。就算是现在,我还是建议要搭建一个个人专属图床,特别是你有VPS的情况下。虽然白嫖别人的服务很爽;有些小伙伴喜欢将图床托管在github上;如果有小伙伴用notion
来进行markdown写作的话,图片可以直接粘贴,也挺方便。但是,你的图片的命运就掌握在别人手中而不是自己手中。如果你将mardown当作生产力工具的话,里面的图片应该是十分重要的。试想一下你的图床的图片丢失,之前的努力都白费了!Github毕竟是美国的东西,如果以后Github不再向中国用户开放(或者是其它不可抗力,比如2022年5月下旬的CDN污染事件),那你又得花时间和精力去转移你的图床,而且你不一定可以在gitee这样的平台恢复你的链接和数据。这样使用mardown的体验也会非常差!如果你有个人专属图床,只要做好备份,基本上就等于永久不失效图床。而且,谁会特别愿意将自己的照片主动给他人呢?
另外,我觉得,chevereto是一个非常专业的图床,使用它的话图床功能具有潜在的扩展性,这对我而言有不少吸引力。此外,它还有类似的优势:
- 有docker镜像,备份和迁移简单,这点在你之后使用的过程中就会感受十分明显。
- 强大的后台管理和扩展性
- 与PicGo的良好交互,支持markdown
而且,chevereto是有收费版的,这就意味着它被一个盈利机构所维护。产品质量有保障!接下来,就让我们一起来搭建吧。
搭建教程
首先拉取Docker镜像
docker pull nmtan/chevereto:1.4.1
经过小鹿用腾讯云VPS来测试,似乎国内并不支持拉取该镜像,会显示超时,即使配置了镜像也不行,所以小鹿在这里贴一个我自己打包好的镜像,和官方是一样的。如果你的服务器能够拉取下来镜像,则跳过该步骤
首先去小鹿的云盘下载对应镜像的tar包:[下载地址] 如果需要登录,点击游客登录,然后输入密码808080(https://alist.xiayexiaolu.top/%E9%98%BF%E9%87%8C%E4%BA%91%E7%9B%98/%E8%BD%AF%E4%BB%B6/docker/chevereto)
下载下来的应该是一个名为chevereto.tar文件包,这是将镜像进行压缩打包后格式,将该文件包上传到服务器之后,执行
docker load -i /path/to/destination/chevereto.tar #其中/path/to/destination是你的文件包所在的完整路径请按需修改
上面这步是将镜像压缩包进行解压并注册到Docker中。
解压之后执行docker images查看镜像是否已经被写入。
运行容器
在这里我们用的是Docker compose来执行,而非使用原生Docker来运行(小伙伴们可以学一下Docker compose,这在之后管理docker-compose.yml会相当方便),docker-compose.yml文件内容如下:
---
version: '3'
services:
app:
image: nmtan/chevereto:1.4.1 # 固定为1.4.1,个人感觉这个版本最好用
restart: always
ports:
- 7777:80 # 按需更改7777 你可以设置一个你从没用过的端口号
networks:
- default
environment:
CHEVERETO_DB_HOST: 172.17.0.1 # 我的redis使用的是Docker搭建的,所以host是172.17.0.1
CHEVERETO_DB_NAME: chevereto # 与db的设置一一对应
CHEVERETO_DB_USERNAME: username # 与db的设置一一对应
CHEVERETO_DB_PASSWORD: password # 与db的设置一一对应
volumes:
- ./app/images:/var/www/html/images:rw
- ./app/content:/var/www/html/content:rw
- ./app/php.ini:/usr/local/etc/php/php.ini:ro
- ./app/app/routes:/var/www/html/app/routes:rw
这里值得注意的是:volumes是挂载路径,如果你是在windows系统上运行Docker,你需要将路径全都修改,另外就是CHEVERETO_DB_HOST,一般来说你的Host应该会和我一样,但在Windows上可能存在不同,这时候你需要使用ipconfig
来进行查看
这时候你需要确认文件路径和我一样:
只要确保一样之后,就可以运行容器了(建议先别运行容器,先看下面的易错提示)
docker-compose up -d #启动服务
docker-compose down # 停止服务
易错提醒
启动之后浏览器访问ip:7777如果出现错误,通常是显示为页面仅展示一行字的错误的时候,百分之90都是因为你的数据库出了问题。数据库出问题无非两种:1.数据库没有创建 (数据库一定要在运行容器之前创建),我也不知道为什么,他并不像Wordpress会帮你初始化数据库,所以你必须先创建好一个名为chevereto的数据库才行。 2.数据库链接错误,在上面docker-compse.yml文件中我使用的是mysql数据库,你需要确保你的账号密码都没有问题,尤其是Host一定不能出错,只要解决了数据库错误一般都是没问题的。
配置chevereto
其实到这里图床就算是安装完成了,之后就是配置一些反代,接下来我主要讲的是Typora配合chevereto使用。
首先点击右上角仪表盘
进到仪表盘界面之后,按照下图所示进行操作:
API的作用主要是用来自动上传图片到图床中:下图中的API v1密钥一定要保管好,最好设置的复杂一点
到这里,关于服务器上的配置就算是完成啦!✿✿ヽ(°▽°)ノ✿
配置PicGo
我从PicGo官方文档找到了大陆地区下载链接(因为GitHub可能很多人访问会比较慢)
下载链接(数据来源https://picgo.github.io/PicGo-Doc/zh/guide/#%E7%89%B9%E8%89%B2%E5%8A%9F%E8%83%BD)
下载源 | 地址/安装方式 | 平台 | 备注 |
---|---|---|---|
GitHub Release | https://github.com/Molunerfinn/PicGo/releases | All | 国内下载速度可能会慢 |
腾讯云COS(opens new window) | https://github.com/Molunerfinn/PicGo/releases 附在更新日志结尾 | All | 感谢 腾讯云COS (opens new window)提供的赞助支持 |
山东大学镜像站(opens new window) | https://mirrors.sdu.edu.cn/github-release/Molunerfinn_PicGo | All | 感谢 山东大学镜像站 (opens new window)提供的镜像支持 |
Scoop(opens new window) | scoop bucket add helbing https://github.com/helbing/scoop-bucket & scoop install picgo | Windows | 感谢 @helbing 的贡献 |
Chocolatey(opens new window) | choco install picgo | Windows | 感谢 @iYato 的贡献 |
Homebrew(opens new window) | brew install picgo --cask | macOS | 感谢 @womeimingzi11 的贡献 |
AUR(opens new window) | yay -S picgo-appimage | Arch-Linux | 感谢 @houbaron 的贡献 |
界面截图如下
下载安装好PicGo之后,点击插件设置,下载下图中的对应插件:
插件下载完成后点击图床设置,然后找到chevereto Uploader插件,也就是你刚才安装的这个,你只需要配置两个参数Url和Key,这里的Url其中的域名你需要替换成你自己的域名,然后Key就是刚才在chevereto网页中配置的API key,填写完之后点击确定 并点击设为默认图床。
这时候我们到上传区,上传一张图片之后,去chevereto网页上查看是否上传成功即可。
配置Typora
到这里就快完成了,接下来就是Typora的配置啦,加油!
首先点击设置,因为小鹿有两台电脑,win和mac,在写这篇文章的时候使用的是mac电脑,所以下面全都以MacOS来进行演示,大家如果有Windows不会安装的话,可以在下面留言。
打开设置并选中图像一栏:
这时候MacOS只需要点击下方的【下载PicGo.app】就会自动跳转到PicGo下载地址,下载安装完之后只需要将上传服务切换到PicGo.app即可。另外上面有个选项【插入图片时…】,这个小鹿建议切换到和小鹿一样的上传图片,这样只要你将图片放入到Typora文档中,图片就会自动上传到你的图床中,方便快捷。之后小鹿会将Windows下的安装教程也添加进来。配置好之后可以点击【验证图片上传选项】,这时候如果提示如下:
恭喜你!!安装配置完成啦!!!
小结
总的来说,整个流程的安装相对来说比较复杂,但是只要配置好了,后期写文章是会非常方便的,并且由于你将图片已经上传到了公网上,所以你的文章是可以发布在第三方平台的,听起来是不是感觉很酷!快去试试吧~
所爱隔山海,山海不可平。
最后,还是一样的节目,上传一张我觉得很好看的图: