Permiso/archivo de configuración del contenedor del servidor Synapse/matrix denegado

Permiso/archivo de configuración del contenedor del servidor Synapse/matrix denegado

Respuesta publicada por mí a continuación, todavía no puedo aceptar mi propia respuesta

Estoy trabajando en un cliente de chat. Para el desarrollo utilizo una configuración de Docker que utiliza un comando "generar" para crear un archivo de configuración que puedes ajustar y usar para iniciar el servicio real. En mi escritorio funciona bien, sin embargo, cuando intento ejecutarlo en una respberry o en un disco duro separado en mi computadora portátil, arroja un error de controlador de archivos en el proceso de compilación que indica que se ha denegado el permiso.

Puede que sea un completo novato aquí, pero cambié el permiso del punto de montaje de la carpeta en mi computadora portátil y Raspberry tiene permisos establecidos en la carpeta.

Docker también está configurado para ejecutarse sin escribir sudo para cada comando.

Aquí están los códigos de permiso para el archivo de configuración que funciona y el que no funciona.

# Auto generated, working local
-rwxrwxrwx 1 root root 103443 <date> <filename>
# Auto generated not working pi and laptop
-rw-r--r-- 1 991 991 106030 <date> <filename>

¿Simplemente no estoy configurando correctamente mis discos duros? Recibo este error en mi pi si está en la partición predeterminada del sistema operativo o no. Puedo iniciar y servir django con proxy inverso sin problemas.

El servicio de chat que estoy construyendo es Matrix/Synapse. Aquí está la carpeta acoplable en el repositorio del servidor Synapse con la configuración básica. El archivo que genera problemas es homeserver.yml que se genera a partir de:

docker-compose run --rm synapse generate

Respuesta1

En realidad, no es una travesura de permisos de Linux en la raíz.

Esto podría haber sido un efecto secundario del envío más reciente del repositorio de Synapse Docker, ya que esto estaba sucediendo en varios dispositivos para mí. Lo resolví especificando yo mismo una parte de la configuración manual de Docker. La solución podría resultar útil para otros problemas relacionados con la configuración.

Lo resolvió, la solución exacta probablemente podría aplicarse de una mejor manera.

Guión:

Generar una configuración parasinapsisservidor que se utilizará para crear un contenedor acoplable para Synapse. El objetivo es utilizar para el desarrollo de un matrizcliente.

Asunto:

Después de la creación exitosa de la configuración ('homeserver.yaml'), la compilación de Synapse usando esa configuración arrojaría un error de permiso con un seguimiento de pila de Python que indica que no se puede leer el archivo (dentro del contenedor), el resultado service exit 1y no docker logs service.

Solución:

Algunas de estas configuraciones se pueden establecer usando variables env. Consulte el archivo Léame de Synapse. Después de revisarmatriz/sinapsisDocker Repo Noté un historial de actualizaciones reciente y frecuente. O mi sistema lo arruinó o hay un problema en la configuración reciente del contenedor. Así que yo mismo hice algunas de las cosas normalmente automatizadas.

  • Creó las carpetas que usa Synapse con conf ('homeserver.yml'). Si usa bind mount (como en la página de repositorio), el volumen de la ventana acoplable estará aquí. /var/lib/docker/volumes/<name of bind mount>/_data Aquí desea crear media_store, cargas y registros.

  • Busque los nombres de las carpetas creadas en 'homeserver.yml' y asegúrese de que las rutas apunten a ellos.

  • Se le asignó el grupo predeterminado y se siguieron las pautas del repositorio de Synapse.

    # UID & GID default to 991
    chown 991:991 media_store/ uploads/ logs/
    
    
  • Apunte su controlador de configuración de registros a la carpeta de registros; el archivo de registro no existe en el momento de configurar esta configuración. El archivo del controlador de registro se puede encontrar en .log.config

    handlers:
     file:
         filename: /data/logs/homeserver.log
    

información relacionada