ERR_SPDY_PROTOCOL_ERROR
的错误。

正好我自己的翻墙服务器的硬盘长期富余。虽然只有十几个G,搭建一个自己图床还是够用的。更重要的是,Dogital Ocean的服务器的流量非常多(我买的$5的服务器的流量有一个T)。我选择的开源图床框架是Lychee。这个框架支持Docker安装,可以省很多事情。
1 1. Docker安装Lychee
常规的安装方法可以参考官方文档。我这里只介绍Docker方式。如果你没有什么特别的需求,Docker方式应该是非常适合你的。
注:这篇教程只是对于我的操作过程的一个记录,因此对于一些依赖环境的安装没有面面俱到。这些问题,都可以面向google进行解决。
1.1 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 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 1.3 Lychee配置
在访问上述网页之后,Lychee会提示我们输入数据库信息。

注意这里的Database Host要填写lychee-db
。其他的设置与上面的docker-compose.yml
文件中的一致即可。
而后按照提示创建登录账户:

2 2. Lychee Advanced
2.1 2.1 使用Nginx进行反向代理
Nginx配置文件如下:
1 | server { |
2.2 2.2 启用HTTPS
目前来看,Let's encrypt仍然是个人建站启用HTTPS的不二之选。其使用教程可以说是非常简明了,具体参考certbot。