超强个人云相册工具
一、前因
看到个东西,不把玩一下手痒;听说这个东西吃内存,那我8G树莓派也不会让它太好过;进入官网直接还有树莓派的安装教程,看来是天然支持的;看了下语言是GO!!!,三个感叹号表明我的态度。
那不得好好盘它——photoprism,一款照片管理器,支持时间、地点、还有AI自动识别照片类型。
这不就跟手机上的相册如出一辙吗?那搭建好了,不是就有一个“云手机相册”了。
既然是云,那分享照片还需要再一个个点?还只能点9张,忘了点原图你还得撤回再点,而且你还会找不到点到哪了,而且图片过大你还不能发送。
嗯,说得没错,我只是单纯的抱怨某款软件罢了。
二、安装
官方都推荐用docker-compose安装,这不撞到我枪口上了。
官方文档在这:https://docs.photoprism.app/getting-started/docker-compose/
先建个目录把官方的docker-compose.yml文件撸下来。
# 新建目录,进入目录
mkdir /opt/photoprism && cd /opt/photoprism
# 拉取官方docker-compose
wget https://dl.photoprism.app/docker/arm64/docker-compose.yml
打开之后你会发现,这啥玩意,注释密密麻麻的,做个好事,优化一下吧。
version: '3.5'
services:
photoprism:
image: photoprism/photoprism:latest
container_name: photoprism
restart: unless-stopped
security_opt:
- seccomp:unconfined
- apparmor:unconfined
ports:
- "2342:2342" # 端口映射
environment:
PHOTOPRISM_ADMIN_PASSWORD: "123456789" # 密码
PHOTOPRISM_SITE_URL: "http://localhost:2342/" # 访问链接
PHOTOPRISM_ORIGINALS_LIMIT: 6000 # 最大源文件限制,单位是MB
PHOTOPRISM_HTTP_COMPRESSION: "gzip" # 是否压缩,提高速度,值:none,gzip
PHOTOPRISM_WORKERS: 2 # 索引工作者的数量
PHOTOPRISM_DEBUG: "false" # debug模式
PHOTOPRISM_PUBLIC: "false" # 是否公共
PHOTOPRISM_READONLY: "false" # 是否只读
PHOTOPRISM_EXPERIMENTAL: "false" # 是否禁止实验功能
PHOTOPRISM_DISABLE_CHOWN: "false" # 是否禁止权限更新
PHOTOPRISM_DISABLE_WEBDAV: "false" # 是否禁止webdav
PHOTOPRISM_DISABLE_SETTINGS: "false" # 是否禁止网页设置
PHOTOPRISM_DISABLE_TENSORFLOW: "false" # 是否禁止AI
PHOTOPRISM_DISABLE_FACES: "false" # 是否禁止人脸识别
PHOTOPRISM_DISABLE_CLASSIFICATION: "false" # 是否禁止图像分类
PHOTOPRISM_DARKTABLE_PRESETS: "true" # 是否并发
# PHOTOPRISM_FFMPEG_ENCODER: "h264_v4l2m2m" # 视频编码(默认值:libx264)
PHOTOPRISM_FFMPEG_BUFFERS: "64" # 视频缓存(默认值:32)
PHOTOPRISM_DETECT_NSFW: "false" # 照片标记为隐私
PHOTOPRISM_UPLOAD_NSFW: "true" # 允许不安全的上传
# PHOTOPRISM_DATABASE_DRIVER: "sqlite" # sqllite数据库
PHOTOPRISM_DATABASE_DRIVER: "mysql" # mysql数据库
PHOTOPRISM_DATABASE_SERVER: "mariadb:3306" # 数据库地址
PHOTOPRISM_DATABASE_NAME: "photoprism" # 数据库名
PHOTOPRISM_DATABASE_USER: "root" # 用户名
PHOTOPRISM_DATABASE_PASSWORD: "123456789" # 密码
PHOTOPRISM_SITE_TITLE: "闲余悟道" # 网站title
PHOTOPRISM_SITE_CAPTION: "" # 网站标题
PHOTOPRISM_SITE_DESCRIPTION: "个人照片" # 网站描述
PHOTOPRISM_SITE_AUTHOR: "癫狂傲骨" # 网站作者
# 用户权限
# PHOTOPRISM_UID: 1000
# PHOTOPRISM_GID: 1000
# PHOTOPRISM_UMASK: 0000
HOME: "/photoprism"
## 硬件设备
# devices:
# - "/dev/video11:/dev/video11" # Video4Linux (h264_v4l2m2m)
working_dir: "/photoprism" # 工作目录
volumes:
## 照片地址
- "/data/photoprism:/photoprism/originals" # 挂载路径
## 多路径挂载
# - "/mnt/Family:/photoprism/originals/Family" # [folder 1]:/photoprism/originals/[folder 1]
# - "/mnt/Friends:/photoprism/originals/Friends" # [folder 2]:/photoprism/originals/[folder 2]
## 这个就是如果你挂载的路径有文件他会自动导入,看需启用
# - "~/Import:/photoprism/import"
## 缓存路径
- "/data/photoprism-storage:/photoprism/storage"
## 数据库配置,以前建好了,只要加入数据库网络即可,不知道的看以前文章
# mariadb:
# restart: unless-stopped
# image: arm64v8/mariadb:10.6 # this mariadb image runs on ARM64-based devices only
# security_opt:
# - seccomp:unconfined
# - apparmor:unconfined
# command: mysqld --innodb-buffer-pool-size=128M --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
# ## Never store database files on an unreliable device such as a USB flash drive or a shared network folder:
# volumes:
# - "./database:/var/lib/mysql" # Important, don't remove
# environment:
# MYSQL_ROOT_PASSWORD: insecure
# MYSQL_DATABASE: photoprism
# MYSQL_USER: photoprism
# MYSQL_PASSWORD: insecure
# 配置自动升级
watchtower:
restart: unless-stopped
image: containrrr/watchtower
environment:
WATCHTOWER_CLEANUP: "true"
WATCHTOWER_POLL_INTERVAL: 7200 # checks for updates every two hours
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
# - "~/.docker/config.json:/config.json" # Optional, for authentication if you have a Docker Hub account
networks:
default:
external: true
name: dbnet
docker-compose up -d
启动,居然打不开,查看日志,好吧,数据库没有,真不智能,去以前建好的adminer中建立数据库。
三、基本操作
输入IP+2342访问,成功,输入123456789(对应你yml文件中的密码)
登录之后,第一步自然是改成中文啦,见下图
先建个相册,甩几张图片瞧瞧。
手机照片会自动把地点时间识别出来,类似手机那一套,都是中文,没啥看不懂的,为了自身安全,我就不放图片了。
如果是从文件管理器中直接复制进photoprism目录的,需要重新索引一下才会显示。
如果比较多,建议使用命令行操作:进入yml文件夹,运行下面命令。
docker-compose exec photoprism photoprism index --cleanup
手机端官方文档是用photosync这款软件,下载好后使用webdav连接上photoprism就可以了。软件全英文,还收费$3.99,不贵,有需要的自己看着来。
四、总结
要是这么些年的照片视频全给丢一份过来,渲染出来还是挺有期待感的,也可以借此验证一下go语言的超快特性。
但,但是,太费时了,而且不小心可能还会掉入回忆的陷阱,还是留着耄耋之年再做这件事吧,说不定以后有更先进的工具了呢。
人生还是值得憧憬的。
收工!