Files
homelab-optimized/docs/services/individual/photoprism.md
Gitea Mirror Bot fb00a325d1
Some checks failed
Documentation / Build Docusaurus (push) Failing after 5m14s
Documentation / Deploy to GitHub Pages (push) Has been skipped
Sanitized mirror from private repository - 2026-04-18 11:19:59 UTC
2026-04-18 11:19:59 +00:00

7.6 KiB

Photoprism

🟡 Media Service

📋 Service Overview

Property Value
Service Name photoprism
Host anubis
Category Media
Difficulty 🟡
Docker Image photoprism/photoprism:latest
Compose File anubis/photoprism.yml
Directory anubis

🎯 Purpose

photoprism is a media management and streaming service that helps organize and serve your digital media content.

🚀 Quick Start

Prerequisites

  • Docker and Docker Compose installed
  • Basic understanding of REDACTED_APP_PASSWORD
  • Access to the host system (anubis)

Deployment

# Navigate to service directory
cd anubis

# Start the service
docker-compose up -d

# Check service status
docker-compose ps

# View logs
docker-compose logs -f photoprism

🔧 Configuration

Docker Compose Configuration

container_name: PhotoPrism
cpu_shares: 1024
depends_on:
  db:
    condition: service_started
environment:
  PHOTOPRISM_ADMIN_PASSWORD: "REDACTED_PASSWORD"
  PHOTOPRISM_ADMIN_USER: vish
  PHOTOPRISM_APP_MODE: standalone
  PHOTOPRISM_AUTH_MODE: password
  PHOTOPRISM_DATABASE_DRIVER: mysql
  PHOTOPRISM_DATABASE_NAME: photoprism
  PHOTOPRISM_DATABASE_PASSWORD: "REDACTED_PASSWORD"
  PHOTOPRISM_DATABASE_SERVER: photoprism-db:3306
  PHOTOPRISM_DATABASE_USER: photoprism-user
  PHOTOPRISM_DETECT_NSFW: false
  PHOTOPRISM_DISABLE_CHOWN: false
  PHOTOPRISM_DISABLE_CLASSIFICATION: false
  PHOTOPRISM_DISABLE_FACES: false
  PHOTOPRISM_DISABLE_RAW: false
  PHOTOPRISM_DISABLE_SETTINGS: false
  PHOTOPRISM_DISABLE_TENSORFLOW: false
  PHOTOPRISM_DISABLE_WEBDAV: false
  PHOTOPRISM_EXPERIMENTAL: false
  PHOTOPRISM_GID: 1000
  PHOTOPRISM_HTTP_COMPRESSION: gzip
  PHOTOPRISM_JPEG_QUALITY: 100
  PHOTOPRISM_ORIGINALS_LIMIT: 5120
  PHOTOPRISM_RAW_PRESETS: false
  PHOTOPRISM_READONLY: false
  PHOTOPRISM_SITE_URL: http://localhost:2342/
  PHOTOPRISM_SPONSOR: true
  PHOTOPRISM_THUMB_FILTER: blackman
  PHOTOPRISM_UID: 1000
  PHOTOPRISM_UPLOAD_NSFW: true
  PHOTOPRISM_WORKERS: 2
healthcheck:
  test: wget --no-verbose --tries=1 --spider http://localhost:2342
hostname: photoprism
image: photoprism/photoprism:latest
mem_limit: 6g
ports:
- 2342:2342
restart: on-failure:5
security_opt:
- no-new-privileges:true
- seccomp:unconfined
- apparmor:unconfined
user: 1000:1009
volumes:
- /home/vish/docker/photoprism/import:/photoprism/import:rw
- /home/vish/docker/photoprism/storage:/photoprism/storage:rw
- /home/vish/docker/photoprism/originals:/photoprism/originals:rw
working_dir: /photoprism

Environment Variables

Variable Value Description
PHOTOPRISM_ADMIN_USER vish Configuration variable
PHOTOPRISM_ADMIN_PASSWORD ***MASKED*** Administrator password
PHOTOPRISM_UID 1000 Configuration variable
PHOTOPRISM_GID 1000 Configuration variable
PHOTOPRISM_AUTH_MODE password Configuration variable
PHOTOPRISM_SITE_URL http://localhost:2342/ Configuration variable
PHOTOPRISM_ORIGINALS_LIMIT 5120 Configuration variable
PHOTOPRISM_HTTP_COMPRESSION gzip Configuration variable
PHOTOPRISM_READONLY False Configuration variable
PHOTOPRISM_EXPERIMENTAL False Configuration variable
PHOTOPRISM_DISABLE_CHOWN False Configuration variable
PHOTOPRISM_DISABLE_WEBDAV False Configuration variable
PHOTOPRISM_DISABLE_SETTINGS False Configuration variable
PHOTOPRISM_DISABLE_TENSORFLOW False Configuration variable
PHOTOPRISM_DISABLE_FACES False Configuration variable
PHOTOPRISM_DISABLE_CLASSIFICATION False Configuration variable
PHOTOPRISM_DISABLE_RAW False Configuration variable
PHOTOPRISM_RAW_PRESETS False Configuration variable
PHOTOPRISM_JPEG_QUALITY 100 Configuration variable
PHOTOPRISM_DETECT_NSFW False Configuration variable
PHOTOPRISM_UPLOAD_NSFW True Configuration variable
PHOTOPRISM_SPONSOR True Configuration variable
PHOTOPRISM_DATABASE_DRIVER mysql Configuration variable
PHOTOPRISM_DATABASE_SERVER photoprism-db:3306 Configuration variable
PHOTOPRISM_DATABASE_NAME photoprism Configuration variable
PHOTOPRISM_DATABASE_USER photoprism-user Configuration variable
PHOTOPRISM_DATABASE_PASSWORD ***MASKED*** Configuration variable
PHOTOPRISM_WORKERS 2 Configuration variable
PHOTOPRISM_THUMB_FILTER blackman Configuration variable
PHOTOPRISM_APP_MODE standalone Configuration variable

Port Mappings

Host Port Container Port Protocol Purpose
2342 2342 TCP Service port

Volume Mappings

Host Path Container Path Type Purpose
/home/vish/docker/photoprism/import /photoprism/import bind Data storage
/home/vish/docker/photoprism/storage /photoprism/storage bind Data storage
/home/vish/docker/photoprism/originals /photoprism/originals bind Data storage

🌐 Access Information

Service ports: 2342:2342

🔒 Security Considerations

  • Security options configured
  • Non-root user configured

📊 Resource Requirements

No resource limits configured

  • Minimum RAM: 512MB
  • Recommended RAM: 1GB+
  • CPU: 1 core minimum
  • Storage: Varies by usage

Resource Monitoring

Monitor resource usage with:

docker stats

🔍 Health Monitoring

Health check configured Test Command: wget --no-verbose --tries=1 --spider http://localhost:2342

Manual Health Checks

# Check container health
docker inspect --format='{{.State.Health.Status}}' CONTAINER_NAME

# View health check logs
docker inspect --format='{{range .State.Health.Log}}{{.Output}}{{end}}' CONTAINER_NAME

🚨 Troubleshooting

Common Issues

Service won't start

  • Check Docker logs: docker-compose logs service-name
  • Verify port availability: netstat -tulpn | grep PORT
  • Check file permissions on mounted volumes

Can't access web interface

  • Verify service is running: docker-compose ps
  • Check firewall settings
  • Confirm correct port mapping

Performance issues

  • Monitor resource usage: docker stats
  • Check available disk space: df -h
  • Review service logs for errors

Media not showing

  • Check media file permissions
  • Verify volume mounts are correct
  • Scan media library manually

Useful Commands

# Check service status
docker-compose ps

# View real-time logs
docker-compose logs -f photoprism

# Restart service
docker-compose restart photoprism

# Update service
docker-compose pull photoprism
docker-compose up -d photoprism

# Access service shell
docker-compose exec photoprism /bin/bash
# or
docker-compose exec photoprism /bin/sh

📚 Additional Resources

  • Official Documentation: Check the official docs for photoprism
  • Docker Hub: photoprism/photoprism:latest
  • Community Forums: Search for community discussions and solutions
  • GitHub Issues: Check the project's GitHub for known issues

Services REDACTED_APP_PASSWORD photoprism:

  • Plex
  • Jellyfin
  • Radarr
  • Sonarr
  • Bazarr

This documentation is auto-generated from the Docker Compose configuration. For the most up-to-date information, refer to the official documentation and the actual compose file.

Last Updated: 2025-11-17
Configuration Source: anubis/photoprism.yml