OffshoreVps
Tutorial3 Okt 20267 menit bacaOleh tim OffshoreVps

Cara Hosting Server Matrix (Synapse) di VPS

Jalankan homeserver Matrix Anda sendiri dengan Synapse, PostgreSQL, dan Docker: konfigurasi, HTTPS, delegasi federasi, pengguna, dan pendaftaran.

Matrix adalah jaringan obrolan terbuka. Saat Anda menjalankan homeserver Matrix sendiri, pesan dan akun Anda berada di server Anda, dan Anda tetap dapat berbicara dengan orang di server Matrix lain. Panduan ini menginstal Synapse, homeserver referensi, dengan Docker dan PostgreSQL di balik HTTPS.

Jendela terminal di VPS yang menampilkan perintah untuk meng-host server Matrix, diawali dengan “mkdir -p ~/synapse && cd ~/synapse”
Jenis perintah yang akan Anda jalankan di server dalam panduan ini.

Yang perlu diketahui terlebih dahulu

  • Federasi. Server Anda dapat berbicara dengan server lain, yang berarti memakai bandwidth dan disk untuk menyimpan room yang Anda ikuti. Server privat kecil ringan. Bergabung ke room publik yang sangat besar tidak.
  • Ukuran. 2 vCPU dan RAM 4 GB cocok untuk kelompok kecil. Lihat hosting server Matrix.
  • Domain. Anda memerlukan domain. Nama server (misalnya example.com) menjadi bagian dari setiap ID pengguna dan tidak dapat diubah nanti.

Langkah 1: buat konfigurasi

mkdir -p ~/synapse && cd ~/synapse
docker run -it --rm -v $(pwd)/data:/data \
  -e SYNAPSE_SERVER_NAME=example.com \
  -e SYNAPSE_REPORT_STATS=no \
  matrixdotorg/synapse:latest generate

Langkah 2: beralih ke PostgreSQL

SQLite adalah default, tetapi PostgreSQL lebih baik untuk apa pun di luar pengujian. Edit data/homeserver.yaml dan ganti blok database:

database:
  name: psycopg2
  args:
    user: synapse
    password: CHANGE_ME
    database: synapse
    host: db
    cp_min: 5
    cp_max: 10
Langkah-langkah panduan ini secara berurutan: 1. Yang perlu diketahui terlebih dahulu; 2. buat konfigurasi; 3. beralih ke PostgreSQL; 4. HTTPS dan federasi; 5. buat pengguna dan kunci pendaftaran; 6. Klien dan kehati-hatian
Langkah-langkah dalam panduan ini, secara berurutan.

Langkah 3: file Compose

services:
  db:
    image: postgres:16
    restart: unless-stopped
    environment:
      POSTGRES_USER: synapse
      POSTGRES_PASSWORD: CHANGE_ME
      POSTGRES_DB: synapse
      POSTGRES_INITDB_ARGS: "--encoding=UTF-8 --lc-collate=C --lc-ctype=C"
    volumes:
      - ./pgdata:/var/lib/postgresql/data
  synapse:
    image: matrixdotorg/synapse:latest
    restart: unless-stopped
    depends_on: [db]
    ports:
      - "127.0.0.1:8008:8008"
    volumes:
      - ./data:/data
docker compose up -d
docker compose logs -f synapse

Langkah 4: HTTPS dan federasi

Sajikan Synapse di matrix.example.com dan terbitkan file delegasi agar nama server Anda tetap example.com:

matrix.example.com {
  reverse_proxy 127.0.0.1:8008
}

example.com {
  handle /.well-known/matrix/server {
    header Content-Type application/json
    respond `{"m.server": "matrix.example.com:443"}`
  }
  handle /.well-known/matrix/client {
    header Content-Type application/json
    header Access-Control-Allow-Origin *
    respond `{"m.homeserver": {"base_url": "https://matrix.example.com"}}`
  }
}

Uji federasi dengan Matrix Federation Tester setelah DNS aktif.

Langkah 5: buat pengguna dan kunci pendaftaran

docker compose exec synapse register_new_matrix_user -c /data/homeserver.yaml http://localhost:8008

Biarkan enable_registration bernilai false di homeserver.yaml kecuali Anda menginginkan pendaftaran terbuka.

Klien dan kehati-hatian

Gunakan Element atau klien Matrix apa pun dan login dengan nama server Anda. Cadangkan folder data dan data Postgres, dan jaga Synapse tetap diperbarui. Baca penguatan server terlebih dahulu.