====== LibrePhotos ======
Galería y gestión de fotos.
* [[https://github.com/LibrePhotos/librephotos|Repositorio oficial]] (GitHub)
LibrePhotos es exigente en recursos
===== Características =====
* Generación automática de "eventos" en álbumes como "Sábado de fiesta"
* Etiquetas algunas caras manualmente y entreta un clasificador de caras para etiquetar el resto.
* Ver fotos agrupadas por la gente que aparece en ellas.
* Mostrar fotos en un mapa.
* Ver fotos agrupadas por fecha
* Detección de objetos en las fotos, permitiendo marcarlos como objetos "buscables".
* Búsqueda de fotos por ubicación
* Creación de álbumes personalizados.
* Autenticación mediante JWT
===== Instalación =====
==== Docker ====
En el fichero ''.env'' se realiza la configuración que luego se le pasará al ''docker-compose.yml'':
# This file contains all the things you need to change to set up your Libre Photos.
# There are a few items that must be set for it to work such as the location of your photos.
# After the mandatory entry's there are some optional ones that you may set.
# Start of mandatory changes.
# Location of your photos.
myPhotos=./photos
# Comma delimited list of patterns to ignore (e.g. "@eaDir,#recycle" for synology devices)
skipPatterns=
# The location where you would like to store the log files. The full path must exist as it will not be created for you.
logLocation=./app/logs/
# Protected media directory. This is where we store some files like the thumbnails of your images.
proMedia=./app/media
# Where shall we store the cache files.
cachedir=./app/cache
# Where shall we store the database.
dbLocation=./app/data
# Username for the Administrator login.
userName=admin
# Password for the administrative user you set above.
userPass=admin
# Email for the administrative user.
adminEmail=admin@example.com
# Secret Key. Get one here https://rb.gy/emgmwo (Shortened random.org link)
shhhhKey=D2VymuMn2gAhx4tmAawd
# Time zone https://docs.djangoproject.com/en/3.1/ref/settings/#std:setting-TIME_ZONE
timeZone=Europe/Madrid
#What port should Libre Photos be accessed at (Default 3000)
httpPort=3000
# ------------------------------------------------------------------------------------------------
# Wow, we are at the optional now. Pretty easy so far. You do not have to change any of the below.
# Do you want to see on a map where all your photos where taken (if a location is stored in your photos)
# Get a Map box API Key https://account.mapbox.com/auth/signup/
mapApiKey=
# What branch should we install the stable or the development branch (dev)
# NOTE: only the dev branch is currently supported as we are working towards the stable version.
tag=dev
# You can set the database name. Did you know Libre Photos was forked from OwnPhotos?
dbName=librephotos
# Here you can change the user name for the database.
dbUser=docker
# The password used by the database.
dbPass=AaAa1234
# This setting can dramatically affect how resource-intensive and the speed of scanning photos
# A positive integer generally in the 2-4 x $(NUM_CORES) range.
# You’ll want to vary this a bit to find the best for your particular workload.
# Each worker needs 800MB of RAM. Change at your own will. Default is 2.
gunniWorkers=2
# ---------------------------------------------------------------------------------------------
# If you are not a developer ignore the following parameters: you will never need them.
# Where shall we store the backend and frontend code files.
codedir=./librephotos/code
Ejemplo de fichero ''docker-compose.yml'':
version: '3.3'
services:
proxy:
image: reallibrephotos/librephotos-proxy:${tag}
restart: always
volumes:
- ${myPhotos}:/data
- ${proMedia}:/protected_media
ports:
- ${httpPort}:80
depends_on:
- backend
- frontend
db:
image: postgres
restart: always
environment:
- POSTGRES_USER=${dbUser}
- POSTGRES_PASSWORD=${dbPass}
- POSTGRES_DB=${dbName}
volumes:
- ${dbLocation}:/var/lib/postgresql/data
command: postgres -c fsync=off -c synchronous_commit=off -c full_page_writes=off -c random_page_cost=1.0
frontend:
image: reallibrephotos/librephotos-frontend:${tag}
restart: always
depends_on:
- backend
backend:
image: reallibrephotos/librephotos:${tag}
restart: always
volumes:
- ${myPhotos}:/data
- ${proMedia}:/protected_media
- ${logLocation}:/logs
- ${cachedir}:/root/.cache
environment:
- SECRET_KEY=${shhhhKey}
- BACKEND_HOST=backend
- ADMIN_EMAIL=${adminEmail}
- ADMIN_USERNAME=${userName}
- ADMIN_PASSWORD=${userPass}
- DB_BACKEND=postgresql
- DB_NAME=${dbName}
- DB_USER=${dbUser}
- DB_PASS=${dbPass}
- DB_HOST=db
- DB_PORT=5432
- REDIS_HOST=redis
- REDIS_PORT=6379
- MAPBOX_API_KEY=${mapApiKey}
- TIME_ZONE=${timeZone}
- WEB_CONCURRENCY=${gunniWorkers}
- SKIP_PATTERNS=${skipPatterns}
- DEBUG=0
# Wait for Postgres
depends_on:
- db
redis:
image: redis
restart: always
Una vez creados los contenedores, las credenciales por defecto son:
* Usuario: ''admin''
* Contraseña: ''admin''