PassNAT LogoPassNAT

摄影师专属照片画廊Photoview部署教程,支持RAW格式EXIF解析人脸识别,帕斯内网穿透实现远程访问管理高分辨率照片库

作者

小编

发布时间

Curving abstract shapes with an orange and blue gradient

项目介绍

Photoview 是一个简单易用的照片画廊,专为摄影师设计,旨在提供一种简单快速的方式来浏览包含数千张高分辨率照片的目录。它与文件系统紧密结合,网站展示服务器本地文件系统中找到的图像,目录映射为相册。

Photoview 支持用户管理、相册分享、RAW 文件格式、EXIF 解析、视频支持、人脸识别等功能。它会自动生成缩略图,使浏览速度超快,并且所有媒体资源都受到 cookie-token 保护,确保安全性。项目支持多种数据库(SQLite、MariaDB、PostgreSQL),适合摄影爱好者和专业摄影师使用。

界面美观,功能强大,支持多用户访问和公共链接分享。项目基于扫描的方式自动组织照片,支持 RAW 格式和 EXIF 解析,提供了完整的照片管理解决方案。

项目地址: 点我跳转

部署安装

如需在外也打开项目需要配置内网穿透使用,点击前往 帕斯内网穿透,先注册好账号备用。

复制下列的配置文件

1services:
2 ## Makes sure that the media cache folder is created with the correct permissions
3 photoview-prepare:
4 image: photoview/photoview:2
5 hostname: photoview-prepare
6 container_name: photoview-prepare
7 user: root
8 entrypoint: []
9 command: /bin/bash -c "sleep 1 && chown -R photoview:photoview /home/photoview/media-cache"
10 cap_add:
11 - CHOWN
12 volumes:
13 - "/etc/localtime:/etc/localtime:ro"
14 - "/etc/timezone:/etc/timezone:ro"
15 - "./storage:/home/photoview/media-cache"
16
17 photoview:
18 image: photoview/photoview:2
19 hostname: photoview
20 container_name: photoview
21 restart: unless-stopped
22 stop_grace_period: 10s
23 ports:
24 - "8000:80"
25 depends_on:
26 photoview-prepare:
27 condition: service_completed_successfully
28 mariadb:
29 condition: service_healthy
30 security_opt:
31 - seccomp:unconfined
32 - apparmor:unconfined
33 environment:
34 PHOTOVIEW_DATABASE_DRIVER: mysql
35 PHOTOVIEW_MYSQL_URL: "photoview:password@tcp(photoview-mariadb)/photoview"
36 PHOTOVIEW_LISTEN_IP: "0.0.0.0"
37 volumes:
38 - "/etc/localtime:/etc/localtime:ro"
39 - "/etc/timezone:/etc/timezone:ro"
40 - "./storage:/home/photoview/media-cache"
41 - "/path/to/your/photos:/photos:ro"
42
43 mariadb:
44 image: mariadb:11
45 hostname: photoview-mariadb
46 container_name: photoview-mariadb
47 restart: unless-stopped
48 environment:
49 MYSQL_DATABASE: photoview
50 MYSQL_USER: photoview
51 MYSQL_PASSWORD: password
52 MYSQL_RANDOM_ROOT_PASSWORD: "1"
53 volumes:
54 - "./database:/var/lib/mysql"
55 healthcheck:
56 test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
57 start_period: 10s
58 interval: 10s
59 timeout: 5s
60 retries: 3

打开飞牛 NAS 或其他的 NAS 设备

项目名称可以随便填,点击创建 docker-compose.yml

点击 Compose -> 新建项目

这里需要改成你需要的数据库账号和密码,同时需要修改 /path/to/your/photos 为你实际的照片存储路径,其他的保持不变。

如果提示端口被占用可以修改 8000:80 中的 8000 部分,但是需要保持格式正确。

穿透公网

打开帕斯内网穿透控制台,点击隧道管理-隧道列表

点击创建新隧道

隧道节点可以随便选,一般选个负载低的就可以

接下来填写信息,隧道名称可以随便填写

本地 IP 默认就可以

传输协议可以选择 TCP 也可以选择 HTTP/HTTPS

HTTP 就是域名的形式,教程以使用 TCP 为演示

本项目中如果没有修改端口的话默认是 8000 端口,这里本地 IP 就填 8000

远程端口可以留空也可以自定义。下图仅做参考,请按照实际项目端口添加。

填写完毕点击确定

点击刚才创建好的隧道,点击获取配置文件

回到飞牛 NAS,点击应用中心下载 frpc 客户端

打开后粘贴刚才复制的配置文件,点击确定即可

复制帕斯内网穿透控制台的访问 IP 和端口

可以看到已经正常穿透成功了

本篇教程结束