User Tools

Site Tools


doc:appunti:linux:sa:matrix

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:linux:sa:matrix [2026/09/03 10:55] – [Synapse in container Docker] niccolodoc:appunti:linux:sa:matrix [2026/09/04 15:05] (current) – [Permessi] niccolo
Line 412: Line 412:
  
 ===== Migrazione da virtual environment Python a container Docker ===== ===== Migrazione da virtual environment Python a container Docker =====
 +
 +Gli oggetti da migrare sono:
 +
 +  * Directory **/etc/matrix-synapse/** che contiene i file di configurazione.
 +  * Directory **/var/lib/matrix-synapse/** che contiene il //media_store//.
 +  * PostgreSQL database **synapse** e relativo utente.
 +  * Configurazione **reverse proxy** Apache.
 +  * **Nome a dominio** nel DNS.
 +
 +Sulla macchina destinazione NON si esegue la configurazione iniziale, ma si crea il named volume che conterrà i file di configurazione e il media_store:
 +
 +<code>
 +docker volume create synapse-data
 +</code>
 +
 +Viene creata la directory **/var/lib/docker/volumes/synapse-data/_data/** che sarà la radice del volume.
 +
 +Nella radice di tale volume si devono copiare i file dalla vecchia installazione:
 +
 +  * **homeserver.yaml**
 +  * **homeserver.signing.key**
 +  * **log.yaml**
 +
 +È consigliabile rinominare il file **homeserver.signing.key** usando il **SYNAPSE_SERVER_NAME**, come farebbe la procedura  //generate// di Synapse, quindi qualcosa del tipo **matrix.example.org.signing.key**. Il nome del file deve essere correttamente indicato nel file di configurazione yaml dal parametro **signing_key_path**.
 +
 +Si devono copiare anche il media store e la directory uploads originali nella radice del volume Docker, con questo mapping:
 +
 +  * **/var/lib/matrix-synapse/media/** => **/data/media_store/**
 +  * **/var/lib/matrix-synapse/uploads/** => **/data/uploads/**
 +
 +I parametri che è necessario aggiustare nel file homeserver.yaml sono:
 +
 +<file>
 +log_config: "/data/log.yaml"
 +media_store_path: "/data/media_store"
 +uploads_path: "/data/uploads"
 +signing_key_path: "/data/homeserver.signing.key"
 +bind_addresses:
 +  - '0.0.0.0'
 +database:
 +  name: "psycopg2"
 +  args:
 +    ...
 +    host: host.docker.internal
 +    port: 5432
 +</file>
 +
 +Sulla macchina origine si esegue il dump del database:
 +
 +<code>
 +su - postgres -c "pg_dump -Fc synapse" \
 +    > synapse-$(hostname)-$(date +%Y-%m-%d).dump
 +</code>
 +
 +Quindi sulla macchina destinazione si esegue il restore:
 +
 +
 +==== Permessi ====
 +
 +Verificare che i file di configurazione siano leggibili solo dall'utente con UID 991 (nell'immagine Docker di matrix/synapse è l'utente utilizzato per eseguire il servizio):
 +
 +<code>
 +cd /var/lib/docker/volumes/synapse-data/_data
 +chown 991:991 homeserver.yaml homeserver.signing.key
 +chmod 0600 homeserver.yaml homeserver.signing.key
 +</code>
 +
 +FIXME Anche il media_store e la directory uploads devono essere sistemate.
  
 ===== Web References ===== ===== Web References =====
doc/appunti/linux/sa/matrix.1788425725.txt.gz · Last modified: by niccolo