摄影安放处
2025年3月25日
目录
目录
摄影安放处
国内的图片上传网站基本无法保证原图的保存,总会让上传的图片压缩成戴眼镜都看不清的玩意儿。 受不了一次又一次地看见我拍的小鸟与夕阳在上传后化作一团浆糊.. 所以挺想折腾一个属于自己的摄影安放处,记录下一步一步的折腾吐槽吧。
部署
去查看了一下大部分人使用的私人图库,发现 Lychee 的界面很符合我的审美。docker 部署很简单,不过为了永久性的保证,放在了新 vps 里面。(顺便发现原来 Nginx Proxy Manager 居然可以代理非本机 ip 的端口,更喜欢用它了)。 不过发现 Lychee 的代码写的有那么烂啊…又来抱怨几下…
开局
开局 install 的时候直接给我下马威。在 docker-compose 配置好的数据库没给我传上去,直接需要手动创建数据库,绑定账号密码。
在G老师的帮助下简单完成了,顺便改了 APP_URL 直接绑定域名,APP_FORCE_HTTPS 改为 true。结果进去的时候账号密码和域名全部设置都要重新修改,得进 docker 容器里面 nano .env …那开局部署的时候那个界面有啥用呢…
设置
进来第一件事是修改界面语言为 ZH_CN ,很顺利的摸到了 Basic 里面的 language 。结果将 en 修改为 ZH_CN 居然没反应…又询问了G老师,解决方法是在 .env 文件改 APP_LOCALE …不太理解这个诡异 bug 的产生。 后面又发现可以直接在 All Settings 里面找到然后修改,点击后有一个 Save 提醒,然后就正常了… 听说这是一个很久以前就被反馈在 issue 的 bug ,为什么现在还存在呢…
下载
折腾完后终于进入了初始界面,不得不说,界面的设计真的很贴合我的审美。
点击 upload 然后尝试 download…
嗯…这好像也是一个被反馈过的 bug ,而且现在官方也似乎没有修。
那我修修吧。
修复
这是 PHP 8 引入的“类型化属性未初始化”错误。也就是说,$size_variant 这个属性被访问时还没有被初始化,可能是因为 Lychee 运行开发在非 PHP 8 环境吧,一个变量的初始化都没有做... Lychee 是部署在 Docker 容器中的,所以先连上服务器,docker exec 进入容器。 找到了报错文件:app/Http/Requests/Album/ZipRequest.php 里面使用了一个 Trait:
use HasSizeVariantTrait;
trait 里定义了 $size_variant 变量,但是可能在 ZipRequest 中被覆盖或不兼容。
里面指向的变量来源于: app\Http\Requests\Traits\HasSizeVariantTrait.php
那我过去看看…
这里很明显 $size_variant 没定义…
尝试随便定义一个 null:

然后出现了一个新的报错…
/var/www/html/Lychee/app/Http/Controllers/Gallery/AlbumController.php:363
之前 $size_variant 初始化为 null,虽然绕过了属性未定义的问题,但这个变量最终被用作一个枚举类的参数 DownloadVariantType,结果类型不匹配,就炸了。
那就重新定义一下,确保传进去的 $size_variant 是枚举类型 DownloadVariantType,不是 null。

改完后重新 docker restart 一下,再次刷新,终于修复成功。

折腾完后感觉 Lychee 代码写的实在是…或许该去 Github 仓库里提一个 issue ,让开发者多做一做版本适配吧?(还是说我可能下载并且使用的是旧版本?也说不准😑)
上传
我又来了,已经成功地把 lychee 图床换成了 lskyPro,作为相册展示的 lychee 就好好执行展览馆的职责。🙃
本文由原来的怒火中烧地使用Lychee更新为冷静理性地吐槽Lychee,但本质没变:Lychee 还是不太行。

这个从链接导入很诱人,是吧?
😾它是个大摆设!!!
lychee 为什么不设置一下后端解析 URL ?
(打开日志眼前一黑)
改了DNS,然后…
这告诉我们,有数据库的容器不能乱改DNS。
重新去docker-compose.yml配置了一下DNS,恢复正常。

但是依然没反应?百思不得其解,容器里curl的通,为什么lychee去get直接完蛋?然后查看一下 Cloudflare…行吧。

放开了后重启docker,嗯,lychee的导入连接功能恢复正常。皆大欢喜。(此处省略一次服务器的又一次崩溃…)
测试
试一下它的图床功能。 更新lychee不小心把过去的图给删了…还好图还在手机上,我试试新图床吧
不得不说,HNU的校园环境还是很不错的…
突然感觉对NAS有了需求,不过在此之前我还是多多折腾自己吧。

我很喜欢水中的倒影与夕阳。