开源照片浏览工具Ralbum

devtools/2024/12/22 11:41:38/

在这里插入图片描述

什么是 Ralbum ?

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

主要功能:

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

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

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

安装

群晖上以 Docker 方式安装。

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

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

容器名称

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

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

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

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

**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存放照片文件

端口

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

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
324780

命令行安装

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

# 新建文件夹 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 文件

version: '3'services:ralbum:image: ralbum/ralbumcontainer_name: ralbumrestart: unless-stoppedports:- "3247:80"volumes:- ./photo:/var/data- ./cache:/var/www/html/cache- ./data:/var/www/html/data

然后执行下面的命令

# 新建文件夹 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

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

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

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

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

随便设了个条件

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

文章传送门:

  • 目录优先的图片库网站PiGallery2
  • 单网页图库应用Single File PHP Gallery

参考文档

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


http://www.ppmy.cn/devtools/144362.html

相关文章

数据库发生了死锁怎么办

当项目中存在公共的数据表,比如日志表,同时存在对这张表的读写操作,或者是对数据量较大的表加索引同时伴随其他并发操作,那么这张表就有较高概率发生死锁。 现象:对于这张表的任何操作都会被阻塞,项目出现…

redis常用数据类型介绍

Redis 是一种高性能的键值存储数据库,它支持多种数据类型,使得开发者能够灵活地存储和操作数据。 1. 字符串(String): • Redis 最基本的数据类型,可以存储任何形式的字符串,包括文本、数字等。…

UDP系统控制器_音量控制、电脑关机、文件打开、PPT演示、任务栏自动隐藏

UDP系统控制器(ShuiYX) 帮助文档 概述 本程序设计用于通过UDP协议接收指令来远程控制计算机的音量、执行特定命令和其他功能。为了确保程序正常工作,请确认防火墙和网络设置允许UDP通信,并且程序启动后会最小化到托盘图标。 命令格式及说明 音量控制…

抓包之使用wireshark抓http2的包

写在前面 本文看下使用wireshark如何抓http2的包。 1;正文 因为当前并非所有的网站都支持了http2协议,所以为了知道当前我们使用的网站是否支持http2,需要安装一个谷歌的插件http indicator,安装成功后会有一个小闪电的图标&am…

String.prototype.padStart() 方法来实现日不足两位时补充零

你可以使用 String.prototype.padStart() 方法来实现日不足两位时补充零,这样代码更简洁。padStart() 会在字符串的前面填充指定的字符,直到字符串达到给定的长度。对于你的需求,padStart(2, 0) 会将 day 补充成两位数(如果 day 是…

活动预告|云原生创新论坛:知乎携手 AutoMQ、OceanBase、快猫星云的实践分享

近年来,云原生技术迅猛发展,成为企业数字化转型的关键动力,云原生不仅极大地提升了系统的灵活性和可扩展性,还为企业带来了前所未有的创新机遇。 12 月 28 日 知乎携手 AutoMQ、OceanBase 和快猫星云推出“云原生创新论坛”主题的…

弹性裸金属服务器(神龙):助力企业腾飞的云计算“黑科技”

在云计算飞速发展的今天,企业对于计算资源的需求早已不再满足于简单的“够用”,而是追求极致的性能、灵活的伸缩和数据安全的保障。那么,问题来了:如何在性能与弹性之间取得完美的平衡? 答案就是——阿里云弹性裸金属…

vscode 设置和引用变量

https://code.visualstudio.com/docs/editor/variables-reference设置 方法1 : 作用域 : 一个会话中 "configurations": [{ // 这是一个lauch 会话"variables": {"programPath": "${workspaceFolder}/build/bin/as",//"testPath…