Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Docker - Next] - Imposible escribir en directorio de caché '/home/.mu7d' #42

Open
RiQuY opened this issue Nov 14, 2024 · 2 comments
Open

Comments

@RiQuY
Copy link

RiQuY commented Nov 14, 2024

Descripción

He intentado desplegar movistar-u7d desde la rama next usando Docker y al iniciar el contenedor recibo varias veces el error [TVG] [ ERROR] Imposible escribir en directorio de caché '/home/.mu7d' y [U7D] [ ERROR] Cannot write logs to /home/mu7d.log, después de esto el contenedor se entra en un bucle de reinicios generarndo el mismo error una y otra vez y si lo apago/levanto vuelve a ocurrir lo mismo.

Código que genera el error:

await aio_os.makedirs(progs_path)

Los únicos cambios significativos que he realizado en el despliegue han sido cambiar el nombre del contenedor por movistar-u7d y el archivo .env para Docker.

Log completo: https://gist.github.com/RiQuY/c43b9da67b083e0085f8f327f02cd9b3

Configuración

Los archivos que he usado para desplegarlo han sido los siguientes (presentes en la rama next):

docker-compose.yml

services:
  movistar-u7d:
  # build:
  #   context: .
  #   args:
  #     BUILD_TYPE: full
  #     BUILDKIT_INLINE_CACHE: 1
  #     DOCKER_BUILDKIT: 1
  #     COMPOSE_DOCKER_CLI_BUILD: 1
  # image: registry.marcet.info/javier/movistar-u7d:latest
  # image: registry.marcet.info/javier/movistar-u7d:stable
  # image: registry.marcet.info/javier/movistar-u7d:stable-slim
    image: registry.marcet.info/javier/movistar-u7d:unstable
  # image: registry.marcet.info/javier/movistar-u7d:unstable-slim
    container_name: movistar-u7d
    cap_add:
      - NET_ADMIN
      - NET_BROADCAST
      - SYS_ADMIN
      - SYS_NICE
    dns: 172.26.23.3
    dns_search: ""
    environment:
      - LAN_IP
    restart: ${RESTART_POLICY}
    network_mode: host
  # devices:
  #   - /dev/dri:/dev/dri
    volumes:
      - /etc/localtime:/etc/localtime
  #   - ./:/app
  #   - ${RECORDINGS}:${RECORDINGS}
  #   - ${RECORDINGS_TMP}:${RECORDINGS_TMP}
      - ${U7D_HOME}:/home
  # cpu_shares: 8192
  # cpus: 4
  # mem_limit: 4gb
  # memswap_limit: 4gb
  # healthcheck:
  #   test: nc -zv $LAN_IP 8888
  #   interval: 10s
  #   timeout: 5s
  #   retries: 5

# vim: et ci pi sts=2 sw=2 ts=2

.env

LAN_IP=

RECORDINGS=
RECORDINGS_TMP=
U7D_HOME=./home

RESTART_POLICY=unless-stopped

NOTA: El directorio ./home se corresponde a /media/Datos/Contenedores/data/movistar-u7d/home Docker se encarga automáticamente de enlazarla, no debería dar problemas ya que esta manera de referirme a las rutas las he usado en otros servicios que tengo levantados como Jellyfin.

Información del sistema

= OS/Debian information
Distributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm

= openmediavault information
Release: 7.4.11-1
Codename: Sandworm

= Hostname
openmediavault

= Locale
es_ES.UTF-8

= System information
Linux openmediavault 6.8.12-4-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-4 (2024-11-06T15:04Z) x86_64 GNU/Linux

docker-ce 5:27.3.1-1debian.12bookworm
docker-compose-plugin 2.29.7-1debian.12bookworm

Otra información

He visto que en el Dockerfile de la rama next y en el docker-compose se hace referencia a Jellyfin y a /dev/dri:/dev/dri ¿es necesario que de acceso a la GPU integrada de Intel para que movistar-u7d funcione correctamente o son configuraciones comentadas a las que no debo hacer mucho caso?

También he probado a incluir en el docker compose los siguientes parametros para intentar descartar un error de permisos pero recibo los mismo errores.

environment:
  - LAN_IP
  - PUID=1001
  - PGID=100
  - TZ=Europe/Madrid

Asumo que no puedo modificar los archivos del contenedor como mu7d.conf ya que al estar reiniciandose todo el rato no me deja conectarme al mismo desde una shell.

@RiQuY RiQuY changed the title [Docker - Nex] - Imposible escribir en directorio de caché '/home/.mu7d' [Docker - Next] - Imposible escribir en directorio de caché '/home/.mu7d' Nov 14, 2024
@jmarcet
Copy link
Owner

jmarcet commented Nov 16, 2024

Hola,

En la rama next casi todo se controla desde el fichero de configuración mu7d.conf. Las únicas variables que usa el docker son las que aparecen en el fichero env-example:

LAN_IP=

RECORDINGS=
RECORDINGS_TMP=
U7D_HOME=

RESTART_POLICY=

En caso de que quieras usar el usuario y grupo que tienes en el .env, los debes pasar al mu7d.conf, como UID y GID. Por defecto usa los correspondientes a nobody y nogroup, es decir, 65534 para ambos.

Te recomiendo usar el mu7d.conf que viene en el repo para empezar. Lo copias a /media/Datos/Contenedores/data/movistar-u7d/home y le haces los ajustes que necesites.

Si quisieras dejar los valores por defecto, te haría falta:

chown -R 65534:65534 /media/Datos/Contenedores/data/movistar-u7d/home

Asumo que no puedo modificar los archivos del contenedor como mu7d.conf ya que al estar reiniciandose todo el rato no me deja conectarme al mismo desde una shell.

Bueno, la idea de U7D_HOME es usar un directorio al que puedes acceder desde fuera del docker. El mu7d.conf lo tendrás que crear/copiar tú, no lo va a generar el mu7d. Si no existe, usará los valores por defecto.

@RiQuY
Copy link
Author

RiQuY commented Nov 17, 2024

Buenas.

Parece que con el comando chown -R 1001:100 /media/Datos/Contenedores/appdata/movistar-u7d/home y añadiendo manualmente el mu7d.conf el contenedor es capaz de continuar con el despliegue y descargar los canales.

Me gustaría sugerir la posibilidad de que el contenedor reconozca las variables PUID y PGID ya sea en el .env o en el docker-compose.yml, con ese cambio no sería necesario realizar el chown ya que el contenedor crearia la estructura de carpetas con los permisos requeridos inicialmente.

Aunque luego haya que crear el mud7.conf manualmente, con esto último no veo ningún problema.

Gracias por la ayuda, la issue se puede marcar como resuelta.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants