开源照片浏览工具Ralbum

什么是 Ralbum ?

Ralbum 是一个开源的照片浏览工具,旨在生成和展示文件系统中的图像列表。为个人或小型团队的使用,提供了一种方便的方式来管理和展示图片。

主要功能:

  • 图像浏览:用户可以查看原始图像或调整大小后的版本,适合在慢速连接下使用。
  • 轻量级界面:支持灯箱效果浏览,用户可以通过按钮、手势或键盘轻松导航。
  • 搜索功能:允许用户通过搜索框查找图像,支持多关键词搜索。
  • 地图显示:可以展示带有地理位置信息的图像,利用 EXIF 数据显示在地图上。
  • 安装灵活:支持通过 Docker 或直接在服务器上安装,使用 Docker 是最简单的方式。

【注意】:如果群晖内核版本太低,会遇到下面的错误,这个 AH00141 已经遇到多次了,老苏除了换机器,也没找到其他的办法;

1
Function not implemented: AH00141: Could not initialize random number generator

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 ralbum ,选择第一个 ralbum/ralbum,版本选择 latest

本文写作时, 只有一个 latest 版本

容器名称

容器名称建议用 ralbum,因为后面还会用到

docker 文件夹中,创建一个新文件夹 ralbum,并在其中建三个子文件夹 cachedataphoto

其中 cachedata 目录,需要有 everyone 的读写权限

否则在打开页面时,是会报错的

1
**Fatal error**: Uncaught Exception: Cannot write to cache directory

文件夹 装载路径 说明
docker/ralbum/cache /var/www/html/cache 缓存目录
docker/ralbum/data /var/www/html/data 索引目录
docker/ralbum/photo /var/data 存放照片文件

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
3247 80

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 新建文件夹 ralbum 和 子目录
mkdir -p /volume1/docker/ralbum/{cache,data,photo}

# 进入 ralbum 目录
cd /volume1/docker/ralbum

# 修改目录权限
chmod a+rw {cache,data}

# 运行容器
docker run -d \
--restart unless-stopped \
--name ralbum \
-p 3247:80 \
-v $(pwd)/photo:/var/data \
-v $(pwd)/cache:/var/www/html/cache \
-v $(pwd)/data:/var/www/html/data \
ralbum/ralbum

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
version: '3'

services:
ralbum:
image: ralbum/ralbum
container_name: ralbum
restart: unless-stopped
ports:
- "3247:80"
volumes:
- ./photo:/var/data
- ./cache:/var/www/html/cache
- ./data:/var/www/html/data

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
11
12
13
# 新建文件夹 ralbum 和 子目录
mkdir -p /volume1/docker/ralbum/{cache,data,photo}

# 进入 ralbum 目录
cd /volume1/docker/ralbum

# 修改目录权限
chmod a+rw {cache,data}

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:3247 就能看到主界面

浏览

将测试用的照片拷入 photo 目录

测试用的文件不多

刷新页面,会看到左侧多了一个目录

进入目录

打开照片

查看 info

搜索

如果要使用搜索功能,则需要运行 cronjob

1
2
# 在容器 ralbum 内执行
docker exec ralbum /var/www/html/ralbum_cron.sh

我们直接搜索文件名中的部分,是可以直接出来结果的

当然,可以设置查询条件包括

  • camera:相机
  • lens:镜头
  • year-month-day:时间

随便设了个条件

功能不是太多,但是和 PiGallery2Single File PHP Gallery 一样,支持照片原有的目录,而仅仅就这个功能,就是很多人在寻找的

文章传送门:

参考文档

ralbum/ralbum: Ralbum photo view
地址:https://github.com/ralbum/ralbum