PhotoPrism
源文章连接地址
步骤2:
创建项目目录, 创建一个目录来存放 PhotoPrism 的配置文件和数据文件
cd ~/photoprism
cd ~/photoprism
步骤3:创建 Docker Compose 文件
创建一个 docker-compose.yml 文件
*** PHOTOPRISM_ADMIN_PASSWORD 替换为你自己的管理员密码
version: '3.5'services:photoprism:image: photoprism/photoprism:latestcontainer_name: photoprismrestart: unless-stoppedsecurity_opt:- seccomp:unconfinedports:- "2342:2342"environment:PHOTOPRISM_ADMIN_PASSWORD: "YourPasswordHere" # 管理员密码PHOTOPRISM_UPLOAD_NSFW: "true" # 允许上传 NSFW 内容PHOTOPRISM_DEBUG: "false" # 禁用调试模式PHOTOPRISM_PUBLIC: "false" # 设置为私有模式PHOTOPRISM_READONLY: "false" # 禁用只读模式volumes:- "./data:/photoprism/storage" # 持久化存储路径- "./config:/photoprism/originals" # 配置文件路径
步骤4:启动 PhotoPrism 服务
步骤5:访问 PhotoPrism打开浏览器,访问 http://localhost:2342http://192.168.80.134:2342/登录用户名: admin 密码: docker-compose.yml中指定的密码
docker-compose up -d
步骤6:上传和管理照片数据库配置默认情况下,PhotoPrism 使用 SQLite 作为数据库。如果你需要更高的性能和并发能力,可以切换到 MySQL 或 PostgreSQL。 在 docker-compose.yml 文件中添加数据库服务并修改 PhotoPrism 的环境变量services:db:image: mysql:8.0container_name: photoprism-dbrestart: unless-stoppedenvironment:MYSQL_ROOT_PASSWORD: "YourDbRootPassword"MYSQL_DATABASE: "photoprism"MYSQL_USER: "photoprism"MYSQL_PASSWORD: "YourDbPassword"volumes:- "photoprism-db-data:/var/lib/mysql"photoprism:environment:PHOTOPRISM_DATABASE_DRIVER: "mysql"PHOTOPRISM_DATABASE_SERVER: "db:3306"PHOTOPRISM_DATABASE_NAME: "photoprism"PHOTOPRISM_DATABASE_USER: "photoprism"PHOTOPRISM_DATABASE_PASSWORD: "YourDbPassword"HTTPS 配置为了确保数据传输的安全性,可以配置 HTTPS。可以使用 Nginx 作为反向代理,配置示例如下: services:nginx:image: nginx:latestcontainer_name: photoprism-nginxrestart: unless-stoppedports:- "443:443"- "80:80"volumes:- "./nginx.conf:/etc/nginx/nginx.conf"- "./certs:/etc/nginx/certs" 创建一个 nginx.conf 文件,配置 Nginx 反向代理和 HTTPS 证书:server {listen 80;server_name yourdomain.com;return 301 https://$host$request_uri;}server {listen 443 ssl;server_name yourdomain.com;ssl_certificate /etc/nginx/certs/fullchain.pem;ssl_certificate_key /etc/nginx/certs/privkey.pem;location / {proxy_pass http://photoprism:2342;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;}} 将 yourdomain.com 替换为你的域名,并将 SSL 证书文件放到 certs 目录下