Skip to content

Kurulum

Relay'i kendi sunucunuza Docker Compose ile kurma ve ilk kurulumu tamamlama kılavuzu.

Genel bakış

Relay, bir Docker Compose yığını olarak gelir — app konteyneri (Node.js sunucusu ve her numara için sürümü sabitlenmiş bir Chrome) ve HTTPS'i sonlandıran bir nginx konteyneri. Kontrol ettiğiniz bir Linux sunucusunda çalıştırırsınız. Bu kılavuz, boş bir sunucudan ilk çalışma alanını oluşturmaya hazır, giriş yapmış bir sistem yöneticisine kadar götürür.

Not: Bu ayrıntılı anlatımdır. Depo README dosyası aynı adımları özet biçimde içerir.

Başlamadan önce

Şunlara ihtiyacınız olacak:

  • Yerel, blok-bağlı diske sahip bir Linux sunucusu (Ubuntu 22.04 / Debian 12) — NFS/ağ paylaşımı değil (veritabanının ihtiyaç duyduğu dosya kilitlemeyi güvenilir biçimde desteklemez). 4 GB temel RAM + WhatsApp numarası başına ~2,5 GB olarak boyutlandırın — her numara, 2,5 GB üst sınırında geri dönüştürülen bir başsız Chrome çalıştırır (tipik kullanım 0,4–0,8 GB, ancak yoğun bir numaranın sunucuyu takas/OOM'a itmemesi için üst sınırı bütçeleyin). Yani kabaca 1–2 numara için ~8 GB, 5 numara için ~16 GB. Ayrıca 2 CPU çekirdeği temel + her ~3–4 numara için 1 çekirdek (5+ için en az 4 çekirdek) ve ~50 GB disk. Numaralar bağlandıktan sonra kendi docker stats / free -h değerlerinizle doğrulayın.
  • Docker 24+ ve Compose v2.
  • Açık 80 ve 443 portları. Üretim için sunucuya yönlendirilen bir alan adı; hızlı bir test için sunucunun IP adresini kendinden imzalı bir sertifikayla kullanabilirsiniz (adım 3).
  • VM yerine bir konteyner içinde dağıtıyorsanız (ör. Proxmox LXC): bir VM veya ayrıcalıklı / nesting etkin bir konteyner kullanın — ayrıcalıksız bir LXC altında Docker, konteynerleri başlatmak için ek çekirdek-sysctl gevşetmeleri gerektirir. Düz bir VM veya bulut örneği için özel bir şey gerekmez. Yeni kurulmuş bir sunucuda paket kurmadan önce apt-get update çalıştırın.

Adımlar

  1. Kodu alın ve klasöre girin. bash git clone <relay-depo-adresiniz> relay cd relay

  2. Ortam dosyanızı oluşturun. bash cp .env.example .env Varsayılanlar olduğu gibi çalışır. Çerez imzalama anahtarını kendiniz denetlemek için isteğe bağlı olarak SESSION_SECRET değerini ayarlayabilirsiniz (openssl rand -hex 32); yer tutucuyu olduğu gibi bırakırsanız Relay bunu data/session-secret.txt içinde otomatik oluşturup kalıcı hale getirir. Ayrıca COMPANY_NAME değerini kuruluşunuzun adına ayarlayabilirsiniz (ekibinizin kimlik doğrulama uygulamasında görünür).

  3. TLS sertifikanızı ekleyin. Sertifikayı ve anahtarı ./ssl/ içine yerleştirin: ssl/ fullchain.pem privkey.pem Hızlı bir test için (IP ile veya DNS hazır olmadan) kendinden imzalı bir çift oluşturun — tarayıcı uyarı verir, bu test için sorun değil: bash mkdir -p ssl openssl req -x509 -newkey rsa:2048 -nodes -days 365 \ -keyout ssl/privkey.pem -out ssl/fullchain.pem -subj "/CN=localhost" Üretim için gerçek bir sertifika kullanın (ör. Certbot ile ücretsiz Let's Encrypt): bash certbot certonly --standalone -d alan-adiniz.com cp /etc/letsencrypt/live/alan-adiniz.com/fullchain.pem ssl/ cp /etc/letsencrypt/live/alan-adiniz.com/privkey.pem ssl/

  4. Yığını başlatın. bash docker compose up -d İlk derleme, sabitlenmiş tarayıcıyı indirdiği için birkaç dakika sürer. docker compose ps ile her iki servisin de çalıştığını kontrol edin.

  5. İlk kurulumu tamamlayın. Tarayıcıda https://alan-adiniz.com/admin adresini açın. Yeni bir kurulumda ilk kurulum ekranına yönlendirilirsiniz — sistem yöneticisi kullanıcı adı ve parolasını oluşturun, ardından bir kimlik doğrulayıcı uygulamayla (Google Authenticator, Authy, 1Password, …) TOTP QR kodunu tarayın. İlk kurulum: yönetici hesabını oluşturun İlk kurulumda gösterilen TOTP QR kodu

Not: Kimlik doğrulayıcıyı güvende tutun — Yönetim paneline her giriş yaptığınızda yeni bir 6 haneli kod gerekir. Kaybederseniz bkz. Sorun giderme → Yönetim panelinden kilitlenme.

  1. Sağlıklı olduğunu doğrulayın. bash curl -sf https://alan-adiniz.com/healthz # → relay-ok

Sonraki adımlar

Sistem yöneticisi olarak giriş yaptınız. Sırada, bir çalışma alanı oluşturun ve Yönetici hesabını oluşturun. Yedekleme ve güncellemeler için bkz. Operations (İngilizce).