Sohbet · KYC yok
Matrix (Synapse)'i Offshore VPS Üzerinde Barındırın
Kendi Matrix homeserver'ınızı offshore, KYC'siz bir VPS üzerinde çalıştırın ve uçtan uca şifrelenmiş, federe sohbet ağınızın anahtarlarını elinizde tutun.
Bu nedir
Synapse, merkeziyetsiz, uçtan uca şifrelenmiş gerçek zamanlı sohbet, sesli ve görüntülü iletişim için açık bir protokol olan Matrix'in referans sunucu uygulamasıdır. Synapse'i kendi sunucunuzda barındırmak, geniş Matrix ağıyla federe olabilen ya da tamamen özel kalabilen kendi homeserver'ınızı size verir; her mesaj, medya dosyası ve hesap tamamen kontrolünüzdeki donanımda barınır.
Neden offshore barındırma
Sohbet metadata'sı (kimin kiminle, ne zaman ve nereden konuştuğu) tam olarak merkezi platformların ve barındırıldıkları yargı bölgelerinin kaydedip teslim ettiği türden bir veridir. Kripto ile ödenen, KYC'siz, offshore bir VPS üzerinde, topluluğunuzun mesajlarını ve şifreleme anahtarlarını barındıran homeserver hiçbir gerçek dünya kimliğine kayıtlı değildir ve kendi ülkenizin erişiminin dışında, gizliliğe duyarlı bir yargı bölgesinde bulunur.
Dağıtım
Çalışan bir referans kurulum
Bunu yeni bir ChainVPS örneğine kopyalayın. Yer tutucuları değiştirin, ardından çalıştırın.
# ── One-time setup, run in order on Ubuntu 24.04 (Docker + compose-plugin installed) ──
#
# 1. Generate Synapse's config (replace matrix.example.com with your real domain):
# mkdir -p synapse-data pgdata
# docker run --rm -v "$(pwd)/synapse-data:/data" \
# -e SYNAPSE_SERVER_NAME=matrix.example.com \
# -e SYNAPSE_REPORT_STATS=no \
# ghcr.io/element-hq/synapse:latest generate
#
# 2. In synapse-data/homeserver.yaml, REPLACE the generated sqlite `database:`
# block with the postgres block shown at the bottom of this file, and add
# `x_forwarded: true` under the port-8008 listener (you are behind a proxy).
#
# 3. Bring the stack up: docker compose up -d
#
# 4. Create your admin user:
# docker compose exec synapse register_new_matrix_user \
# -u admin -a -c /data/homeserver.yaml http://localhost:8008
#
# 5. Put a TLS reverse proxy (Caddy/nginx) on 443 -> 127.0.0.1:8008 and serve
# /.well-known/matrix/server + /.well-known/matrix/client for federation.
services:
db:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_USER: synapse
POSTGRES_PASSWORD: CHANGE_ME_STRONG_DB_PASSWORD
POSTGRES_DB: synapse
# Synapse REQUIRES the DB to use C locale — this is a hard requirement:
POSTGRES_INITDB_ARGS: "--encoding=UTF8 --locale=C"
volumes:
- ./pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U synapse"]
interval: 10s
timeout: 5s
retries: 5
synapse:
image: ghcr.io/element-hq/synapse:latest
restart: unless-stopped
depends_on:
db:
condition: service_healthy
environment:
SYNAPSE_SERVER_NAME: matrix.example.com
SYNAPSE_REPORT_STATS: "no"
volumes:
- ./synapse-data:/data
ports:
# Client + federation HTTP. Bound to localhost — TLS is terminated by
# your reverse proxy. Never expose 8008 to the internet in the clear.
- "127.0.0.1:8008:8008"
# ── Paste this into synapse-data/homeserver.yaml, replacing the sqlite block ──
# database:
# name: psycopg2
# args:
# user: synapse
# password: CHANGE_ME_STRONG_DB_PASSWORD
# dbname: synapse
# host: db
# port: 5432
# cp_min: 5
# cp_max: 10
Güvenlik duvarı
Açılması gereken portlar
| Port | Protokol | Amaç |
|---|---|---|
| 443 | TCP | HTTPS reverse proxy: Element/istemci API'si + /.well-known federasyon delegasyonu (internete açık olması gereken tek port) |
| 8008 | TCP | Synapse istemci+federasyon HTTP dinleyicisi — yalnızca 127.0.0.1'e bağlayın, TLS proxy tarafından yönetilir |
| 8448 | TCP | İsteğe bağlı doğrudan federasyon portu; yalnızca .well-known delegasyonu kullanmıyorsanız gereklidir (kendi TLS'ini gerektirir) |
| 5432 | TCP | PostgreSQL — yalnızca dahili Docker ağı, asla host'a veya internete açılmamalıdır |
Doğru boyutlandırma
Hangi plana ihtiyacınız var
VPS Nano / Small (2 vCPU, 2-4 GB RAM)
Kişisel ya da aile sunucusu, ~10 kullanıcının altında, az ya da hiç federasyon yok. Synapse bellek açısından açgözlüdür — 2 GB gerçekçi alt sınırdır, büyük genel odalara katılıyorsanız 4 GB önerilir.
VPS Pro (4 vCPU, 8 GB RAM)
Onlarca ile birkaç yüz kullanıcı arasında, aktif federasyona sahip küçük bir topluluk. Synapse önbelleklerini ve Postgres shared_buffers ayarını optimize edin; medya ve veritabanı için SSD depolama önemlidir.
Dedicated (8+ cores, 16-32 GB RAM)
Yüzlerce ile binlerce kullanıcı ya da çok büyük federe odalara üyelik. Synapse'i worker'lara bölün (federation sender, sync, media) ve Postgres'e kendi optimizasyonunu yapın; ölçülmeyen bant genişliği medya/federasyon trafiğinin sınırsız kalmasını sağlar.
En iyi konumlar: Bir iletişim sunucusu için gizlilik katmanındaki bir konum seçin: İsviçre ve İzlanda güçlü veri koruma yargı bölgeleri sunar ve mesaj metadata'sı ile anahtarları barındıran bir homeserver için doğal birer yuvadır; Hollanda ve Lüksemburg ise Avrupa'ya düşük gecikmeli, iyi peering'e sahip rotalar sağlayarak daha akıcı gerçek zamanlı sohbet ve sesli görüşme sunar. Matrix gerçek zamanlı çalıştığından, ana kullanıcı kitlenize en yakın gizlilik katmanındaki bölgeyi tercih edin; ölçülmeyen bant genişliği ve dahil DDoS koruması önemlidir, çünkü federe, internete açık bir homeserver sürekli bir hedeftir.
Sıkı güvenlik altına alın
Sıkılaştırma kontrol listesi
- Açık kaydı devre dışı bırakın: enable_registration: false olarak ayarlayın ya da kayıtları davet başına token ile registration_requires_token arkasına kilitleyin — açık bir Matrix sunucusu günler içinde bulunur ve spam botlarıyla doldurulur.
- Federasyon kontrolü: server_name'inizin temiz kalması için (@user:example.com) /.well-known/matrix/server delegasyonunu kullanın ve sunucu özel ise bilinmeyen sunucuların size ulaşmasını engellemek için federation_domain_whitelist ayarlayın (ya da federasyonu tamamen devre dışı bırakın).
- URL önizlemelerini ve medyayı kilitleyin: url_preview_enabled sunucu tarafında keyfi URL'leri çeker (SSRF riski) — özel aralıklar için varsayılan url_preview_ip_range_blacklist'i koruyun, max_upload_size'ı sınırlayın ve medya depolama sınırsız büyüdüğü için periyodik medya saklama/temizleme işlemleri çalıştırın.
- Proxy arkasında rate limit'leri sıkılaştırın: Synapse'in gerçek istemci IP'lerini görmesi için 8008 dinleyicisinde x_forwarded: true ayarlayın, ardından brute-force ve kötüye kullanımı azaltmak için rc_login, rc_registration ve rc_message ayarlarını optimize edin; ChainVPS DDoS koruması bunun altındaki L3/4 katmanını kapsar.
- Postgres'i ve signing key'i yedekleyin: veritabanını düzenli olarak dump edin ve synapse-data/*.signing.key dosyasını site dışına kopyalayın — signing key'i kaybetmek, sunucu kimliğinizin ve tüm federasyon güveninin kalıcı olarak yok olması anlamına gelir.
- Güncel tutun: ghcr.io/element-hq/synapse etiketini sabitleyip düzenli olarak güncelleyin, report_stats: no ayarını koruyun ve 8008 veya 5432 portlarını asla internete açmayın — yalnızca 443 (ve isteğe bağlı olarak 8448) erişilebilir olmalıdır.
Bunu şurada devreye alın
Doğru ChainVPS ürünü
Sorular
Hosting Matrix (Synapse) — SSS
Kendi alan adıma ihtiyacım var mı?
Evet. Matrix kullanıcı kimlikleri ve federasyon bir alan adına bağlıdır (örn. @you:example.com). VPS'e yönlendirmek ve /.well-known federasyon kayıtlarını sunmak için DNS'ini kontrol ettiğiniz bir alan adına ihtiyacınız var. Alan adı, gizliliğe saygılı bir kayıt şirketi üzerinden alınabilir; sunucunun kendisi KYC'siz kalır.
Synapse'i tamamen özel, federasyon olmadan çalıştırabilir miyim?
Evet. Homeserver'ınızın genel Matrix ağıyla hiç konuşmaması için boş bir federation_domain_whitelist ayarlayın ya da federasyon dinleyicisini kaldırın. Kullanıcılarınız yine de tamamen offshore sunucunuzda, aralarında tam uçtan uca şifrelenmiş sohbet, sesli ve görüntülü iletişim alır.
Neden varsayılan SQLite yerine PostgreSQL?
Synapse yalnızca hızlı test için SQLite ile birlikte gelir. Eşzamanlılığı ya da federasyon yükünü kaldıramaz ve worker'larla ölçeklenemez. Herhangi bir gerçek dağıtım, C locale ile oluşturulmuş PostgreSQL kullanmalıdır (yukarıdaki compose dosyası bunu sizin için yapar); daha sonra geçiş yapmak sıkıntılıdır, bu yüzden en baştan Postgres ile başlayın.
Synapse gerçekten ne kadar RAM'e ihtiyaç duyar?
İnsanların beklediğinden daha fazla. Sessiz, tek kullanıcılı bir sunucu ~1.5-2 GB'a sığar, ancak büyük federe odalara katıldığınız anda oda başına önbellekler belleği şişirir. Küçük bir topluluk için 4 GB ayırın ve önbellekleri (caches: global_factor) kontrolsüz büyümesine izin vermek yerine RAM'inize göre ölçeklendirin.
Kullanıcılarım hangi istemciyi kurmalı?
Element (web, masaüstü, iOS, Android) standart Matrix istemcisidir ve URL'sini girerek homeserver'ınıza bağlanır. 443 üzerinden sunduğunuz /.well-known/matrix/client kaydı, Element'in yalnızca bir kullanıcının Matrix kimliğinden sunucunuzu otomatik olarak keşfetmesini sağlar.
Offshore barındırma federasyonu ya da görüşme kalitesini olumsuz etkiler mi?
Hayır. Federasyon, konumdan bağımsız olarak standart HTTPS üzerinden çalışır ve dahil DDoS koruması internete açık sunucuyu stabil tutar. Gerçek zamanlı sesli/görüntülü iletişim için gecikmeyi en aza indirmek üzere kullanıcılarınıza en yakın gizlilik katmanındaki konumu seçin; Hollanda ve Lüksemburg Avrupa trafiği için iyi peering'e sahiptir.
Kendi barındırmak için daha fazlası
Diğer tek tıkla kurulan yazılım yığınları
Hemen kur Matrix (Synapse)
önümüzdeki 60 saniye içinde.
Sınırsız bant genişliği · DDoS dahil · 21 kripto para birimi · KYC yok.