OffshoreVps
Eğitimler3 Eki 20267 dk okumaYazan: OffshoreVps ekibi

Matrix sunucusu (Synapse) VPS’te nasıl barındırılır

Kendi Matrix homeserver’ınızı Synapse, PostgreSQL ve Docker ile çalıştırın: yapılandırma, HTTPS, federasyon yetkilendirmesi, kullanıcılar ve kayıt.

Matrix, açık bir sohbet ağıdır. Kendi Matrix ana sunucunuzu çalıştırdığınızda mesajlarınız ve hesaplarınız sizin sunucunuzda durur, yine de diğer Matrix sunucularındaki kişilerle konuşabilirsiniz. Bu rehber, referans ana sunucu olan Synapse'i Docker ve PostgreSQL ile HTTPS arkasında kurar.

Matrix sunucusu barındırmak için kullanılan komutları gösteren VPS üzerindeki terminal penceresi, “mkdir -p ~/synapse && cd ~/synapse” ile başlıyor
Bu rehberde sunucunuzda çalıştıracağınız komutlardan örnekler.

Önce bilmeniz gerekenler

  • Federasyon. Sunucunuz diğerleriyle konuşabilir; bu da katıldığınız odaları saklamak için bant genişliği ve disk kullanacağı anlamına gelir. Küçük özel sunucular hafiftir. Çok büyük herkese açık odalara katılmak ise öyle değildir.
  • Boyut. 2 vCPU ve 4 GB RAM küçük bir grup için uygundur. Bkz. Matrix sunucu barındırma.
  • Alan adı. Bir alan adına ihtiyacınız var. Sunucu adı (örneğin example.com) her kullanıcı kimliğinin parçasıdır ve sonradan değiştirilemez.

Adım 1: yapılandırmayı oluşturun

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

Adım 2: PostgreSQL'e geçin

Varsayılan SQLite'tır, ancak bir testten fazlası için PostgreSQL daha iyidir. data/homeserver.yaml dosyasını düzenleyin ve database bloğunu değiştirin:

database:
  name: psycopg2
  args:
    user: synapse
    password: CHANGE_ME
    database: synapse
    host: db
    cp_min: 5
    cp_max: 10
Bu rehberin adımları sırasıyla: 1. Önce bilinmesi gerekenler; 2. yapılandırmayı oluşturun; 3. PostgreSQL’e geçin; 4. HTTPS ve federasyon; 5. kullanıcılar oluşturun ve kaydı kilitleyin; 6. İstemciler ve dikkat edilecekler
Bu rehberdeki adımlar sırasıyla.

Adım 3: Compose dosyası

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

Adım 4: HTTPS ve federasyon

Synapse'i matrix.example.com adresinden sunun ve sunucu adınızın example.com olarak kalması için bir yetkilendirme (delegation) dosyası yayımlayın:

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"}}`
  }
}

DNS devreye girdikten sonra federasyonu Matrix Federation Tester ile test edin.

Adım 5: kullanıcı oluşturun ve kaydı kilitleyin

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

Açık kayıt istemiyorsanız enable_registration değeri false kalsın; dosya: homeserver.yaml.

İstemciler ve bakım

Element'i veya herhangi bir Matrix istemcisini kullanın ve sunucu adınızla giriş yapın. data klasörünü ve Postgres verilerini yedekleyin, Synapse'i güncel tutun. Önce sunucu sertleştirme yazısını okuyun.