Progetto Compose per social media distribuiti
Find a file
2025-09-01 19:49:05 +02:00
.media First commit 2025-07-15 02:10:23 +02:00
src Force default room version to 12 2025-09-01 19:49:05 +02:00
.gitignore First commit 2025-07-15 02:10:23 +02:00
compose.yml Remove _access suffix from network names 2025-07-24 06:35:23 +02:00
dns.zone Fix dns.zone having g instead of f 2025-07-23 09:53:29 +02:00
README.md Write password in command line 2025-07-27 09:57:55 +02:00

Space

Progetto Compose per social media distribuiti

Prima dell'avvio

  • Inserisci la tua email in ./secrets/admin_email.txt.
    • Ad esempio, me@example.org.
  • Inserisci il dominio alla radice dei servizi in ./secrets/public_domain.txt.
    • Ad esempio example.org.
  • Inserisci il tuo indirizzo IPv4 pubblico in ./secrets/public_ipv4.txt.
    • Ad esempio, 192.0.2.1.
  • Inserisci il tuo indirizzo IPv6 pubblico in ./secrets/public_ipv6.txt.
    • Ad esempio, 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff.
  • Inserisci il tuo host SMTP in ./secrets/smtp_host.txt.
    • Ad esempio, example.org.
  • Inserisci il tuo username SMTP in ./secrets/smtp_user.txt.
    • Ad esempio, me.
  • Inserisci la tua password SMTP in ./secrets/smtp_pass.txt.
    • Ad esempio, hunter2.
  • Genera una stringa casuale da inserire in ./secrets/ejabberd_service_password.txt.
    • Per farlo rapidamente:
      openssl rand -hex 48 >secrets/ejabberd_service_password.txt
      
  • Genera una stringa casuale da inserire in ./secrets/ejabberd_synapse_password.txt.
    • Per farlo rapidamente:
      openssl rand -hex 48 >secrets/ejabberd_synapse_password.txt
      
  • Genera una stringa casuale da inserire in ./secrets/synapse_register_password.txt.
    • Per farlo rapidamente:
      openssl rand -hex 48 >secrets/synapse_register_password.txt
      
  • Configura il tuo provider DNS con i record presenti in ./dns.zone.
    • Ricordati di usare i tuoi indirizzi IPv4 e IPv6 pubblici nei record A e AAAA!

Primo avvio

  • Avvia il progetto Compose.
    • Puoi usare:
      docker compose up -d
      

Dopo il primo avvio

  • Crea un nuovo utente su ejabberd "admin" che acquisirà immediatamente permessi di amministratore.
    • Genera una password sicura e salvala da qualche parte.
    • Per generare la password rapidamente:
      openssl rand -hex 48
      
    • Per creare il nuovo utente:
      docker compose exec ejabberd ejabberdctl register "admin" "x.$(cat ./secrets/public_domain.txt)" "$password"
      
  • Crea un nuovo utente su ejabberd "synapse" con ./secrets/ejabberd_synapse_password.txt come password.
    • Per creare il nuovo utente:
      docker compose exec ejabberd ejabberdctl register "synapse" "x.$(cat ./secrets/public_domain.txt)" "$(cat ./secrets/ejabberd_synapse_password.txt)"
      
  • Crea un nuovo utente su Synapse "admin" con permessi di amministratore.
    • Genera una password sicura e salvala da qualche parte.
    • Per generare la password rapidamente:
      openssl rand -hex 48
      
    • Per creare il nuovo utente:
      docker compose exec synapse register_new_matrix_user --config "/homeserver.yml" --user "admin" --admin --password "$password"
      
  • Crea un nuovo utente su GoToSocial "admin" con permessi di amministratore.
    • Genera una password sicura e salvala da qualche parte.
    • Per generare la password rapidamente:
      openssl rand -hex 36
      
    • Per creare il nuovo utente:
      docker compose exec --env GTS_HOST="f.$(cat ./secrets/public_domain.txt)" gotosocial /gotosocial/gotosocial admin account create --username "admin" --email "$email" --password "$password"
      
    • Per dare permessi da amministratore al nuovo utente:
      docker compose exec --env GTS_HOST="f.$(cat ./secrets/public_domain.txt)" gotosocial /gotosocial/gotosocial admin account promote --username "admin"
      

Comandi utili

Crea nuovo utente ejabberd

docker compose exec ejabberd ejabberdctl register "$username" "x.$(cat ./secrets/public_domain.txt)" "$password"

Crea nuovo utente Synapse

docker compose exec synapse register_new_matrix_user --config "/homeserver.yml" --user "$username" --no-admin --password "$password"

Crea nuovo utente GoToSocial

docker compose exec --env GTS_HOST="f.$(cat ./secrets/public_domain.txt)" gotosocial /gotosocial/gotosocial admin account create --username "$username" --email "$email" --password "$password"