3

支持面部识别的相册应用(PhotoPrism)

发表于:2024-9-24 12:55:41 攻略分享 468
本帖最后由 玉尺书生 于 2024-9-24 13:00 编辑

PhotoPrism 的功能特色:


1. 智能照片组织与搜索PhotoPrism 最强大的功能之一就是其 AI 驱动的照片组织和搜索能力。它可以:
  • 自动识别照片中的人物、物体、场景等内容;
  • 基于 AI 的照片分类,可按主题、颜色、质量等维度浏览;
  • 提供强大的搜索功能,支持多维度组合筛选。
2. 全面的文件格式支持不同于许多照片管理工具,PhotoPrism 对各种文件格式的支持非常全面:
  • 支持常见图片格式如 JPG、PNG 等;
  • 原生支持 RAW 格式,无需额外转换;
  • 支持 Live Photos 和视频文件。
这意味着无论你是普通用户还是专业摄影师,PhotoPrism 都能满足你的需求。
3. 面部识别PhotoPrism 内置了强大的面部识别功能:
  • 自动识别照片中的人脸;
  • 可手动标记人名,方便按人物浏览照片;
  • 支持按人物关系组织照片。
4. 地理信息展示对于喜欢旅行的朋友来说,PhotoPrism 的地理信息功能简直是神器:
  • 自动提取照片 EXIF 中的 GPS 信息;
  • 提供多种高清世界地图,可视化展示照片拍摄地点;
  • 支持按地点、国家等维度浏览照片。
5. WebDAV 同步PhotoPrism 还提供了便捷的同步功能:
  • 内置 WebDAV 服务器,支持与其他设备双向同步;
  • 可与 Windows 资源管理器、Mac Finder 等直接连接;
  • 方便在多设备间访问和管理照片。
6. 元数据管理
  • 自动提取照片 EXIF、XMP 等元数据;
  • 支持编辑和管理照片元数据,如标题、描述、标签等;
  • 多种元数据可作为搜索条件,提高照片查找效率;
  • 支持批量编辑元数据,方便大量照片的整理。
7. 移动端支持尽管 PhotoPrism 主要设计用于自托管服务器,但它对移动设备的支持也很好:
  • 提供 Progressive Web App (PWA),可安装到移动设备主屏幕;
  • 响应式设计,完美适配各种屏幕尺寸;
  • 支持 PhotoSync 等第三方 App 进行移动端照片同步;
  • 移动友好的触摸操作,如滑动浏览、缩放等。

DOCKERCOMPOSE配置如下:


  1. <div>services:
  2.   photoprism:
  3.     image: photoprism/photoprism:latest
  4.     restart: unless-stopped
  5.     stop_grace_period: 10s
  6.     depends_on:
  7.       - mariadb
  8.     security_opt:
  9.       - seccomp:unconfined
  10.       - apparmor:unconfined
  11.     ports:
  12.       - "2342:2342"
  13.     environment:
  14.       PHOTOPRISM_ADMIN_USER: "admin"                 # admin 用户名
  15.       PHOTOPRISM_ADMIN_PASSWORD: "admin123"          # admin 密码 (8-72字符)
  16.       PHOTOPRISM_AUTH_MODE: "password"               # 认证模式 (public, password)
  17.       PHOTOPRISM_SITE_URL: "http://192.168.0.251:2342/"  # 服务器URL格式 "http(s)://domain.name(:port)/(path)"
  18.       PHOTOPRISM_DISABLE_TLS: "false"                # disables HTTPS/TLS even if the site URL starts with https:// and a certificate is available
  19.       PHOTOPRISM_DEFAULT_TLS: "true"                 # defaults to a self-signed HTTPS/TLS certificate if no other certificate is available
  20.       PHOTOPRISM_ORIGINALS_LIMIT: 5000               # file size limit for originals in MB (increase for high-res video)
  21.       PHOTOPRISM_HTTP_COMPRESSION: "gzip"            # improves transfer speed and bandwidth utilization (none or gzip)
  22.       PHOTOPRISM_LOG_LEVEL: "info"                   # log level: trace, debug, info, warning, error, fatal, or panic
  23.       PHOTOPRISM_READONLY: "false"                   # do not modify originals directory (reduced functionality)
  24.       PHOTOPRISM_EXPERIMENTAL: "false"               # enables experimental features
  25.       PHOTOPRISM_DISABLE_CHOWN: "false"              # disables updating storage permissions via chmod and chown on startup
  26.       PHOTOPRISM_DISABLE_WEBDAV: "false"             # disables built-in WebDAV server
  27.       PHOTOPRISM_DISABLE_SETTINGS: "false"           # disables settings UI and API
  28.       PHOTOPRISM_DISABLE_TENSORFLOW: "false"         # disables all features depending on TensorFlow
  29.       PHOTOPRISM_DISABLE_FACES: "false"              # disables face detection and recognition (requires TensorFlow)
  30.       PHOTOPRISM_DISABLE_CLASSIFICATION: "false"     # disables image classification (requires TensorFlow)
  31.       PHOTOPRISM_DISABLE_VECTORS: "false"            # disables vector graphics support
  32.       PHOTOPRISM_DISABLE_RAW: "false"                # disables indexing and conversion of RAW images
  33.       PHOTOPRISM_RAW_PRESETS: "false"                # enables applying user presets when converting RAW images (reduces performance)
  34.       PHOTOPRISM_SIDECAR_YAML: "true"                # creates YAML sidecar files to back up picture metadata
  35.       PHOTOPRISM_BACKUP_ALBUMS: "true"               # creates YAML files to back up album metadata
  36.       PHOTOPRISM_BACKUP_DATABASE: "true"             # creates regular backups based on the configured schedule
  37.       PHOTOPRISM_BACKUP_SCHEDULE: "daily"            # backup SCHEDULE in cron format (e.g. "0 12 * * *" for daily at noon) or at a random time (daily, weekly)
  38.       PHOTOPRISM_INDEX_SCHEDULE: ""                  # indexing SCHEDULE in cron format (e.g. "@every 3h" for every 3 hours; "" to disable)
  39.       PHOTOPRISM_AUTO_INDEX: 300                     # delay before automatically indexing files in SECONDS when uploading via WebDAV (-1 to disable)
  40.       PHOTOPRISM_AUTO_IMPORT: -1                     # delay before automatically importing files in SECONDS when uploading via WebDAV (-1 to disable)
  41.       PHOTOPRISM_DETECT_NSFW: "false"                # automatically flags photos as private that MAY be offensive (requires TensorFlow)
  42.       PHOTOPRISM_UPLOAD_NSFW: "true"                 # allows uploads that MAY be offensive (no effect without TensorFlow)
  43.       # PHOTOPRISM_DATABASE_DRIVER: "sqlite"         # SQLite is an embedded database that does not require a separate database server
  44.       PHOTOPRISM_DATABASE_DRIVER: "mysql"            # MariaDB 10.5.12+ (MySQL successor) offers significantly better performance compared to SQLite
  45.       PHOTOPRISM_DATABASE_SERVER: "mariadb:3306"     # MariaDB database server (hostname:port)
  46.       PHOTOPRISM_DATABASE_NAME: "photoprism"         # MariaDB database schema name
  47.       PHOTOPRISM_DATABASE_USER: "photoprism"         # MariaDB database user name
  48.       PHOTOPRISM_DATABASE_PASSWORD: "insecure"       # MariaDB database user password
  49.       PHOTOPRISM_SITE_CAPTION: "AI-Powered Photos App"
  50.       PHOTOPRISM_SITE_DESCRIPTION: ""                # meta site description
  51.       PHOTOPRISM_SITE_AUTHOR: ""                     # meta site author
  52.       ## Video Transcoding (https://docs.photoprism.app/getting-started/advanced/transcoding/):
  53.       # PHOTOPRISM_FFMPEG_ENCODER: "software"        # H.264/AVC encoder (software, intel, nvidia, apple, raspberry, or vaapi)
  54.       # PHOTOPRISM_FFMPEG_SIZE: "1920"               # video size limit in pixels (720-7680) (default: 3840)
  55.       # PHOTOPRISM_FFMPEG_BITRATE: "32"              # video bitrate limit in Mbit/s (default: 50)
  56.       ## Run/install on first startup (options: update https gpu ffmpeg tensorflow davfs clitools clean):
  57.       # PHOTOPRISM_INIT: "https gpu tensorflow"
  58.       ## Run as a non-root user after initialization (supported: 0, 33, 50-99, 500-600, and 900-1200):
  59.       # PHOTOPRISM_UID: 1000
  60.       # PHOTOPRISM_GID: 1000
  61.       # PHOTOPRISM_UMASK: 0000
  62.     ## Start as non-root user before initialization (supported: 0, 33, 50-99, 500-600, and 900-1200):
  63.     # user: "1000:1000"
  64.     ## Share hardware devices with FFmpeg and TensorFlow (optional):
  65.     # devices:
  66.     #  - "/dev/dri:/dev/dri"                         # Intel QSV
  67.     #  - "/dev/nvidia0:/dev/nvidia0"                 # Nvidia CUDA
  68.     #  - "/dev/nvidiactl:/dev/nvidiactl"
  69.     #  - "/dev/nvidia-modeset:/dev/nvidia-modeset"
  70.     #  - "/dev/nvidia-nvswitchctl:/dev/nvidia-nvswitchctl"
  71.     #  - "/dev/nvidia-uvm:/dev/nvidia-uvm"
  72.     #  - "/dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools"
  73.     #  - "/dev/video11:/dev/video11"                 # Video4Linux Video Encode Device (h264_v4l2m2m)
  74.     working_dir: "/photoprism" # do not change or remove
  75.     ## Storage Folders: "~" is a shortcut for your home directory, "." for the current directory
  76.     volumes:
  77.       # "/host/folder:/photoprism/folder"                # Example
  78.       - "~/Pictures:/photoprism/originals"               # 照片文件目录映射 (不要删除)
  79.       # - "/example/family:/photoprism/originals/family" # *Additional* media folders can be mounted like this
  80.       # - "~/Import:/photoprism/import"                  # *Optional* base folder from which files can be imported to originals
  81.       - "./storage:/photoprism/storage"                  # *Writable* storage folder for cache, database, and sidecar files (DO NOT REMOVE)

  82.   ## MariaDB Database Server (recommended)
  83.   ## see https://docs.photoprism.app/getting-started/faq/#should-i-use-sqlite-mariadb-or-mysql
  84.   mariadb:
  85.     image: mariadb:11
  86.     ## If MariaDB gets stuck in a restart loop, this points to a memory or filesystem issue:
  87.     ## https://docs.photoprism.app/getting-started/troubleshooting/#fatal-server-errors
  88.     restart: unless-stopped
  89.     stop_grace_period: 5s
  90.     security_opt: # see https://github.com/MariaDB/mariadb-docker/issues/434#issuecomment-1136151239
  91.       - seccomp:unconfined
  92.       - apparmor:unconfined
  93.     command: --innodb-buffer-pool-size=512M --transaction-isolation=READ-COMMITTED --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=512 --innodb-rollback-on-timeout=OFF --innodb-lock-wait-timeout=120
  94.     ## Never store database files on an unreliable device such as a USB flash drive, an SD card, or a shared network folder:
  95.     volumes:
  96.       - "./database:/var/lib/mysql" # DO NOT REMOVE
  97.     environment:
  98.       MARIADB_AUTO_UPGRADE: "1"
  99.       MARIADB_INITDB_SKIP_TZINFO: "1"
  100.       MARIADB_DATABASE: "photoprism"
  101.       MARIADB_USER: "photoprism"
  102.       MARIADB_PASSWORD: "insecure"
  103.       MARIADB_ROOT_PASSWORD: "insecure"</div>
复制代码


项目主页:
https://github.com/photoprism/photoprism




收藏
送赞 3
分享

发表回复

评论列表(6)

非常好,先让官方先适配!
塞装好的图,先不折腾,够用了
2024-9-26 09:25:18 回复
期待官方出个一键安装教程,,,
2024-9-27 09:00:09 回复
有点东西
2024-9-27 10:19:45 回复
支持支持
2024-9-30 09:13:52 回复
看着就头疼,之前在群晖装过一次,他的地图和人脸识别功能貌似不是特别好用
2024-9-30 10:29:03 回复
目前这只是替代方案,等官方相册应用吧。  详情 回复
2024-9-30 14:07
目前这只是替代方案,等官方相册应用吧。
2024-9-30 14:07:03 回复