之前用的图床 sm.ms 的图片突然挂了。不知道为何,图片还是能够上传,但是访问图片的链接会出ERR_SPDY_PROTOCOL_ERROR
的错误。
正好我自己的翻墙服务器的硬盘长期富余。虽然只有十几个 G,搭建一个自己图床还是够用的。更重要的是,Dogital Ocean 的服务器的流量非常多(我买的 $5 的服务器的流量有一个 T)。我选择的开源图床框架是Lychee。这个框架支持 Docker 安装,可以省很多事情。
1 Docker 安装 Lychee
常规的安装方法可以参考官方文档。我这里只介绍 Docker 方式。如果你没有什么特别的需求,Docker 方式应该是非常适合你的。
注:这篇教程只是对于我的操作过程的一个记录,因此对于一些依赖环境的安装没有面面俱到。这些问题,都可以面向 google 进行解决。
1.1 Docker 环境准备
首先你要安装一个 Docker 环境。在 Ubuntu 上,安装非常简单:
1 | sudo apt update |
有时还需要将你当前用户加入到docker
组中,这样每次执行docker
命令不需要加sudo
了。这个操作可能在安装过程中自动完成了,如果你发现docker
命令执行时提示有权限相关的问题,可以运行
1 | sudo adduser user docker |
注意确保一下docker-compose
也安装完毕了。我们需要通过docker-compose
来将 Lychee 和数据库组装在一起。
1 | $ docker-compose -v |
1.2 安装 Lychee
首先创建好目录树:
1 | lychee |
其中,config
和pictures
分别用来存储 Lychee 的设置和图片文件。db
文件夹则是用于数据库,这三个文件夹需要你手动创建。docker-compose.yml
文件内容如下:
1 | version: '1' |
目前我没发现 lychee 的这个镜像支持用环境变量来配置数据库信息。所以上面对应的数据库信息后续需要在网页端手动输入。
然后在这个文件夹下运行
1 | docker-compose up -d |
然后访问http://yourdoman.com:8000
就可以访问了。
1.3 Lychee 配置
在访问上述网页之后,Lychee 会提示我们输入数据库信息。
注意这里的 Database Host 要填写lychee-db
。其他的设置与上面的docker-compose.yml
文件中的一致即可。
而后按照提示创建登录账户:
2 Lychee Advanced
2.1 使用 Nginx 进行反向代理
Nginx 配置文件如下:
1 | server { |
2.2 启用 HTTPS
目前来看,Let's encrypt仍然是个人建站启用 HTTPS 的不二之选。其使用教程可以说是非常简明了,具体参考certbot。