Yazar:
    Oluşturma:2026-06-30Son güncelleme:2026-09-27

    Intlayer Kendi Kendine Barındırma (Self-Hosting)

    Intlayer, bir Intlayer Cloud hesabına ihtiyaç duymadan kendi altyapınızda çalışabilir. Aynı yükleyici (install.sh, Windows üzerinde install.ps1 veya npx intlayer init infra) ile yapılandırılabilen üç kurulum sunulmaktadır:

    SetupWhat it isPick it for
    Masaüstü UygulamasımacOS, Linux ve Windows için yerel kontrol paneliYerel bir istemci, barındırma gerekmez
    Hepsi-Bir-Arada DockerKontrol paneli, API, MongoDB, Redis ve MinIO tek bir kapsayıcıdaTestler ve küçük tek sunuculu kurulumlar
    Docker ComposeHizmet başına bir kapsayıcı, her veri deposu yönetilen bir hizmetle değiştirilebilirÜretim, ölçekleme, yönetilen veritabanları

    Table of Contents

    Yayınlanan İmajlar ve Paketler

    ArtifactDocker HubGHCR mirrorContents
    All-in-one containerintlayer/cms-allghcr.io/aymericzip/intlayer/cms-allapp + backend + MongoDB 8 + Redis + MinIO + Chromium
    Dashboard (frontend)intlayer/cms-frontendghcr.io/aymericzip/intlayer/cms-frontendTanStack Start dashboard on Bun
    API (backend)intlayer/cms-backendghcr.io/aymericzip/intlayer/cms-backendFastify REST API on Bun + Chromium
    Desktop appGitHub releasesn/a.dmg (macOS), .deb / .rpm / .AppImage (Linux), .exe / .msi (Windows)

    Her üç imaj da aynı docker/selfhost/Dockerfile dosyasından oluşturulur ve her sürümde yayınlanır. Compose yığını ayrıca resmi mongo:8, redis:8-alpine ve quay.io/minio/minio imajlarını çeker.

    Kurulum

    Yükleyici istediğiniz kurulumu sorar, önkoşulları kontrol eder (Docker kurulumunu önerir), önceden oluşturulmuş gizli anahtarlarla ortam dosyasını yazar ve imajları çeker. Kendi kendine hiçbir şey başlatmaz: Docker modları önce bir e-posta göndericisinin ayarlanmasını gerektirir, bu nedenle çalıştırılacak komutu yazdırarak tamamlanır. Tekrar çalıştırmak güvenlidir: mevcut bir ortam dosyasının üzerine asla yazılmaz, bu da onu bir güncelleme yolu haline getirir.

    Tauri ile oluşturulmuş yerel bir uygulama olarak Intlayer kontrol paneli. Intlayer Cloud (https://app.intlayer.org) üzerinden oturum açar, bu nedenle barındırma gerekmez. Bir tarayıcı sekmesi yerine yerel bir istemci tercih ettiğinizde en iyi seçenektir.

    Yükleme

    Yükleyici işletim sisteminiz ve işlemciniz için uygun paketi indirir ve açar (macOS), yükler (Linux'ta dpkg / rpm) veya kurulum sihirbazını başlatır (Windows). Ayrıca Sürümler sayfasından manuel olarak da indirebilirsiniz.

    sh
    curl -fsSL https://intlayer.org/install.sh | sh -s -- --mode desktop
    

    In PowerShell:

    powershell
    $env:INTLAYER_MODE = "desktop"; irm https://intlayer.org/install.ps1 | iex
    
    bash
    npx intlayer init infra --mode desktop
    

    Gereksinimler

    • Node.js: Uygulama kontrol paneli sunucusunu yerleşik olarak içerir ve makinenin node ikili dosyasıyla başlatır. Uygulama açılmazsa nodejs.org adresinden yükleyin.
    Yayınlanan masaüstü derlemesi Intlayer Cloud arka ucuyla iletişim kurar. Kendi kendine barındırılan bir arka uca yönlendirmek, uygulamanın API'nize işaret eden VITE_BACKEND_URL ile yeniden derlenmesini gerektirir, bkz. Sınırlamalar.

    Her şey s6-overlay tarafından denetlenen tek bir intlayer/cms-all kapsayıcısı içinde çalışır ve tüm veri depoları tek bir birimde kalıcı olarak saklanır.

    plaintext
                    ┌─────────────────────────────┐
     browser ──────▶ │  app  (TanStack Start)  :3000│ ──┐
     (localhost)    └─────────────────────────────┘   │ VITE_BACKEND_URL (baked at build)
                    ┌─────────────────────────────┐   │
                    │  backend (Fastify/Bun)  :3100│ ◀─┘
                    └──────────────┬──────────────┘
              ┌──────────┬─────────┼──────────────┐
              ▼          ▼         ▼               ▼
          mongo:27017  redis:6379  minio:9000   Chromium
          /data/mongo  /data/redis /data/minio  (in-image)
          (1-node RS)              minio:9001
    
    HizmetAna Bilgisayar Port(lar)ıAmaç
    app3000Kontrol paneli (CMS kullanıcı arayüzü)
    backend3100REST API (/health uç noktası)
    mongodahiliMongoDB 8, tek düğümlü replika seti rs0
    redisdahiliİş kuyrukları (BullMQ) ve önbellekleme
    minio9000 (S3), 9001 (konsol)Avatarlar ve ekran görüntüleri için S3 uyumlu nesne depolama

    Önyükleme sırası s6 bağımlılıkları tarafından yönetilir (mongod → replika seti başlatma, minio → demet oluşturma, ardından backend, ardından app) ve hizmetler sonlandığında yeniden başlatılır, böylece ilk önyükleme kendi kendini toparlar.

    Önkoşullar

    • Docker ≥ 24: Yükleyici kurulumu önerir (Linux'ta get.docker.com, macOS'ta Homebrew). Windows'ta önce Docker Desktop (WSL 2 arka ucu) kurun.
    • Ana bilgisayarda 3000, 3100, 9000 ve 9001 portları boş olmalıdır. Tarayıcı varlıkları doğrudan S3_PUBLIC_URL adresinden yüklediğinden MinIO 9000 portu tarayıcı tarafından erişilebilir kalmalıdır.
    • Bir e-posta göndericisi (mailer): Resend API anahtarı veya bir SMTP geçişi.

    1. Yükleme

    Oluşturulan BETTER_AUTH_SECRET ve S3_SECRET_ACCESS_KEY ile birlikte ./intlayer.env dosyasını yazar, geri kalanını doldurmak için birkaç soru sorar ve intlayer/cms-all:latest imajını çeker.

    sh
    curl -fsSL https://intlayer.org/install.sh | sh -s -- --mode docker
    

    In PowerShell:

    powershell
    $env:INTLAYER_MODE = "docker"; irm https://intlayer.org/install.ps1 | iex
    
    bash
    npx intlayer init infra --mode docker
    

    2. Kurulum Sorularını Yanıtlayın

    Yükleyici şunları sorar (bir öneriyi kabul etmek için Enter'a basın; her yanıt daha sonra dosyada değiştirilebilir):

    • Intlayer'ın sunulacağı alan adı. localhost üzerinde kalmak için boş bırakın. example.org gibi bir alan adıyla, kontrol paneli için https://cms.example.org, API için https://back.example.org ve nesne depolama için https://s3.example.org/intlayer önerir ve DOMAIN, APP_URL, BACKEND_URL ile S3_PUBLIC_URL değerlerini yazar. Sonraki adımlar için Özel alan adı bölümüne bakın.
    • E-posta göndericisi: Resend (API anahtarı) veya bir SMTP rölesi (ana bilgisayar, port, kimlik bilgileri) ile gönderen adresi. Bu adım atlanıp daha sonra elle yapılabilir.
    • Yapay zeka özellikleri için isteğe bağlı bir OpenAI API anahtarı.

    Terminal olmadan (örneğin betik CI'dan çalıştırıldığında) sorular atlanır ve yalnızca gizli anahtarlar oluşturulur. intlayer.env dosyasını açın ve Resend veya SMTP bilgilerini elle doldurun (ayrıntılar için Genel e-posta göndericisi bölümüne bakın):

    intlayer.env
    # Option A: Resend
    RESEND_API_KEY=<your-resend-key>
    
    # Option B: SMTP (takes over from Resend as soon as MAIL_SMTP_HOST is set)
    MAIL_SMTP_HOST=smtp.example.com
    MAIL_SMTP_PORT=587
    MAIL_SMTP_USER=<user>
    MAIL_SMTP_PASSWORD=<password>
    MAIL_FROM=Intlayer <no-reply@example.com>
    

    3. Başlatma

    Yükleyici tarafından yazdırılan çalıştırma komutudur (özel bir alan adıyla, bundan önce intlayer/cms-all:custom imajını üreten docker build çalıştırılır, bkz. Özel alan adı):

    sh
    docker run -d --name intlayer \
      --restart unless-stopped \
      -p 3000:3000 -p 3100:3100 -p 9000:9000 -p 9001:9001 \
      -v intlayer-data:/data \
      --env-file ./intlayer.env \
      intlayer/cms-all:latest
    
    powershell
    docker run -d --name intlayer `
      --restart unless-stopped `
      -p 3000:3000 -p 3100:3100 -p 9000:9000 -p 9001:9001 `
      -v intlayer-data:/data `
      --env-file ./intlayer.env `
      intlayer/cms-all:latest
    

    CLI, yükleyiciyi çalıştırır ve diğer sekmelerde gösterilen docker run … komutunu yazdırır. E-posta göndericisini yapılandırdıktan sonra terminalinize yapıştırın.

    http://localhost:3000 adresini (veya kontrol panelinizin URL'sini) açın ve İlk Çalıştırma Kurulumu adımlarını izleyin. İlk önyüklemede replika seti ve demet başlatılır, bu nedenle bir dakika bekleyin.

    Yedekleme ve Güncelleme

    Tüm durum intlayer-data birimi (/data/mongo, /data/redis, /data/minio) içinde tutulur.

    sh
    # Backup (stop the container first so MongoDB's files are consistent)
    docker stop intlayer
    docker run --rm -v intlayer-data:/data -v "$(pwd)":/backup busybox tar czf /backup/intlayer-data.tar.gz /data
    docker start intlayer
    
    # Restore
    docker run --rm -v intlayer-data:/data -v "$(pwd)":/backup busybox tar xzf /backup/intlayer-data.tar.gz -C /
    

    Güncellemek için yükleyiciyi tekrar çalıştırın (en son imajı çeker ve intlayer.env dosyasını korur), ardından docker rm -f intlayer komutunu çalıştırın ve başlatma komutunu yeniden çalıştırın. Birlikte gelen yerine yönetilen bir MongoDB kullanmak için intlayer.env dosyasında MONGODB_URI değişkenini ayarlayın.

    Özel bir Compose ağında hizmet başına bir kapsayıcı. Kontrol paneli ve API, yayınlanan intlayer/cms-frontend ve intlayer/cms-backend imajlarını kullanır; veri depoları ise resmi mongo, redis ve minio imajlarını kullanır.

    plaintext
                    ┌───────────────────┐
     browser ──────▶ │  app        :3000 │ ── SSR ──▶ http://backend:3100
     (localhost)    └───────────────────┘
                    ┌───────────────────┐
     browser ──────▶ │  backend    :3100 │
     (localhost)    └─────────┬─────────┘
              ┌───────────────┼───────────────┐
              ▼               ▼               ▼
         mongo:27017     redis:6379      minio:9000 ◀── browser (assets)
         (1-node RS)                     minio:9001
    
    HizmetİmajRol
    appintlayer/cms-frontend:3000 portundaki kontrol paneli; arka ucun sağlıklı olmasını bekler
    backendintlayer/cms-backendChromium ile :3100 portundaki API; Mongo, Redis ve MinIO demetini bekler
    mongomongo:8Kendi durum kontrolü ile başlatılan tek düğümlü replika seti rs0
    redisredis:8-alpineKuyruklar ve önbellekleme, yalnızca eklemeli (append-only) kalıcılık
    minioquay.io/minio/minio:9000 portunda S3 depolama, :9001 portunda konsol
    minio-initquay.io/minio/mcTek seferlik: demeti ve anonim indirme politikasını oluşturur

    Veriler intlayer_mongo-data, intlayer_redis-data ve intlayer_minio-data birimlerinde depolanır. Hizmet bağlantıları (MONGODB_URI, REDIS_URL, S3_ENDPOINT, sunucu tarafı işleme için dahili arka uç URL'si) compose dosyasında tanımlıdır ve yalnızca gizli anahtarları ve isteğe bağlı entegrasyonları barındıran .env dosyasına göre önceliklidir.

    Önkoşullar

    • Docker ≥ 24 (Compose eklentisiyle birlikte): Yükleyici Linux ve macOS'ta kurulumu önerir. Windows'ta önce Docker Desktop (WSL 2 arka ucu) kurun.
    • Ana bilgisayarda 3000, 3100, 9000 ve 9001 portları boş olmalıdır.
    • Bir e-posta göndericisi: Resend API anahtarı veya bir SMTP geçişi.

    1. Yükleme

    Oluşturulan gizli anahtarlarla birlikte docker-compose.yml ve bir .env dosyasını ./intlayer/ dizinine yazar, hepsi-bir-arada moduyla aynı kurulum sorularını (alan adı, e-posta göndericisi, OpenAI anahtarı) sorar ve imajları çeker.

    sh
    curl -fsSL https://intlayer.org/install.sh | sh -s -- --mode compose
    

    Or by hand:

    sh
    mkdir intlayer && cd intlayer
    curl -fsSLO https://raw.githubusercontent.com/aymericzip/intlayer/main/docker/selfhost/docker-compose.yml
    curl -fsSL  https://raw.githubusercontent.com/aymericzip/intlayer/main/docker/selfhost/.env.template -o .env
    # fill in BETTER_AUTH_SECRET and S3_SECRET_ACCESS_KEY (openssl rand -hex 32)
    

    In PowerShell:

    powershell
    $env:INTLAYER_MODE = "compose"; irm https://intlayer.org/install.ps1 | iex
    

    Or by hand:

    powershell
    mkdir intlayer; cd intlayer
    irm https://raw.githubusercontent.com/aymericzip/intlayer/main/docker/selfhost/docker-compose.yml -OutFile docker-compose.yml
    irm https://raw.githubusercontent.com/aymericzip/intlayer/main/docker/selfhost/.env.template -OutFile .env
    # fill in BETTER_AUTH_SECRET and S3_SECRET_ACCESS_KEY
    
    bash
    npx intlayer init infra --mode compose
    

    2. E-posta Göndericisini Yapılandırın

    E-posta göndericisi sorusunu atladıysanız, tıpkı hepsi-bir-arada kapsayıcısında olduğu gibi intlayer/.env dosyasına Resend veya SMTP bilgilerini girin (Genel e-posta göndericisi bölümüne bakın).

    3. Başlatma

    sh
    cd intlayer && docker compose up -d
    

    Özel bir alan adıyla, yükleyici ayrıca docker-compose.build.yml dosyasını indirir ve başlatma komutu docker compose -f docker-compose.yml -f docker-compose.build.yml up -d --build olur (bkz. Özel alan adı).

    http://localhost:3000 adresini (veya kontrol panelinizin URL'sini) açın ve İlk Çalıştırma Kurulumu adımlarını izleyin.

    Yönetilen Veri Depoları

    Değiştirdiğiniz hizmeti compose dosyasından (ve backend altındaki depends_on girişinden) silin ve ilgili değişkeni geçersiz kılın:

    docker-compose.yml
    services:
      backend:
        environment:
          MONGODB_URI: mongodb+srv://user:password@cluster0.xxxxx.mongodb.net/intlayer
          REDIS_URL: rediss://default:password@redis.example.com:6380
          S3_ENDPOINT: https://s3.eu-west-1.amazonaws.com
          S3_PUBLIC_URL: https://intlayer-assets.s3.eu-west-1.amazonaws.com
    

    S3_ACCESS_KEY_ID / S3_SECRET_ACCESS_KEY / S3_BUCKET_NAME değişkenleri herhangi bir S3 uyumlu sağlayıcı ile sorunsuz çalışır.

    Ölçekleme

    app ve backend durumsuzdur (stateless). Bir yük dengeleyicinin arkasında, sabit ana bilgisayar port eşlemelerini kaldırdığınız ve proxy'nin hizmet adına göre yönlendirme yaptığı varsayımıyla docker compose up -d --scale backend=3 komutu çalışır. Arka plan işleri Redis (BullMQ) aracılığıyla koordine edilir, bu nedenle birden çok arka uç kopyası kuyrukları güvenle paylaşır.

    Kaynaktan Derleme

    Bir geçersiz kılma (override), iki Intlayer hizmetini image: yerine build: kullanımına geçirir. Depo klonundan:

    sh
    cd docker/selfhost
    docker compose -f docker-compose.yml -f docker-compose.build.yml up -d --build
    

    Klon olmadan, .env içinde INTLAYER_BUILD_CONTEXT=https://github.com/aymericzip/intlayer.git#main ayarlayarak derleme bağlamını doğrudan depoya yönlendirin. Kontrol panelinin VITE_* derleme argümanları aynı dosyadaki DOMAIN, APP_URL ve BACKEND_URL değerlerini izler; özel alan adı bu şekilde uygulanır.

    Yedekleme ve Güncelleme

    sh
    # Backup one volume (repeat for intlayer_redis-data and intlayer_minio-data)
    docker compose stop
    docker run --rm -v intlayer_mongo-data:/data -v "$(pwd)":/backup busybox tar czf /backup/mongo-data.tar.gz /data
    docker compose start
    
    # Upgrade, volumes are kept
    docker compose pull && docker compose up -d
    

    Yükleyici Ayarları

    --mode (veya INTLAYER_MODE) belirtilmezse, yükleyici bir menü sunar: desktop, docker (hepsi-bir-arada) veya compose. Ayrıca birkaç ortam değişkenini de okur; bunlar kabuğa yönlendirildiği için curl yerine doğrudan kabuğa aktarılmalıdır:

    sh
    curl -fsSL https://intlayer.org/install.sh | INTLAYER_COMPOSE_DIR=./cms sh -s -- --mode compose
    
    powershell
    $env:INTLAYER_MODE = "compose"; $env:INTLAYER_COMPOSE_DIR = ".\cms"; irm https://intlayer.org/install.ps1 | iex
    
    VariableDefaultApplies toDescription
    INTLAYER_MODE(asked)alldesktop, docker or compose, same as --mode
    INTLAYER_DOWNLOAD_DIR~/DownloadsdesktopWhere the app installer is saved
    INTLAYER_IMAGEintlayer/cms-all:latestdockerAll-in-one image to pull
    INTLAYER_ENV_FILE./intlayer.envdockerWhere to write the environment file
    INTLAYER_CONTAINER_NAMEintlayerdockerContainer name
    INTLAYER_DATA_VOLUMEintlayer-datadockerNamed volume mounted at /data
    INTLAYER_APP_PORT3000dockerHost port for the dashboard
    INTLAYER_API_PORT3100dockerHost port for the API
    INTLAYER_S3_PORT9000dockerHost port for the MinIO S3 API
    INTLAYER_CONSOLE_PORT9001dockerHost port for the MinIO console
    INTLAYER_COMPOSE_DIR./intlayercomposeWhere docker-compose.yml and .env are written
    INTLAYER_SELFHOST_REFmainbothGit ref the compose file and env template are fetched from
    INTLAYER_BUILD_CONTEXT…/intlayer.git#mainbothBuild context used when a custom domain requires a rebuild
    INTLAYER_CUSTOM_IMAGEintlayer/cms-all:customdockerTag of the all-in-one image built for a custom domain
    Port değişkenleri yalnızca eşlemenin ana bilgisayar tarafını değiştirir. Yayınlanan imajlarda kontrol paneli paketine http://localhost:3000, http://localhost:3100 ve http://localhost:9000 derlenmiştir; bu nedenle kendi imajınızı derlemediğiniz sürece varsayılan değerleri koruyun, bkz. Sınırlamalar.

    İlk Çalıştırma Kurulumu

    Yeni bir örnekte (boş veritabanı) kontrol panelini açtığınızda otomatik olarak /init sayfasına yönlendirilirsiniz:

    1. İlk hesabı oluşturun. Kullanıcı koleksiyonu boş olduğundan, bu hesap otomatik olarak Süper Yönetici yapılır.
    2. Resend veya SMTP geçişiniz üzerinden bir doğrulama e-postası gönderilir. E-posta doğrulaması zorunludur; bu nedenle başlatmadan önce bir e-posta göndericisi yapılandırılmalıdır.
    3. E-postadaki bağlantıya tıklayın ve giriş yapın.

    Yönetici oluşturulduktan sonra /init adresi normal oturum açma sayfasına yönlendirilir.

    Ortam Değişkenleri

    Her iki Docker modu da docker/selfhost/.env.template dosyasından oluşturulan aynı dosyayı (kapsayıcı için intlayer.env, Compose için .env) okur.

    Gerekli

    VariableExampleDescription
    BETTER_AUTH_SECRET(generated)32-byte secret for session signing
    S3_SECRET_ACCESS_KEY(generated)Secret for the bundled MinIO
    RESEND_API_KEY(your key)Transactional email via Resend. Required for first-run setup unless an SMTP relay is configured instead (see Global mailer)

    Dağıtım Tarafından Sabitlenmiş

    Bunlar imaj (hepsi-bir-arada) veya compose dosyası tarafından ayarlanır ve yalnızca standart dışı bir topoloji için geçersiz kılınmaları gerekir. DOMAIN, APP_URL, BACKEND_URL ve S3_PUBLIC_URL istisnadır: env dosyasında ayarlandıklarında her iki modda da önceliklidirler (bkz. Özel alan adı).

    VariableAll-in-oneDocker ComposeDescription
    PORT31003100Backend listening port
    APP_URLhttp://localhost:3000http://localhost:3000Public URL of the dashboard
    BACKEND_URLhttp://localhost:3100http://localhost:3100Public URL of the backend API
    DOMAINlocalhostlocalhostCookie domain
    SELF_HOSTEDtruetrueDisables the cloud-only API endpoints (billing, subscriptions, marketplace)
    MONGODB_URImongodb://127.0.0.1:27017/intlayer?replicaSet=rs0mongodb://mongo:27017/…MongoDB connection string, any mongodb:// or mongodb+srv:// cluster works
    REDIS_URLredis://127.0.0.1:6379redis://redis:6379Redis
    S3_ENDPOINThttp://127.0.0.1:9000http://minio:9000MinIO (server-to-server)
    S3_PUBLIC_URLhttp://localhost:9000/intlayerhttp://localhost:9000/intlayerPublic URL for browser asset loading
    S3_BUCKET_NAMEintlayerintlayerBucket name
    S3_ACCESS_KEY_IDintlayerintlayerMinIO access key

    Compose app hizmeti ek olarak INTLAYER_BACKEND_INTERNAL_URL=http://backend:3100 alır: tarayıcı API'ye localhost:3100 üzerinden erişirken, sunucu tarafı işleme Compose ağı içinde çalışır ve bu nedenle hizmet adını kullanmalıdır.

    Özel alan adı

    Arka uç, genel URL'lerini çalışma zamanında okur, ancak kontrol panelinde bunlar derleme sırasında gömülüdür: yayınlanan intlayer/cms-frontend ve intlayer/cms-all imajları yalnızca http://localhost:3000 üzerinde çalışır. Bu nedenle Intlayer'ı kendi alan adınızda sunmak iki şey gerektirir; alan adı sorusunu yanıtladığınızda yükleyici her ikisini de hazırlar:

    1. env dosyasında dört değişken; arka uç tarafından okunur (çerezler, e-posta bağlantıları, OAuth geri çağrıları, varlık URL'leri) ve docker-compose.build.yml tarafından derleme argümanları olarak kullanılır:

      intlayer.env
      DOMAIN=example.org                          # cookie domain, parent of the hosts below
      APP_URL=https://cms.example.org
      BACKEND_URL=https://back.example.org
      S3_PUBLIC_URL=https://s3.example.org/intlayer
      
    2. Bu URL'lerle derlenmiş bir kontrol paneli imajı. Docker bunu doğrudan depodan derler, klon gerekmez:

      sh
      # Docker Compose: the override reads the build args from .env
      docker compose -f docker-compose.yml -f docker-compose.build.yml up -d --build
      
      # All-in-one
      docker build -f docker/selfhost/Dockerfile \
        --build-arg VITE_DOMAIN=example.org \
        --build-arg VITE_SITE_URL=https://cms.example.org \
        --build-arg VITE_IDE_URL=https://cms.example.org \
        --build-arg VITE_BACKEND_URL=https://back.example.org \
        -t intlayer/cms-all:custom \
        https://github.com/aymericzip/intlayer.git#main
      

    Ardından kapsayıcının önüne TLS'li bir ters proxy koyun: cms.example.org → port 3000, back.example.org → 3100, s3.example.org → 9000. Oturum çerezi DOMAIN ile sınırlı olduğundan, üç ana bilgisayar bu soneki paylaşmalıdır.

    İsteğe Bağlı (ayarlanmadığında özellikler sorunsuz bir şekilde devre dışı kalır)

    VariableFeature
    OPENAI_API_KEYAI-assisted translation and content audit
    GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRETGitHub OAuth login
    GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRETGoogle OAuth login
    GITLAB_CLIENT_ID, GITLAB_CLIENT_SECRETGitLab OAuth login
    MICROSOFT_CLIENT_ID, MICROSOFT_CLIENT_SECRETMicrosoft OAuth login

    Genel E-posta Göndericisi (Mailer)

    Şifre sıfırlama ve sihirli bağlantılar dahil olmak üzere kuruluş dışı e-postalar da dahil tüm işlem e-postaları iki genel aktarımdan biri üzerinden gönderilir:

    • Resend: RESEND_API_KEY kullanır.
    • SMTP: MAIL_SMTP_* değişkenlerini kullanır. MAIL_SMTP_HOST ayarlandığı anda SMTP seçilir ve RESEND_API_KEY yok sayılır.

    MAIL_PROVIDER yalnızca her ikisi de yapılandırıldığında bir aktarımı zorlamak için gereklidir (örneğin bir SMTP sunucusu mevcutken Resend'i korumak için MAIL_PROVIDER=resend).

    VariableExampleDescription
    MAIL_FROMIntlayer <no-reply@acme.com>Sender header for either transport. Accepts a bare address or Name <email>
    MAIL_SMTP_HOSTsmtp.acme.comSMTP host. Setting it selects the SMTP transport
    MAIL_SMTP_PORT587SMTP port (defaults to 587)
    MAIL_SMTP_SECUREfalseImplicit TLS. Set true for port 465
    MAIL_SMTP_USER(your user)SMTP username (optional; omit for unauthenticated relays)
    MAIL_SMTP_PASSWORD(your password)SMTP password
    MAIL_PROVIDERresendOptional override: smtp or resend. Leave unset to auto-select
    Öncelik: Bir kuruluşun kendi e-posta göndericisi (Kuruluş kontrol panelinden yapılandırılır) genel e-posta göndericisini geçersiz kılar; genel e-posta göndericisi ise varsayılan Resend anahtarını geçersiz kılar.

    Intlayer Projenizi Bağlama

    Yığın çalıştırıldıktan sonra, projenizi intlayer.org yerine kendi barındırdığınız arka uca ve kontrol paneline işaret edecek şekilde yapılandırın.

    Proje Yapılandırması

    intlayer.config.ts
    import type { IntlayerConfig } from "intlayer";
    
    const config: IntlayerConfig = {
      editor: {
        clientId: process.env.INTLAYER_CLIENT_ID,
        clientSecret: process.env.INTLAYER_CLIENT_SECRET,
    
        /**
         * URL of the self-hosted CMS dashboard.
         * Default: https://app.intlayer.org
         */
        cmsURL: process.env.INTLAYER_CMS_URL, // e.g. http://localhost:3000
    
        /**
         * URL of the self-hosted backend API.
         * Default: https://back.intlayer.org
         */
        backendURL: process.env.INTLAYER_BACKEND_URL, // e.g. http://localhost:3100
      },
    };
    
    export default config;
    

    Set the environment variables in your project's .env:

    sh
    INTLAYER_CMS_URL=http://localhost:3000
    INTLAYER_BACKEND_URL=http://localhost:3100
    INTLAYER_CLIENT_ID=<your-client-id>
    INTLAYER_CLIENT_SECRET=<your-client-secret>
    

    Erişim kimlik bilgilerini kendi barındırdığınız kontrol panelinden oluşturun: Projeler → Erişim Anahtarları (http://localhost:3000/projects).

    @intlayer/api SDK

    @intlayer/api SDK'sını programlı olarak kullanırken backendURL parametresini açıkça iletin:

    cms.ts
    import { createIntlayerCMS } from "@intlayer/api";
    import { dictionaryEndpoint } from "@intlayer/api/dictionary";
    
    const cms = createIntlayerCMS({
      editor: {
        clientId: process.env.INTLAYER_CLIENT_ID,
        clientSecret: process.env.INTLAYER_CLIENT_SECRET,
        backendURL: process.env.INTLAYER_BACKEND_URL, // http://localhost:3100
      },
    });
    
    const { data: dictionaries } = await dictionaryEndpoint(cms).getDictionaries();
    

    Sınırlamalar

    • Özel alan adı yeniden derleme demektir. Tarayıcıya yönelik tüm VITE_* URL'leri derleme sırasında kontrol paneline dahil edilir ve yayınlanan imajlar (ve masaüstü uygulaması) localhost / Intlayer Cloud değerleriyle yapılandırılmıştır. Varsayılan olarak kontrol paneline http://localhost:3000, API'ye :3100 ve MinIO'ya :9000 üzerinden erişilmelidir; ana bilgisayar portlarını yeniden eşlemek de aynı etkiyi yaratır. Bir alan adı verdiğinizde yükleyici, depodan yeniden derleme için her şeyi hazırlar (bkz. Özel alan adı), ancak derlemenin kendisi birkaç dakika sürer. Masaüstü uygulamasını kendi kendine barındırılan bir arka uca yönlendirmek desteklenmez.
    • E-posta gönderimi çalışan bir gönderici gerektirir. İlk çalıştırma kurulumunda e-posta doğrulaması zorunlu olduğundan RESEND_API_KEY veya bir SMTP geçişi (MAIL_SMTP_*) yapılandırılmalıdır. İlk yönetici oturum açtıktan sonra kuruluşlar kontrol panelinden kendi SMTP veya Resend göndericilerini de yapılandırabilir.
    • Masaüstü uygulaması yerleşik sunucuyu başlatmak için makinede Node.js gerektirir.
    • Dokümantasyon asistanı yok. intlayer.org'un yapay zeka dokümantasyon asistanı (/api/ai/ask, /api/search/doc), kendi kendine barındırma imajlarında bulunmayan yaklaşık 130 MB önceden hesaplanmış dokümantasyon embedding'lerine dayanır; bu iki rota kendi kendine barındırılan modda kaydedilmez. Kontrol panelinin kendi yapay zeka özellikleri (çeviri, denetim, otomatik tamamlama, sohbet) etkilenmez ve yalnızca OPENAI_API_KEY gerektirir.

    Faydalı Bağlantılar