自建私人照片云!LibrePhotos 开源智能相册系统,AI 人脸识别地理标记时间线浏览,帕斯内网穿透远程访问!
作者
小编
发布时间

项目介绍
LibrePhotos 是一个开源的自托管照片管理系统,专为个人和家庭用户设计。它提供了强大的照片和视频管理功能,包括智能分类、人脸识别、地理位置标记、时间线浏览等特性。LibrePhotos 支持所有类型的照片格式(包括 RAW 格式)和视频文件,能够自动扫描文件系统中的媒体文件并进行智能分析。
该项目最大的亮点是其强大的 AI 功能:自动人脸识别和分类、场景检测、语义图像搜索、基于事件的智能相册生成(如'周四在柏林')。同时支持多用户使用,每个用户都有独立的照片库和隐私设置。界面简洁美观,提供了类似 Google Photos 的使用体验,但完全私有化部署,数据完全掌控在自己手中。
项目地址: 点我跳转
部署安装
如需在外也打开项目需要配置内网穿透使用,点击前往 帕斯内网穿透,先注册好账号备用。
复制下列的配置文件
1# DO NOT EDIT2# The .env file has everything you need to edit.3# Run options:4# 1. Use prebuilt images (preferred method):5# run cmd: docker compose up -d6# 2. Build images on your own machine:7# build cmd: docker compose build8# run cmd: docker compose up -d910services:11 proxy:12 image: reallibrephotos/librephotos-proxy:${tag}13 container_name: proxy14 restart: unless-stopped15 volumes:16 - ${scanDirectory}:/data17 - ${data}/protected_media:/protected_media18 ports:19 - ${httpPort:-3000}:8020 depends_on:21 - backend22 - frontend2324 db:25 image: pgautoupgrade/pgautoupgrade:latest26 container_name: db27 restart: unless-stopped28 environment:29 - POSTGRES_USER=${dbUser}30 - POSTGRES_PASSWORD=${dbPass}31 - POSTGRES_DB=${dbName}32 volumes:33 - ${data}/db:/var/lib/postgresql/data34 healthcheck:35 test: psql -U ${dbUser} -d ${dbName} -c 'SELECT 1;'36 interval: 5s37 timeout: 5s38 retries: 53940 frontend:41 image: reallibrephotos/librephotos-frontend:${tag}42 container_name: frontend43 restart: unless-stopped4445 backend:46 image: reallibrephotos/librephotos:${tag}47 container_name: backend48 restart: unless-stopped49 volumes:50 - ${scanDirectory}:/data51 - ${data}/protected_media:/protected_media52 - ${data}/logs:/logs53 - ${data}/cache:/root/.cache54 environment:55 - SECRET_KEY=${shhhhKey:-}56 - BACKEND_HOST=backend57 - ADMIN_EMAIL=${adminEmail:-}58 - ADMIN_USERNAME=${userName:-}59 - ADMIN_PASSWORD=${userPass:-}60 - DB_BACKEND=postgresql61 - DB_NAME=${dbName}62 - DB_USER=${dbUser}63 - DB_PASS=${dbPass}64 - DB_HOST=${dbHost}65 - DB_PORT=543266 - MAPBOX_API_KEY=${mapApiKey:-}67 - WEB_CONCURRENCY=${gunniWorkers:-1}68 - SKIP_PATTERNS=${skipPatterns:-}69 - ALLOW_UPLOAD=${allowUpload:-false}70 - CSRF_TRUSTED_ORIGINS=${csrfTrustedOrigins:-}71 - DEBUG=072 depends_on:73 db:74 condition: service_healthy
同时还需要创建环境变量文件 .env
:
1# Location of your photos.2scanDirectory=./librephotos/pictures34# Internal data of LibrePhotos5data=./librephotos/data67# What port should Libre Photos be accessed at (Default 3000)8httpPort=3000910# What branch should we install the latest weekly build or the development branch (dev)11tag=latest1213# Number of workers, which take care of the request to the api.14gunniWorkers=21516# Database settings17dbName=librephotos18dbUser=docker19dbPass=AaAa123420dbHost=db2122# Admin user settings (optional)23adminEmail=24userName=25userPass=2627# Other optional settings28mapApiKey=29csrfTrustedOrigins=
打开飞牛 NAS 或其他的 NAS 设备

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

点击 Compose -> 新建项目
在环境变量文件中,你需要修改以下重要设置:
- scanDirectory
: 设置为你的照片存储目录路径
- data
: 设置为 LibrePhotos 数据存储目录
- httpPort
: 如果端口被占用可以修改,但需要保持格式正确
- dbPass
: 建议修改数据库密码
- userName
和 userPass
: 设置管理员账号和密码
其他配置保持默认即可。
穿透公网
打开帕斯内网穿透控制台,点击隧道管理-隧道列表

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

接下来填写信息,隧道名称可以随便填写
本地 IP 默认就可以
传输协议可以选择 TCP 也可以选择 HTTP/HTTPS
HTTP 就是域名的形式,教程以使用 TCP 为演示
本项目中如果没有修改端口的话默认是 3000 端口,这里本地端口就填 3000
远程端口可以留空也可以自定义。下图仅做参考,请按照实际项目端口添加。

填写完毕点击确定
点击刚才创建好的隧道,点击获取配置文件

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

打开后粘贴刚才复制的配置文件,点击确定即可
复制帕斯内网穿透控制台的访问 IP 和端口
可以看到已经正常穿透成功了
本篇教程结束