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 12:15] – [Migrazione da virtual environment Python a container Docker] niccolodoc:appunti:linux:sa:matrix [2026/09/15 12:02] (current) – [Avvio del container Docker] niccolo
Line 433: Line 433:
   * **homeserver.yaml**   * **homeserver.yaml**
   * **homeserver.signing.key**   * **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**. È 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**.
Line 440: Line 441:
   * **/var/lib/matrix-synapse/media/** => **/data/media_store/**   * **/var/lib/matrix-synapse/media/** => **/data/media_store/**
   * **/var/lib/matrix-synapse/uploads/** => **/data/uploads/**   * **/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.
 +
 +==== Avvio del container Docker ====
 +
 +=== Istruzioni generiche ===
 +
 +Le [[https://hub.docker.com/r/matrixdotorg/synapse|istruzioni]] per avviare un container Docker di Synapse prevedono anzitutto il download dell'[[https://hub.docker.com/r/matrixdotorg/synapse|immagine di Synapse]] e quindi l'esecuzione una tantum di un container per generare il volume e la configurazione:
 +
 +<code>
 +docker run -it --rm \
 +    --mount type=volume,src=synapse-data,dst=/data \
 +    -e SYNAPSE_SERVER_NAME=my.matrix.host \
 +    -e SYNAPSE_REPORT_STATS=yes \
 +    matrixdotorg/synapse:latest generate
 +</code>
 +
 +Questa prima esecuzione rimuove il container subito dopo averlo creato per via dell'opzione **%%--rm%%**. Quello che importa è che viene creato il volume **/data** e al suo interno viene creata la configurazione necessaria ad eseguire Synapse. La generazione della configurazione è dovuta al fatto che viene passato il comando **generate** all'immagine Docker di Synapse.
 +
 +Successivamente si crea il container definitivo, che conterrà l'istanza di Synapse in esecuzione:
 +
 +<code>
 +docker run -d --name synapse \
 +    --mount type=volume,src=synapse-data,dst=/data \
 +    -p 8008:8008 \
 +    matrixdotorg/synapse:latest
 +</code>
 +
 +Tale container usa lo stesso volume creato in precedenza (e quindi la configurazione in esso contenuta) e resta in esecuzione. Si possono usare i comandi docker standard per far sì che il container venga avviato automaticamente al bootstrap della macchina, ecc.
 +
 +=== Istruzioni specifiche per la migrazione ===
 +
 +FIXME
  
 ===== Web References ===== ===== Web References =====
doc/appunti/linux/sa/matrix.1788430540.txt.gz · Last modified: by niccolo