前言
在拥有相机后,我总会出门拍些莫名其妙的照片。由于找不到合适的平台分享,这些照片就这么封存在储存卡中。你知道的,作为一个业余的摄影师乐于分享的人,不把我的那些杰作(并非杰作)发布出来就浑身难受。
在这个月我终于忍受不了这种煎熬了,其实是找不到别的事来水文章(・ε・)。于是便利用网站的子域名搭建了一个lychee个人图库。

Lychee
Lychee是一个开源的、自托管的照片管理平台,允许用户在自己的服务器上存储、组织和分享照片。它注重隐私和自定义,支持多种照片格式、相册分类、标签、搜索和分享链接等功能。用户可以通过网页界面轻松上传和管理照片,无需依赖第三方云服务。
在相册搭建之前
一个网站是如何建成的呢?一个网站的建成离不开服务器和域名,而关于服务器和域名的介绍和使用方法前人之述备矣。如果还对这两个概念感到陌生,可以先阅读桜庭夜的动态博客搭建指北:指导8年前的我搭建个人博客或者阅读参考文献猿创征文|给妈妈做个相册——在服务器上搭建Lychee相册的保姆级教程。
「都把参考文献贴出来了?这篇文章还有什么必要吗?」
有的兄弟,有的。虽然参考文献中已经把搭建的方法讲的清清楚楚明明白白,但由于文章已经是三年之前所做,很多界面的UI都有了不少变化,而且还有难以解决的bug。这篇文章更像是对于参考文献的一种翻新和补充。
我使用的服务器是阿里云的服务器,并且安装使用了宝塔面板。本文章默认你已经完成了服务器的搭建和域名的购买。我们话不多说,开始搭建相册。
利用docker安装lychee
lychee需要通过docker进行安装,所以我们要先在面板中安装docker。新版的宝塔面板中,docker被放到了左边的菜单栏。

点击立即安装,安装方式选择默认。

出现successful则代表安装成功。

这时刷新一下宝塔面板就可以发现docker已经安装成功。

docker已经安装完成,接下来我们进入到终端中安装lychee。

在终端中输入
docker pull lycheeorg/lychee
或者你可以复制上面这段命令,然后在终端中右键粘贴。

上图所示就是安装完毕。如果有报错就重新输入下面这段命令:
sudo docker pull lycheeorg/lychee
接着启动lychee镜像,并指定端口。
docker run -it -d -p 5120:80 lycheeorg/lychee
出现一长串字符就说明已经成功启动。

如果遇到报错就重新输入:
sudo docker run -it -d -p 5120:80 lycheeorg/lychee
端口放行及服务器设置
在安全板块,点击添加端口规则,然后放行5120端口。

在服务器那边也要放行5120端口。
在服务器的实例中选择网络与安全组,然后添加入方向规则。

将访问目的改为5120即可。

添加并设置站点
回到宝塔面板中,进入网站板块,点击添加站点。我这里填写的域名是子域名,如果你也填写的是子域名的话别忘了在服务器中进行域名解析。

为了方便操作,我接下来就用子域名gallery.ginka.top进行演示(・ε・)。
点击网站的名称进入域名设置,点击反向代理,添加反向代理

代理名称随意写,目标URL填写http://127.0.0.1:5120,发送域名填写$host。

到此为止,Lychee的搭建理论上已经完成了。但当你输入自己的网址时,出现的不是正确的安装页面。

出现这个问题的原因大概是Lychee的.env文件没有正确配置。那我们该如何去修改.env文件呢?这下就来到本文的重头戏。
Lychee的.env文件修改
如下图,找到自己的docker容器ID。

记录下自己的容器ID,点击进入终端。
输入下面的命令进入容器。
docker exec -it 容器ID /bin/sh

正常来说应该用nano或者vi向.env文件中添加内容,但由于Lychee的镜像十分精简并没有配备这些常用的编辑器。所以我们使用echo逐行添加。
逐行写入:
echo " " >> /conf/.env
echo "APP_URL=https://gallery.ginka.top" >> /conf/.env #改为自己的网址
echo "TRUSTED_PROXIES=172.17.0.1" >> /conf/.env
echo "APP_FORCE_HTTPS=true" >> /conf/.env
写完之后刷新一下网页,输入以下命令查看.env文件。
docker exec 容器ID cat /conf/.env

可以看到代码已经成功添加。
这时我们再打开网址,发现页面已经变正常了⁽⁽٩(๑˃̶͈̀ ᗨ ˂̶͈́)۶⁾⁾!

至此,Lychee已经搭建完成。填写完登录信息就可以上传照片了。


