Favicon of LibrePhotos

LibrePhotos

Manage your entire photo library on your own server. Get powerful AI organization, support for all file types, and access your memories from any device.

Take full control of your photo collection with this self-hosted, open-source management service. It provides the advanced features of commercial cloud services without compromising your privacy. Your photos and videos stay on your own server, giving you complete ownership of your personal data.

The system is powered by AI to help you organize your memories intelligently. It offers broad compatibility, ensuring you can manage all your media in one place. Key capabilities include:

  • Universal Access: View your library from any device, whether it's a phone, tablet, or computer.
  • Extensive File Support: Handles all major file formats, including RAW images, HEIC/HEIF, and videos.
  • AI-Powered Organization: Leverages artificial intelligence to sort and manage your photo library effectively.

Directory Structure

librephotos
data
cache
db
logs
photos
protected_media
redis
.env
docker-compose.yml

docker-compose.yml

services:
  proxy:
    image: reallibrephotos/librephotos-proxy:latest
    container_name: librephotos-proxy
    restart: unless-stopped
    ports:
      - "3000:80"
    depends_on:
      - backend
      - frontend
    volumes:
      - ./data/protected_media:/protected_media

  db:
    image: postgres:13
    container_name: librephotos-db
    restart: unless-stopped
    environment:
      - POSTGRES_USER=${DB_USER}
      - POSTGRES_PASSWORD=${DB_PASS}
      - POSTGRES_DB=${DB_NAME}
    volumes:
      - ./data/db:/var/lib/postgresql/data
    command: postgres -c shared_buffers=256MB -c max_connections=200

  frontend:
    image: reallibrephotos/librephotos-frontend:latest
    container_name: librephotos-frontend
    restart: unless-stopped

  backend:
    image: reallibrephotos/librephotos:latest
    container_name: librephotos-backend
    restart: unless-stopped
    volumes:
      - ./data/photos:/data
      - ./data/protected_media:/protected_media
      - ./data/logs:/logs
      - ./data/cache:/root/.cache
    environment:
      - SECRET_KEY=${SECRET_KEY}
      - BACKEND_HOST=librephotos-backend
      - ADMIN_EMAIL=${ADMIN_EMAIL}
      - ADMIN_USERNAME=${ADMIN_USERNAME}
      - ADMIN_PASSWORD=${ADMIN_PASSWORD}
      - DB_BACKEND=postgresql
      - DB_NAME=${DB_NAME}
      - DB_USER=${DB_USER}
      - DB_PASS=${DB_PASS}
      - DB_HOST=db
      - DB_PORT=5432
      - REDIS_HOST=redis
      - REDIS_PORT=6379
      - MAPBOX_API_KEY=${MAPBOX_API_KEY}
      - TZ=UTC
    depends_on:
      - db
      - redis

  image-similarity:
    image: reallibrephotos/image-similarity:latest
    container_name: librephotos-image-similarity
    restart: unless-stopped

  redis:
    image: redis:6
    container_name: librephotos-redis
    restart: unless-stopped
    volumes:
      - ./data/redis:/data

.env

DB_USER=librephotos
DB_PASS=your_secure_database_password
DB_NAME=librephotos
SECRET_KEY=your_super_secret_key_here
ADMIN_EMAIL=admin@example.com
ADMIN_USERNAME=admin
ADMIN_PASSWORD=your_secure_admin_password
MAPBOX_API_KEY=
Categories:

Share:

Ad
Favicon

 

  
 

Similar to LibrePhotos

Favicon

 

  
  
Favicon

 

  
  
Favicon