Instalación¶
Esta página es para la persona que va a tener Evey funcionando para toda la casa. Necesitas un ordenador o un NAS que esté siempre encendido, con Docker instalado. Son tres pasos:
- Guardar un archivo, el archivo compose.
- Arrancar Evey con un comando.
- Abrir Evey en un navegador.
Después, el asistente de Primera configuración se encarga del resto.
Evey funciona en un solo contenedor. Su base de datos y su motor de búsqueda
van dentro, así que no hay nada más que instalar, ningún archivo .env que
escribir y ningún ajuste de memoria o de procesador.
Usa el archivo de esta página, no el del repositorio Git
El docker-compose.yml que está en la raíz del repositorio Git es otra
instalación, para desarrolladores e instalaciones avanzadas: necesita un
archivo .env y arranca servicios adicionales. Se explica en
Despliegues avanzados.
Qué necesitas¶
- Un ordenador o un NAS que esté siempre encendido, con un procesador x86-64 (Intel o AMD). Las máquinas ARM64 necesitan una etiqueta de versión, que todavía no existe: consulta Máquinas ARM.
- Docker con Compose v2. El comando es
docker compose, con un espacio, y no el antiguodocker-compose. - Tu carpeta de archivos: donde están tus películas, series, música o fotos.
- Algo de espacio en disco para los datos de Evey (base de datos,
imágenes, índice de búsqueda). El archivo compose de abajo los guarda en
una carpeta llamada
evey-data, junto al archivo.
Evey responde en HTTP simple dentro de la red de tu casa. Para ver algo desde fuera de casa hace falta HTTPS, que puedes añadir más adelante: Acceso remoto y HTTPS.
Paso 1: guardar el archivo compose¶
Crea una carpeta para Evey, por ejemplo evey, y guarda dentro este archivo
con el nombre docker-compose.yml. Cambia una sola línea: la ruta de tus
archivos (la línea marcada con el 5). Por ejemplo, si tus películas están en
/srv/media, la línea queda así: - /srv/media:/media.
services:
evey:
image: eveyproject/evey:latest # (1)!
container_name: evey-server
ports:
- "9091:9091" # (2)!
volumes:
- ./evey-data:/data # (3)!
- evey-cache:/cache # (4)!
- /path/to/your/media:/media # (5)!
stop_grace_period: 60s # (6)!
restart: unless-stopped
volumes:
evey-cache:
- La versión de Evey.
latestes la versión publicada más reciente. Para quedarte en una versión concreta, usa una etiqueta de versión como0.1.0o una etiquetasha-<commit>: consulta Copias de seguridad y actualizaciones. - El puerto. El número de la izquierda es el que escribirás en el navegador
y en las apps. Deja
9091, salvo que otro programa ya lo use. - Los datos de Evey: base de datos, claves, contraseñas generadas, índice de búsqueda, imágenes, registros, copias de seguridad, plugins. Esta es la carpeta de la que hay que hacer copia de seguridad.
- Una caché de vídeo convertido, de fotos y de portadas de música
redimensionadas. Se puede borrar cuando quieras y se vuelve a llenar sola.
Las variantes de los pósters no están en ella: viven en
evey-data/artworks. - Tus archivos. Cambia
/path/to/your/mediapor la carpeta real. Dentro de Evey, esta carpeta se llama/media. Evey puede escribir en ella, y es a propósito: así Salud de medios puede reparar un archivo cuando se lo pides. Añade:roal final para dejarla en solo lectura: entonces Evey no puede escribir en ella y las reparaciones fallan. - Le da tiempo a la base de datos para pararse bien cuando el contenedor se detiene. Los 10 segundos que da Docker por defecto son poco para una colección grande.
Paso 2: arrancar Evey¶
En una terminal, dentro de la carpeta donde está el archivo:
Evey arranca en segundo plano. Para ver lo que está haciendo, ejecuta
docker compose logs -f evey; pulsa Ctrl+C para dejar de mirar, y Evey
sigue funcionando.
En el primer arranque, Evey crea sus contraseñas y su base de datos en
evey-data. No tienes que preparar nada.
Paso 3: abrir Evey en un navegador¶
La dirección es http://, luego la dirección de la máquina donde funciona
Docker, y luego :9091:
| Dónde está tu navegador | Dirección que hay que escribir |
|---|---|
| En la máquina donde funciona Docker | http://localhost:9091 |
| En otro ordenador o en un teléfono de casa | http:// + la dirección IP de la máquina donde funciona Docker + :9091, por ejemplo http://192.168.1.20:9091 |
| Fuera de casa | Todavía no. Hace falta HTTPS y una dirección pública: consulta Acceso remoto y HTTPS. |
Para saber la dirección IP de la máquina donde funciona Docker, mira la lista
de dispositivos conectados de tu router. También puedes ejecutar ip a en
Linux, ipconfig en Windows o ifconfig en macOS. Si cambiaste el puerto
en el paso 1, pon el número de la izquierda de la línea ports: en lugar de
9091.
La primera vez, la dirección abre el asistente de configuración. Sigue con la Primera configuración. Cuando termines el asistente, la misma dirección abrirá la página de inicio de sesión.
Apunta esta dirección
Todos en casa la van a necesitar. Las apps de Android y Android TV piden
exactamente esta dirección en su primera pantalla, con http:// y el
puerto: Conectar las aplicaciones.
Dónde están tus datos¶
| Ubicación | Qué contiene | ¿Se puede borrar? |
|---|---|---|
./evey-data |
Base de datos, claves, contraseñas generadas, índice de búsqueda, miniaturas de la barra de reproducción, imágenes, registros, copias de seguridad, plugins | No. Si la pierdes, pierdes todas las cuentas, el historial y los ajustes. La única excepción es meili/, que está dentro: es el índice de búsqueda, y el comando evey admin reindex-search lo vuelve a crear a partir de la base de datos. |
Volumen evey-cache |
Vídeo convertido, fotos y portadas redimensionadas | Sí. Se vuelve a llenar solo. |
| Tus carpetas de archivos | Tus archivos | Evey nunca los borra. Quitar un título en Evey lo quita de la biblioteca, no del disco. |
Evey solo escribe en tus carpetas de archivos en tres casos:
- una reparación que lanzas desde Salud de medios (el original se guarda como copia de seguridad);
- un subtítulo descargado de OpenSubtitles (se guarda en una carpeta
.subtitlesjunto a la película); - un pequeño archivo de prueba, que se borra justo después, para comprobar que Evey sigue viendo los archivos nuevos.
Cambios habituales¶
Cada uno de estos cambios ocupa unas pocas líneas en el mismo archivo.
Una segunda carpeta de archivos. Añade - /other/path:/media2 debajo de
volumes:. Una tercera sería /media3, y así sucesivamente.
Un segundo Evey en la misma máquina. Dale otro container_name y otros
puertos del anfitrión; si no, docker compose up se niega a arrancar (el
nombre ya está en uso).
Otro puerto. Cambia solo el número de la izquierda, por ejemplo
"8080:9091". Después escribe :8080 en el navegador y en las apps.
De quién son los archivos. Por defecto, Evey toma como suyo el
propietario de tu carpeta de archivos, para que las reparaciones puedan
escribir. Si prefieres elegirlo tú, añade PUID y PGID debajo de
environment:, con los números que dan id -u e id -g. El contenedor
arranca como root solo para aplicar esto; Evey en sí nunca funciona como
root.
Una tarjeta gráfica para convertir vídeo. Dale al contenedor acceso a la tarjeta: consulta Aceleración por hardware.
Qué versión ejecutas. La línea image: lo decide:
image: |
Qué obtienes |
|---|---|
eveyproject/evey:latest |
la versión más reciente; cada docker compose pull te lleva a la siguiente |
eveyproject/evey:0.1 |
el arreglo más reciente de esa línea menor (0.1.0, 0.1.1, ...), nunca una versión menor nueva |
eveyproject/evey:0.1.0 |
exactamente esa versión, hasta que cambies la línea |
eveyproject/evey:sha-<commit> |
una compilación exacta, la única etiqueta que nunca se mueve |
eveyproject/evey:master |
la rama de desarrollo, reconstruida en cada push: para probar, no para un servidor del que dependes |
Los números de versión siguen el versionado semántico y empiezan en
0.1.0; la línea 0.x es la beta pública. Para cambiar de versión, edita la
línea y luego docker compose pull && docker compose up -d; tus datos siguen en
./evey-data. La versión en ejecución aparece en Administración → Panel, en
/healthz y con docker exec evey-server evey version. Una etiqueta sin
sufijo es la imagen completa, con todos los entornos de ejecución de plugins
(Python, Node.js, PHP, Ruby y Lua); -nodejs y -lean son compilaciones más
ligeras con menos de ellos
(detalles).
Ya tienes un proxy inverso (un programa que pone HTTPS delante de tus servicios): consulta Acceso remoto y HTTPS.
En un NAS (Synology Container Manager, QNAP Container Station)
- Crea la carpeta
evey-dataantes del primer arranque. Estas interfaces se niegan a montar una carpeta que no existe, al contrario que la línea de comandos de Docker. No hace falta crear nada más. - Pon en
PUIDyPGIDel usuario del NAS al que pertenecen los archivos (id <usuario>por SSH; en Synology suele ser alrededor de1026, grupo100). Las carpetas compartidas de un NAS suelen pertenecer aroot, y Evey nunca toma ese usuario por su cuenta. - NAS Intel con Quick Sync: añade las líneas
devices:ygroup_add:que se explican en Aceleración por hardware.
Lo que Evey configura solo¶
Esto no lo tienes que configurar tú:
- Cuánto vídeo puede convertir el servidor a la vez. Mide la máquina en su primer momento tranquilo.
- La tarjeta gráfica. Evey detecta la tarjeta que le diste al contenedor y la comprueba con una conversión real.
- Cómo reproduce cada dispositivo un archivo. Se decide en cada reproducción: consulta Cómo elige Evey el modo de reproducción.
- El acceso desde fuera de casa. Cerrado hasta que le des al servidor una dirección pública.
Los ajustes que quizá quieras cambiar más adelante (nombre del servidor, horarios, límites, claves de API) están en el panel de administración, no en el archivo compose. Las pocas variables de entorno que existen aparecen en la Referencia de configuración.