Docker ile kurmak#

Docker için hazırlanmış Weblate dağıtımını kullanarak kişisel Weblate bulut sunucunuzu saniyeler içinde çalışır duruma getirebilirsiniz. Tüm Weblate bağımlılıkları zaten katılmıştır. Varsayılan veri tabanı olarak PostgreSQL kurulmuştur.

Donanım gereksinimleri#

Weblate, herhangi bir çağdaş donanımda sorunsuz çalışmalıdır, Tek bir sunucuda Weblate bileşenlerini (Weblate, veri tabanı ve site sunucusu) çalıştırmak için gerekli en az yapılandırma şu şekildedir:

  • 3 GB RAM bellek

  • 2 işlemci çekirdeği

  • 1 GB depolama alanı

Bellek ne kadar çok olursa o kadar iyidir. Tüm düzeylerde (dosya sistemi, veri tabanı ve Weblate) ön bellek için kullanılır.

Eşzamanlı bulunacak kullanıcı sayısı, gerekli işlemci çekirdeği sayısını artırır. Yüzlerce bileşenden oluşan çevirler için en az 4 GB RAM bellek bulunması önerilir.

Veri tabanı depolama alanı gereksinimi, barındırılacak 1 milyon sözcük için yaklaşık 300 MB olarak düşünebilir. Kopyalanmış depolar için gereken depolama alanı değişiklik gösterir. Ancak Weblate sığ kopyalama ile depo boyutlarını en az düzeyde tutmaya çalışır.

Not

Weblate kurulumunuz için gerçek gereksinimler, üzerinde bulunacak çevirilerin boyutuna bağlı olarak büyük ölçüde değişiklik gösterebilir.

İpucu

Önerilenden daha az bellek bulunan sistemler için Tek işlemli Celery kurulumu önerilir.

Kurulum#

İpucu

Aşağıdaki örneklerde, docker-compose-plugin ile kurulumu yapılmış çalışan bir Docker ortamınız olduğu varsayılmaktadır. Yönergeler için Docker belgelerine bakabilirsiniz.

Böylece, HTTP ile bir Weblate dağıtım sunucusu oluşturulur. Bu nedenle, onu HTTPS sonlandırıcı vekil sunucunın arkasına yerleştirmelisiniz. Ayrıca bir HTTPS vekil sunucusu ile de kurulum yapabilirsiniz. Ayrıntılı bilgi almak için: Let’s Encrypt ile SSL sertifikası sağlamak. Daha büyük kurulumlar için lütfen Yatay ölçeklendirme bölümüne bakın.

  1. weblate-docker deposunu kopyalayın:

    git clone https://github.com/WeblateOrg/docker-compose.git weblate-docker
    cd weblate-docker
    
  2. Ayarlarınızı yaptığınız bir docker-compose.override.yml dosyası oluşturun. Ortam değişkenlerinin tam listesi için Docker ortam değişkenleri bölümüne bakabilirsiniz.

    version: '3'
    services:
      weblate:
        ports:
          - 80:8080
        environment:
          WEBLATE_EMAIL_HOST: smtp.example.com
          WEBLATE_EMAIL_HOST_USER: user
          WEBLATE_EMAIL_HOST_PASSWORD: pass
          WEBLATE_SERVER_EMAIL: weblate@example.com
          WEBLATE_DEFAULT_FROM_EMAIL: weblate@example.com
          WEBLATE_SITE_DOMAIN: weblate.example.com
          WEBLATE_ADMIN_PASSWORD: password for the admin user
          WEBLATE_ADMIN_EMAIL: weblate.admin@example.com
    

    Not

    WEBLATE_ADMIN_PASSWORD değişkeni ayarlanmamışsa, yönetici kullanıcı başta belirtilen rastgele bir parolayla oluşturulur.

    Verilen örnekte, Weblate 80 numaralı bağlantı noktasını dinleyecek şekilde ayarlanmıştır. docker-compose.override.yml dosyasını düzenleyerek bağlantı noktasını değiştirebilirsiniz.

  3. Weblate kapsayıcılarını başlatın:

    docker compose up
    

Weblate dağıtımınızın tadını çıkarın. weblate kapsayıcısına 80 numaralı bağlantı noktasından erişilebilir.

Docker kalıbı kayıt defterini seçmek#

Weblate kapsayıcıları şu kayıt defterlerinde yayınlanmıştır:

Not

Tüm örneklerde kalıplar Docker Hub üzerinden alınıyor. Farklı bir kayıt defteri kullanmak için yapılandırmayı uygun şekilde ayarlayın.

Docker kalıp etiketini seçmek#

Lütfen ortamınıza ve beklentilerinize uygun bir etiket seçin:

Etiket adı

Açıklama

Kullanım amacı

latest

Son etiketlenmiş sürümle eşleşen kararlı Weblate sürümü

Üretim ortamında güncellemeleri yapmak

<MAJOR>

Weblate kararlı sürümü

Bir üretim ortamında ana sürüm güncellemeleri

<MAJOR>.<MINOR>

Weblate kararlı sürümü

Bir üretim ortamında küçük sürüm güncellemeleri

<VERSION>.<PATCH>

Weblate kararlı sürümü

Üretim ortamında iyi tanımlanmış dağıtım

edge

Docker kapsayıcısındaki geliştirme değişiklikleriyle Weblate kararlı sürümü (güncelleştirilmiş bağımlılıklar gibi)

Deneme ortamında güncellemeleri yapmak

edge-<DATE>-<SHA>

Docker kapsayıcısındaki geliştirme değişiklikleriyle Weblate kararlı sürümü (güncelleştirilmiş bağımlılıklar gibi)

Hazırlama ortamında iyi tanımlanmış dağıtım

bleeding

Git üzerinden Weblate geliştirme sürümü

Yakında eklencek Weblate özelliklerini denemel için güncelleme ekleri

bleeding-<DATE>-<SHA>

Git üzerinden Weblate geliştirme sürümü

Yaklaşan Weblate özelliklerini denemek için iyi tanımlanmış dağıtım

Her kalıp yayınlanmadan önce denenir. Bu nedenle bleeding sürümünün kullanımı bile oldukça güvenli olmalıdır.

Yayınlanmış etiketlerin tam listesi GitHub paketleri içinde bulunabilir

HTTPS desteği ile Docker kapsayıcısı#

Genel dağıtım yönergeleri için Kurulum bölümüne bakabilirsiniz. Bu bölümde yalnızca oradakinden farklı olan durumlar ele alınmıştır.

Kendi SSL sertifikalarınızı kullanmak#

Kullanmak istediğiniz bir SSL sertifikanız varsa, dosyaları Weblate veri birimine yerleştirmeniz yeterlidir (ayrıntılı bilgi almak için: :ref:`docker-volume’):

  • ssl/fullchain.pem dosyasında gerekli sertifika kuruluşunun sertifikaları ile birlikte kullanılacak sertifika bulunur

  • ssl/privkey.pem dosyasında kişisel anahtar bulunur

Bu dosyaların ikisinin de sahibi, docker kapsayıcısını başlatan kullanıcı ile aynı olmalı ve dosya izinleri 600 olarak ayarlanmış olmalıdır (yalnızca sahibi olan kullanıcı tarafından okunabilir ve yazılabilir).

Ek olarak, Weblate kapsayıcısı SSL bağlantılarını artık 4443 numaralı bağlantı noktasından karşılar. Docker compose değişikliklerine HTTPS için bağlantı noktası yönlendirmeyi de katmak istersiniz:

version: '3'
services:
  weblate:
    ports:
      - 80:8080
      - 443:4443

Aynı sunucuda başka siteler barındırıyorsanız, büyük olasılıkla 80 ve 443 numaralı bağlantı noktaları NGINX gibi bir ters vekil sunucu tarafından kullanılmaktadır. HTTPS bağlantısını NGINX üzerinden docker kapsayıcısına geçirmek için şu yapılandırmayı kullanabilirsiniz:

server {
    listen 443 ssl;
    listen [::]:443 ssl;

    server_name <SITE_URL>;
    ssl_certificate /etc/letsencrypt/live/<SITE>/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/<SITE>/privkey.pem;

    location / {
            proxy_set_header HOST $host;
            proxy_set_header X-Forwarded-Proto https;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Host $server_name;
            proxy_pass https://127.0.0.1:<EXPOSED_DOCKER_PORT>;
    }
}

<SITE_URL>, <SITE> ve <EXPOSED_DOCKER_PORT> seçeneklerine ortamınızın gerçek değerlerini yazın.

Let’s Encrypt ile SSL sertifikası sağlamak#

Genel kurulumda kendiliğinden oluşturulan Let’s Encrypt SSL sertifikalarını kullanmak istiyorsanız, ters bir HTTPS vekil sunucusu eklemeniz gerekir. Bunun için ek bir Docker kapsayıcısı olan https-portal kullanılır. Bu, docker-compose-https.yml dosyası kullanılarak yapılır. Ardından ayarlarınızla bir docker-compose-https.override.yml dosyası oluşturun:

version: '3'
services:
  weblate:
    environment:
      WEBLATE_EMAIL_HOST: smtp.example.com
      WEBLATE_EMAIL_HOST_USER: user
      WEBLATE_EMAIL_HOST_PASSWORD: pass
      WEBLATE_SITE_DOMAIN: weblate.example.com
      WEBLATE_ADMIN_PASSWORD: password for admin user
  https-portal:
    environment:
      DOMAINS: 'weblate.example.com -> http://weblate:8080'

docker-compose komutunu her çağırdığınızda, her iki dosyayı da belirtmeniz ve ardından şunları yapmanız gerekir:

docker compose -f docker-compose-https.yml -f docker-compose-https.override.yml build
docker compose -f docker-compose-https.yml -f docker-compose-https.override.yml up

Docker kapsayıcısını yükseltmek#

Genellikle yalnızca Weblate kapsayıcısını güncellemek ve PostgreSQL kapsayıcısını olduğu sürümde tutmak iyi bir fikirdir. Çünkü PostgreSQL yükseltmesi oldukça zorlu bir işlemdir ve çoğu durumda fazla bir yarar sağlamaz.

4.17-1 sürümünde değişti: Weblate 4.17-1 sürümünden bu yana, Docker kapsayıcısı PostgreSQL 12 ya da üzerindeki sürümlere gerek duyan Django 4.2 kullanır. Lütfen Weblate yükseltmesinden önce Docker sürümünü yükseltin. Ayrıntılı bilgi almak için: PostgreSQL kapsayıcısını yükseltmek.

Bu işlemi, var olan docker-compose ögesine bağlı kalarak ve son kalıpları alıp yeniden başlatarak yapabilirsiniz:

# Fetch latest versions of the images
docker compose pull
# Stop and destroy the containers
docker compose down
# Spawn new containers in the background
docker compose up -d
# Follow the logs during upgrade
docker compose logs -f

Weblate veri tabanının başlangıçta kendiliğinden aktarılması ve el ile yapılacak ek işlemlere gerek kalmaması beklenir.

Not

Weblate ana sürümler arasında yükseltme işlemini desteklemez. Örneğin, 3.x serisini kullanıyor ve 4.x serisine yükseltmek istiyorsanız, önce son 4.0.x-y kalıbına (yazı hazırlandığında 4.0.4-5 sürümüydü) yükseltin. Bu kalıp önce aktarımı yapıp ardından yeni sürümlere yükseltmeyi sağlar.

docker-compose deposunu da güncellemek isteyebilirsiniz. Ancak çoğu durumda buna gerek olmaz. PostgreSQL sunucusunu yükseltmek için PostgreSQL kapsayıcısını yükseltmek sayfasına bakabilirsiniz.

PostgreSQL kapsayıcısını yükseltmek#

PostgreSQL kapsayıcıları sürümler arasında kendiliğinden yükseltmeyi desteklemez. El ile yükseltmeniz gerekir. Aşağıdaki adımlarda, yükseltme seçeneklerinden biri gösterilmektedir.

  1. Weblate kapsayıcısını durdurun:

    docker compose stop weblate cache
    
  2. Veri tabanını yedekleyin:

    docker compose exec database pg_dumpall --clean --if-exists --username weblate > backup.sql
    
  3. Veri tabanı kapsayıcısını durdurun:

    docker compose stop database
    
  4. PostgreSQL birimini kaldırın:

    docker compose rm -v database
    docker volume remove weblate-docker_postgres-data
    

    İpucu

    Birim adında, bu belgede varsayılan klasör adı weblate-docker olan Docker Compose projesinin adı bulunur.

  5. docker-compose.yml dosyasını yeni PostgreSQL sürümünü kullanarak şekilde ayarlayın.

  6. Veri tabanı kapsayıcısını başlatın:

    docker compose up -d database
    
  7. Veri tabanını yedekten geri yükleyin:

    cat backup.sql | docker compose exec -T database psql --username weblate --dbname weblate
    

    İpucu

    Veri tabanı adının POSTGRES_DATABASE ile aynı olduğundan emin olun.

  8. (İsteğe bağlı) Weblate kullanıcısının parolasını güncelleyin. Parolaları depolama yöntemi değiştirildiği için PostgreSQL 14 ya da 15 sürümüne geçiş yaparken bu işlemi yapmanız gerekebilir:

    docker compose exec -T database psql --username weblate --dbname weblate -c "ALTER USER weblate WITH PASSWORD 'weblate'"
    

    İpucu

    Veri tabanı adının POSTGRES_DATABASE ile aynı olduğundan emin olun.

  9. Kalan tüm kapsayıcıları başlatın:

    docker compose up -d
    

Yönetici olarak oturum açın#

Kapsayıcı kurulumundan sonra, WEBLATE_ADMIN_PASSWORD içinde belirtilen parolayla ya da ayarlanmamışsa başlangıçta oluşturulan rastgele bir parolayla admin kullanıcısı ile oturum açabilirsiniz.

admin parolasını sıfırlamak için WEBLATE_ADMIN_PASSWORD seçeneğine yeni parolayı ayarlayın ve kapsayıcıyı yeniden başlatın.

İşlem sayısı ve bellek kullanımı#

Hem uWSGI hem de Celery için çalışan işlem sayısı, işlemci sayısına göre kendiliğinden belirlenir. Bu seçim, çoğu bulut sanal makinesi için iyi çalışır. Bu makinelerde genellikle az sayıda işlemci ve iyi miktarda bellek bulunur.

Çok fazla işlemci çekirdeğiniz varsa ve bellek sorunlarından kurtulursanız, işlem sayısını azaltmayı deneyin:

environment:
  WEBLATE_WORKERS: 2

Ayrıca her işleyici kategorisi için ince ayar yapabilirsiniz:

environment:
  WEB_WORKERS: 4
  CELERY_MAIN_OPTIONS: --concurrency 2
  CELERY_NOTIFY_OPTIONS: --concurrency 1
  CELERY_TRANSLATE_OPTIONS: --concurrency 1

Yatay ölçeklendirme#

4.6 sürümünde geldi.

Hizmeti yatay olarak ölçeklemek için birden çok Weblate kapsayıcısı çalıştırabilirsiniz. /app/data biriminin tüm kapsayıcılar tarafından paylaşılması gerekir. Bunun için GlusterFS gibi küme dosya sistemlerinin kullanılması önerilir. /app/cache birimi her kapsayıcı için ayrı olmalıdır.

Her Weblate kapsayıcısı, WEBLATE_SERVICE ortam değişkenini kullanarak rolü tanımlar. Bazı hizmetlerin kümede yalnızca bir kez çalışması gerektiğinden ve hizmetlerin sıralaması önemli olduğundan, belgelere dikkatle uyun.

Örnek kurulumu docker-compose deposunda docker-compose-split.yml olarak bulabilirsiniz.

Docker ortam değişkenleri#

Weblate Yapılandırma ögelerinin çoğu, Docker kapsayıcısında aşağıda açıklanan ortam değişkenleri ile ayarlanabilir.

Docker ortam değişkenlerinde bulunmayan bir ayar yapmanız gerekiyorsa ayrıntılı bilgi almak için Ortam değişkenlerinin yapılandırması.

Parolaları aktarmak#

5.0 sürümünde geldi.

Weblate kapsayıcısı parolaların dosya olarak aktarılmasını destekler. Bunu kullanmak için ortam değişkenine _FILE son ekini ekleyin ve parola dosyayı Docker üzerinden aktarın.

İlişkili docker-compose.yml dosyası şöyle görünür:

services:
   weblate:
      environment:
         POSTGRES_PASSWORD_FILE: /run/secrets/db_password
      secrets:
         - db_password
   database:
      environment:
         POSTGRES_PASSWORD_FILE: /run/secrets/db_password
      secrets:
         - db_password


secrets:
   db_password:
     file: db_password.txt

Genel ayarlar#

WEBLATE_DEBUG#

DEBUG kullanarak Django hata ayıklama kipini yapılandırır.

Örnek:

environment:
  WEBLATE_DEBUG: 1

Ayrıca bakınız

Hata ayıklama kipini kapatın

WEBLATE_LOGLEVEL#

Günlük tutma düzeyini yapılandırır. Ayrıntılı günlük kayıtları tutmak için DEBUG olarak ayarlayın.

WEBLATE_DEBUG kapatıldığında varsayılan olarak INFO olur. Hata ayıklama kipi açıldığında DEBUG kullanılır.

Daha sessiz günlük kaydı için ERROR ya da WARNING kullanın.

WEBLATE_LOGLEVEL_DATABASE#

Veri tabanı sorguları günlük kayıtlarının ayrıntı düzeyini yapılandırır.

WEBLATE_SITE_TITLE#

Tüm sayfaların üst bilgisi olarak görüntülenecek site başlığını değiştirir.

WEBLATE_SITE_DOMAIN#

Site etki alanını yapılandırır. Bu parametre gereklidir.

WEBLATE_ADMIN_NAME#
WEBLATE_ADMIN_EMAIL#

Site yöneticisinin adını ve e-posta adresini yapılandırır. Hem ADMINS ayarını hem de admin kullanıcısını oluşturmak için kullanılır (ayrıntılı bilgi almak için: WEBLATE_ADMIN_PASSWORD).

Örnek:

environment:
  WEBLATE_ADMIN_NAME: Weblate admin
  WEBLATE_ADMIN_EMAIL: noreply@example.com
WEBLATE_ADMIN_PASSWORD#

admin kullanıcısının parolasını ayarlar.

  • Ayarlanmamışsa ve admin kullanıcısı yoksa, kapsayıcı ilk kez başlatıldığında görüntülenen rastgele bir parola ile oluşturulur.

  • Ayarlanmamışsa ve admin kullanıcısı varsa, hiçbir işlem gerçekleştirilmez.

  • Ayarlanmışsa, admin kullanıcısı her kapsayıcı başlangıcında WEBLATE_ADMIN_PASSWORD, WEBLATE_ADMIN_NAME ve WEBLATE_ADMIN_EMAIL seçeneklerine göre ayarlanır.

Uyarı

Parolayı yapılandırma dosyasında depolamak bir güvenlik riski oluşturabilir. Bu değişkeni yalnızca ilk kurulum için (ya da Weblate ilk kez başlatıldığında rastgele parola oluşturmasına izin verin) ya da parola kurtarma için kullanmayı değerlendirin.

WEBLATE_SERVER_EMAIL#

Hata iletilerinin gönderileceği e-posta adresi.

WEBLATE_DEFAULT_FROM_EMAIL#

Giden e-postaların adresini yapılandırır.

WEBLATE_CONTACT_FORM#

İletişim formu davranışını yapılandırır. Ayrıntılı bilgi almak için: CONTACT_FORM.

WEBLATE_ALLOWED_HOSTS#

ALLOWED_HOSTS kullanarak izin verilen HTTP sunucu adlarını yapılandırır.

Varsayılan değer: *. Tüm sunucu adlarına izin verir.

Örnek:

environment:
  WEBLATE_ALLOWED_HOSTS: weblate.example.com,example.com
WEBLATE_REGISTRATION_OPEN#

REGISTRATION_OPEN seçeneğini değiştirerek hesap açma özelliğini kullanıma alır ya da kaldırır.

Örnek:

environment:
  WEBLATE_REGISTRATION_OPEN: 0
WEBLATE_REGISTRATION_ALLOW_BACKENDS#

REGISTRATION_ALLOW_BACKENDS seçeneği ile yeni hesap açmak için hangi kimlik doğrulama yöntemlerinin kullanılabileceğini yapılandırır.

Örnek:

environment:
  WEBLATE_REGISTRATION_OPEN: 0
  WEBLATE_REGISTRATION_ALLOW_BACKENDS: azuread-oauth2,azuread-tenant-oauth2
WEBLATE_REGISTRATION_REBIND#

4.16 sürümünde geldi.

REGISTRATION_REBIND seçeneğini yapılandırır.

WEBLATE_TIME_ZONE#

Weblate üzerinde kullanılacak saat dilimini yapılandırır. Ayrıntılı bilgi almak için: TIME_ZONE.

Not

Docker kapsayıcısının saat dilimini değiştirmek için TZ ortam değişkenini kullanın.

Örnek:

environment:
  WEBLATE_TIME_ZONE: Europe/Prague
WEBLATE_ENABLE_HTTPS#

Weblate uygulamasının ters HTTPS vekil sunucu arkasında çalıştığını varsaymasını sağlar. Weblate e-posta ve API bağlantılarında HTTPS kullanılmasını sağlar ya da çerezler için güvenli imlerini ayarlar.

İpucu

Olası uyarılar için ENABLE_HTTPS belgelerine bakabilirsiniz.

Not

Bu seçenek, Weblate kapsayıcısının HTTPS bağlantılarını kabul etmesini sağlamaz. Bunu da yapılandırmanız gerekir. Ayrıntılı bilgi almak için: HTTPS desteği ile Docker kapsayıcısı.

Örnek:

environment:
  WEBLATE_ENABLE_HTTPS: 1
WEBLATE_INTERLEDGER_PAYMENT_POINTERS#

4.12.1 sürümünde geldi.

Weblate belgelerinin başındaki meta[name=monetization] alanının ayarlanmasını sağlar. Birden çok seçenek belirtilmişse, rastgele olarak biri seçilir.

Ayrıca bakınız

INTERLEDGER_PAYMENT_POINTERS

WEBLATE_IP_PROXY_HEADER#

IP adresinin Weblate tarafından herhangi bir HTTP üst bilgisinden alınmasını sağlar. Weblate kapsayıcısının önünde ters vekil sunucu varsa bunu kullanın.

IP_BEHIND_REVERSE_PROXY özelliğini kullanıma alır ve IP_PROXY_HEADER ögesini ayarlar.

Not

Biçim, Django beklentilerine uygun olmalıdır. Django ham HTTP üst bilgi adlarını şu biçimde dönüştürür :

  • tüm karakterleri büyük harfe dönüştürür

  • tire karakterini alt çizgi karakterine dönüştürür

  • başa HTTP_ ön ekini ekler

Böylece X-Forwarded-For değeri HTTP_X_FORWARDED_FOR ile eşleştirilir.

Örnek:

environment:
  WEBLATE_IP_PROXY_HEADER: HTTP_X_FORWARDED_FOR
WEBLATE_IP_PROXY_OFFSET#

5.0.1 sürümünde geldi.

IP_PROXY_OFFSET seçeneğini yapılandırır.

WEBLATE_USE_X_FORWARDED_PORT#

5.0.1 sürümünde geldi.

Bu ikili değer SERVER_PORT META değişkeni yerine X-Forwarded-Port üst bilgisinin kullanılıp kullanılmayacağını belirler. Bu seçenek, yalnızca bu üst bilgiyi ayarlayan bir vekil sunucu kullanılıyorsa kullanıma alınmalıdır.

Ayrıca bakınız

USE_X_FORWARDED_PORT

Not

Bu bir ikili ayardır ("true" ya da "false" kullanın).

WEBLATE_SECURE_PROXY_SSL_HEADER#

Bir isteği belirten HTTP üst bilgi/değer ikilisini temsil eden bir demet güvenlidir. Weblate, standart HTTPS üst bilgilerini geçirmeyen SSL sonlandırma işlemi yapan bir ters vekil sunucu arkasında ise bu gereklidir.

Örnek:

environment:
  WEBLATE_SECURE_PROXY_SSL_HEADER: HTTP_X_FORWARDED_PROTO,https

Ayrıca bakınız

SECURE_PROXY_SSL_HEADER

WEBLATE_REQUIRE_LOGIN#

Tüm Weblate üzerinde kimlik doğrulamasını zorunlu kılmak için REQUIRE_LOGIN seçeneğini kullanıma alır.

Örnek:

environment:
  WEBLATE_REQUIRE_LOGIN: 1
WEBLATE_LOGIN_REQUIRED_URLS_EXCEPTIONS#
WEBLATE_ADD_LOGIN_REQUIRED_URLS_EXCEPTIONS#
WEBLATE_REMOVE_LOGIN_REQUIRED_URLS_EXCEPTIONS#

LOGIN_REQUIRED_URLS_EXCEPTIONS seçeneğini kullanarak tüm Weblate kurulumu için gereken kimlik doğrulama adresi istisnalarını ekler.

Tüm ayarları değiştirebilir ya da ADD ve REMOVE seçeneklerini kullanarak varsayılan değeri değiştirebilirsiniz.

İletişim formunda kimlik doğrulamasını dayatmak için şunları yapın:

environment:
  WEBLATE_REMOVE_LOGIN_REQUIRED_URLS_EXCEPTIONS: /contact/$
WEBLATE_GOOGLE_ANALYTICS_ID#

GOOGLE_ANALYTICS_ID seçeneğini değiştirerek Google Analytics kimliğini yapılandırır.

WEBLATE_DEFAULT_PULL_MESSAGE#

DEFAULT_PULL_MESSAGE seçeneğini değiştirerek API ile yapılan çekme isteklerinin varsayılan başlığını ve iletiyi yapılandırır

Ayrıca bakınız

DEFAULT_PULL_MESSAGE

WEBLATE_SIMPLIFY_LANGUAGES#

Dil basitleştirme ilkesini yapılandırır. Ayrıntılı bilgi almak için: :setting:`SIMPLIFY_LANGUAGES’.

WEBLATE_DEFAULT_ACCESS_CONTROL#

Yeni projeler için varsayılan Erişim denetimi ögesini yapılandırır. Ayrıntılı bilgi almak için: DEFAULT_ACCESS_CONTROL.

WEBLATE_DEFAULT_RESTRICTED_COMPONENT#

Yeni bileşenler için Kısıtlı erişim seçeneğinin varsayılan değerini yapılandırır. Ayrıntılı bilgi almak için: DEFAULT_RESTRICTED_COMPONENT.

WEBLATE_DEFAULT_TRANSLATION_PROPAGATION#

Yeni bileşenler için Çevirilerin yayılmasını sağlamak seçeneğinin varsayılan değerini yapılandırır. Ayrıntılı bilgi almak için: DEFAULT_TRANSLATION_PROPAGATION.

WEBLATE_DEFAULT_COMMITER_EMAIL#

DEFAULT_COMMITER_EMAIL seçeneğini yapılandırır.

WEBLATE_DEFAULT_COMMITER_NAME#

DEFAULT_COMMITER_NAME seçeneğini yapılandırır.

WEBLATE_DEFAULT_SHARED_TM#

DEFAULT_SHARED_TM seçeneğini yapılandırır.

WEBLATE_AKISMET_API_KEY#

Akismet API anahtarını yapılandırır. Ayrıntılı bilgi almak için: AKISMET_API_KEY.

WEBLATE_GPG_IDENTITY#

İşlemelerin GPG imzamalamasını yapılandırır. Ayrıntılı bilgi almak için: WEBLATE_GPG_IDENTITY.

WEBLATE_URL_PREFIX#

Weblate ortamının çalıştığı adres ön ekini yapılandırır. Ayrıntılı bilgi almak için: URL_PREFIX.

WEBLATE_SILENCED_SYSTEM_CHECKS#

Görüntülenmesini istemediğiniz denetimleri yapılandırır. Ayrıntılı bilgi almak için: SILENCED_SYSTEM_CHECKS.

WEBLATE_CSP_SCRIPT_SRC#
WEBLATE_CSP_IMG_SRC#
WEBLATE_CSP_CONNECT_SRC#
WEBLATE_CSP_STYLE_SRC#
WEBLATE_CSP_FONT_SRC#

Content-Security-Policy HTTP üst bilgisinin özelleştirilmesini sağlar.

WEBLATE_LICENSE_FILTER#

LICENSE_FILTER seçeneğini yapılandırır.

WEBLATE_LICENSE_REQUIRED#

LICENSE_REQUIRED seçeneğini yapılandırır

WEBLATE_WEBSITE_REQUIRED#

WEBSITE_REQUIRED seçeneğini yapılandırır

WEBLATE_HIDE_VERSION#

HIDE_VERSION seçeneğini yapılandırır.

WEBLATE_BASIC_LANGUAGES#

BASIC_LANGUAGES seçeneğini yapılandırır.

WEBLATE_DEFAULT_AUTO_WATCH#

DEFAULT_AUTO_WATCH seçeneğini yapılandırır.

WEBLATE_RATELIMIT_ATTEMPTS#
WEBLATE_RATELIMIT_LOCKOUT#
WEBLATE_RATELIMIT_WINDOW#

4.6 sürümünde geldi.

Hız sınırlayıcıyı yapılandırır.

İpucu

Yapılandırmayı herhangi bir hız sınırlayıcı kapsamı için ayarlayabilirsiniz. Bunu yapmak için, :ref:rate-limit``içinde belirtilen ayarlardan herhangi birine ``WEBLATE_ ön ekini ekleyin.

WEBLATE_API_RATELIMIT_ANON#
WEBLATE_API_RATELIMIT_USER#

4.11 sürümünde geldi.

API hız sınırlamasını yapılandırır. Varsayılan değer anonim kullanıcılar için 100/gün ve kimliği doğrulanmış kullanıcılar için ``5000/saat` biçimindedir.

Ayrıca bakınız

API hız sınırlaması

WEBLATE_ENABLE_HOOKS#

4.13 sürümünde geldi.

ENABLE_HOOKS seçeneğini yapılandırır.

WEBLATE_ENABLE_AVATARS#

4.6.1 sürümünde geldi.

ENABLE_AVATARS seçeneğini yapılandırır.

WEBLATE_AVATAR_URL_PREFIX#

4.15 sürümünde geldi.

AVATAR_URL_PREFIX seçeneğini yapılandırır.

WEBLATE_LIMIT_TRANSLATION_LENGTH_BY_SOURCE_LENGTH#

4.9 sürümünde geldi.

LIMIT_TRANSLATION_LENGTH_BY_SOURCE_LENGTH seçeneğini yapılandırır.

WEBLATE_SSH_EXTRA_ARGS#

4.9 sürümünde geldi.

SSH_EXTRA_ARGS seçeneğini yapılandırır.

WEBLATE_BORG_EXTRA_ARGS#

4.9 sürümünde geldi.

Virgül ile ayrılmış parametreler ile BORG_EXTRA_ARGS seçeneğini yapılandırır.

Örnek:

environment:
  WEBLATE_BORG_EXTRA_ARGS: --exclude,vcs/
WEBLATE_ENABLE_SHARING#

4.14.1 sürümünde geldi.

ENABLE_SHARING seçeneğini yapılandırır.

WEBLATE_EXTRA_HTML_HEAD#

4.15 sürümünde geldi.

EXTRA_HTML_HEAD seçeneğini yapılandırır.

WEBLATE_PRIVATE_COMMIT_EMAIL_TEMPLATE#

4.15 sürümünde geldi.

PRIVATE_COMMIT_EMAIL_TEMPLATE seçeneğini yapılandırır.

WEBLATE_PRIVATE_COMMIT_EMAIL_OPT_IN#

4.15 sürümünde geldi.

PRIVATE_COMMIT_EMAIL_OPT_IN seçeneğini yapılandırır.

WEBLATE_UNUSED_ALERT_DAYS#

4.17 sürümünde geldi.

UNUSED_ALERT_DAYS seçeneğini yapılandırır.

WEBLATE_CORS_ALLOWED_ORIGINS#

4.16 sürümünde geldi.

Belirtilen kaynaklardan CORS istekleri yapılabilmesini sağlar.

Örnek:

environment:
  WEBLATE_CORS_ALLOWED_ORIGINS: https://example.com,https://weblate.org
CLIENT_MAX_BODY_SIZE#

4.16.3 sürümünde geldi.

İç site sunucusu tarafından kabul edilecek en büyük gövde boyutu seçeneğini yapılandırır.

environment:
    CLIENT_MAX_BODY_SIZE: 200m

İpucu

Bu değişken, Let’s Encrypt ile SSL sertifikası sağlamak içinde kullanılan üçüncü taraf kapsayıcısıyla paylaşıldığı için kasıtlı olarak WEBLATE_ ön ekini kullanmaz.

Code hosting sites credentials#

In the Docker container, the code hosting credentials can be configured either in separate variables or using a Python dictionary to set them at once. The following examples are for GitHub çekme istekleri, but applies to all Sürüm denetimi bütünleştirmesi with appropriately changed variable names.

An example configuration for GitHub might look like:

WEBLATE_GITHUB_USERNAME=api-user
WEBLATE_GITHUB_TOKEN=api-token
WEBLATE_GITHUB_HOST=api.github.com

Şu şekilde kullanılır:

GITHUB_CREDENTIALS = {
    "api.github.com": {
        "username": "api-user",
        "token": "api-token",
    }
}

Alternatif olarak Python sözlüğü bir dizge olarak belirtilebilir:

WEBLATE_GITHUB_CREDENTIALS='{ "api.github.com": { "username": "api-user", "token": "api-token", } }'

Ya da Python sözlük dosyasının yolu olarak belirtilebilir:

echo '{ "api.github.com": { "username": "api-user", "token": "api-token", } }' > /path/to/github-credentials
WEBLATE_GITHUB_CREDENTIALS_FILE='/path/to/github-credentials'
WEBLATE_GITHUB_USERNAME#
WEBLATE_GITHUB_TOKEN#
WEBLATE_GITHUB_HOST#
WEBLATE_GITHUB_CREDENTIALS#

Configures GitHub çekme istekleri by changing GITHUB_CREDENTIALS.

WEBLATE_GITLAB_USERNAME#
WEBLATE_GITLAB_TOKEN#
WEBLATE_GITLAB_HOST#
WEBLATE_GITLAB_CREDENTIALS#

Configures GitLab birleştirme istekleri by changing GITLAB_CREDENTIALS.

WEBLATE_GITEA_USERNAME#
WEBLATE_GITEA_TOKEN#
WEBLATE_GITEA_HOST#
WEBLATE_GITEA_CREDENTIALS#

Configures Gitea çekme isteği by changing GITEA_CREDENTIALS.

WEBLATE_PAGURE_USERNAME#
WEBLATE_PAGURE_TOKEN#
WEBLATE_PAGURE_HOST#
WEBLATE_PAGURE_CREDENTIALS#

Configures Pagure birleştirme istekleri by changing PAGURE_CREDENTIALS.

WEBLATE_BITBUCKETSERVER_USERNAME#
WEBLATE_BITBUCKETSERVER_TOKEN#
WEBLATE_BITBUCKETSERVER_HOST#
WEBLATE_BITBUCKETSERVER_CREDENTIALS#

Configures Bitbucket sunucusu çekme isteği by changing BITBUCKETSERVER_CREDENTIALS.

WEBLATE_AZURE_DEVOPS_USERNAME#
WEBLATE_AZURE_DEVOPS_ORGANIZATION#
WEBLATE_AZURE_DEVOPS_TOKEN#
WEBLATE_AZURE_DEVOPS_HOST#
WEBLATE_AZURE_DEVOPS_CREDENTIALS#

Configures Azure DevOps pull requests by changing AZURE_DEVOPS_CREDENTIALS.

Kendiliğinden öneri ayarları#

4.13 sürümünde değişti: Kendiliğinden öneri hizmetleri artık kullanıcı arayüzünden yapılandırılıyor. Ayrıntılı bilgi almak için: Kendiliğinden önerileri yapılandırmak.

Var olan ortam değişkenleri Weblate 4.13 sürümüne geçiş yapılırken içe aktarılır. Ancak bunların değiştirilmesinin başkaca bir etkisi olmaz.

Kimlik doğrulama ayarları#

LDAP#

WEBLATE_AUTH_LDAP_SERVER_URI#
WEBLATE_AUTH_LDAP_USER_DN_TEMPLATE#
WEBLATE_AUTH_LDAP_USER_ATTR_MAP#
WEBLATE_AUTH_LDAP_BIND_DN#
WEBLATE_AUTH_LDAP_BIND_PASSWORD#
WEBLATE_AUTH_LDAP_CONNECTION_OPTION_REFERRALS#
WEBLATE_AUTH_LDAP_USER_SEARCH_FILTER#
WEBLATE_AUTH_LDAP_USER_SEARCH_UNION#
WEBLATE_AUTH_LDAP_USER_SEARCH_UNION_DELIMITER#

LDAP kimlik doğrulama yapılandırması.

Doğrudan bağlama örneği:

environment:
  WEBLATE_AUTH_LDAP_SERVER_URI: ldap://ldap.example.org
  WEBLATE_AUTH_LDAP_USER_DN_TEMPLATE: uid=%(user)s,ou=People,dc=example,dc=net
  # map weblate 'full_name' to ldap 'name' and weblate 'email' attribute to 'mail' ldap attribute.
  # another example that can be used with OpenLDAP: 'full_name:cn,email:mail'
  WEBLATE_AUTH_LDAP_USER_ATTR_MAP: full_name:name,email:mail

Arama ve bağlama örneği:

environment:
  WEBLATE_AUTH_LDAP_SERVER_URI: ldap://ldap.example.org
  WEBLATE_AUTH_LDAP_BIND_DN: CN=ldap,CN=Users,DC=example,DC=com
  WEBLATE_AUTH_LDAP_BIND_PASSWORD: password
  WEBLATE_AUTH_LDAP_USER_ATTR_MAP: full_name:name,email:mail
  WEBLATE_AUTH_LDAP_USER_SEARCH: CN=Users,DC=example,DC=com

Birleşik arama ve bağlama örneği:

environment:
  WEBLATE_AUTH_LDAP_SERVER_URI: ldap://ldap.example.org
  WEBLATE_AUTH_LDAP_BIND_DN: CN=ldap,CN=Users,DC=example,DC=com
  WEBLATE_AUTH_LDAP_BIND_PASSWORD: password
  WEBLATE_AUTH_LDAP_USER_ATTR_MAP: full_name:name,email:mail
  WEBLATE_AUTH_LDAP_USER_SEARCH_UNION: ou=users,dc=example,dc=com|ou=otherusers,dc=example,dc=com

Active Directory üzerinde arama ve bağlama örneği:

environment:
  WEBLATE_AUTH_LDAP_BIND_DN: CN=ldap,CN=Users,DC=example,DC=com
  WEBLATE_AUTH_LDAP_BIND_PASSWORD: password
  WEBLATE_AUTH_LDAP_SERVER_URI: ldap://ldap.example.org
  WEBLATE_AUTH_LDAP_CONNECTION_OPTION_REFERRALS: 0
  WEBLATE_AUTH_LDAP_USER_ATTR_MAP: full_name:name,email:mail
  WEBLATE_AUTH_LDAP_USER_SEARCH: CN=Users,DC=example,DC=com
  WEBLATE_AUTH_LDAP_USER_SEARCH_FILTER: (sAMAccountName=%(user)s)

GitHub#

WEBLATE_SOCIAL_AUTH_GITHUB_KEY#
WEBLATE_SOCIAL_AUTH_GITHUB_SECRET#
WEBLATE_SOCIAL_AUTH_GITHUB_ORG_KEY#
WEBLATE_SOCIAL_AUTH_GITHUB_ORG_SECRET#
WEBLATE_SOCIAL_AUTH_GITHUB_ORG_NAME#
WEBLATE_SOCIAL_AUTH_GITHUB_TEAM_KEY#
WEBLATE_SOCIAL_AUTH_GITHUB_TEAM_SECRET#
WEBLATE_SOCIAL_AUTH_GITHUB_TEAM_ID#

GitHub kimlik doğrulaması seçeneğini kullanıma alır.

GitHub Enterprise Edition#

WEBLATE_SOCIAL_AUTH_GITHUB_ENTERPRISE_KEY#
WEBLATE_SOCIAL_AUTH_GITHUB_ENTERPRISE_SECRET#
WEBLATE_SOCIAL_AUTH_GITHUB_ENTERPRISE_URL#
WEBLATE_SOCIAL_AUTH_GITHUB_ENTERPRISE_API_URL#
WEBLATE_SOCIAL_AUTH_GITHUB_ENTERPRISE_SCOPE#

GitHub EE kimlik doğrulaması seçeneğini kullanıma alır.

Bitbucket#

WEBLATE_SOCIAL_AUTH_BITBUCKET_OAUTH2_KEY#
WEBLATE_SOCIAL_AUTH_BITBUCKET_OAUTH2_SECRET#
WEBLATE_SOCIAL_AUTH_BITBUCKET_KEY#
WEBLATE_SOCIAL_AUTH_BITBUCKET_SECRET#

Bitbucket kimlik doğrulaması seçeneğini kullanıma alır.

Facebook#

WEBLATE_SOCIAL_AUTH_FACEBOOK_KEY#
WEBLATE_SOCIAL_AUTH_FACEBOOK_SECRET#

Facebook OAuth 2 seçeneğini kullanıma alır.

Google#

WEBLATE_SOCIAL_AUTH_GOOGLE_OAUTH2_KEY#
WEBLATE_SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET#
WEBLATE_SOCIAL_AUTH_GOOGLE_OAUTH2_WHITELISTED_DOMAINS#
WEBLATE_SOCIAL_AUTH_GOOGLE_OAUTH2_WHITELISTED_EMAILS#

Google OAuth 2 seçeneğini kullanıma alır.

GitLab#

WEBLATE_SOCIAL_AUTH_GITLAB_KEY#
WEBLATE_SOCIAL_AUTH_GITLAB_SECRET#
WEBLATE_SOCIAL_AUTH_GITLAB_API_URL#

GitLab OAuth 2 seçeneğini kullanıma alır.

Gitea#

WEBLATE_SOCIAL_AUTH_GITEA_API_URL#
WEBLATE_SOCIAL_AUTH_GITEA_KEY#
WEBLATE_SOCIAL_AUTH_GITEA_SECRET#

Gitea kimlik doğrulamasını kullanıma alır.

Azure Active Directory#

WEBLATE_SOCIAL_AUTH_AZUREAD_OAUTH2_KEY#
WEBLATE_SOCIAL_AUTH_AZUREAD_OAUTH2_SECRET#

Azure Active Directory kimlik doğrulamasını kullanıma alır. Ayrıntılı bilgi almak için: Microsoft Azure Active Directory.

Kiracı destekli Azure Active Directory#

WEBLATE_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_KEY#
WEBLATE_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_SECRET#
WEBLATE_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_TENANT_ID#

Kiracı destekli Azure Active Directory kimlik doğrulamasını kullanıma alır. Ayrıntılı bilgi almak için: Microsoft Azure Active Directory.

Keycloak#

WEBLATE_SOCIAL_AUTH_KEYCLOAK_KEY#
WEBLATE_SOCIAL_AUTH_KEYCLOAK_SECRET#
WEBLATE_SOCIAL_AUTH_KEYCLOAK_PUBLIC_KEY#
WEBLATE_SOCIAL_AUTH_KEYCLOAK_ALGORITHM#
WEBLATE_SOCIAL_AUTH_KEYCLOAK_AUTHORIZATION_URL#
WEBLATE_SOCIAL_AUTH_KEYCLOAK_ACCESS_TOKEN_URL#
WEBLATE_SOCIAL_AUTH_KEYCLOAK_TITLE#
WEBLATE_SOCIAL_AUTH_KEYCLOAK_IMAGE#

Keycloak kimlik doğrulamasını kullanıma alır. Ayrıntılı bilgi almak için: Belgeler.

Linux hizmet sağlayıcıları#

Şu değişkenleri bir değere ayarlayarak Linux üreticilerinin kimlik doğrulama hizmetleri ile kimlik doğrulamayı kullanıma alabilirsiniz.

WEBLATE_SOCIAL_AUTH_FEDORA#
WEBLATE_SOCIAL_AUTH_OPENSUSE#
WEBLATE_SOCIAL_AUTH_OPENINFRA#
WEBLATE_SOCIAL_AUTH_UBUNTU#

Slack#

WEBLATE_SOCIAL_AUTH_SLACK_KEY#
SOCIAL_AUTH_SLACK_SECRET#

Slack kimlik doğrulamasını kullanıma alır. Ayrıntılı bilgi almak için: Slack.

OpenID Connect#

4.13-1 sürümünde geldi.

WEBLATE_SOCIAL_AUTH_OIDC_OIDC_ENDPOINT#
WEBLATE_SOCIAL_AUTH_OIDC_KEY#
WEBLATE_SOCIAL_AUTH_OIDC_SECRET#
WEBLATE_SOCIAL_AUTH_OIDC_USERNAME_KEY#

Genel OpenID Connect bütünleştirmesini yapılandırır.

Ayrıca bakınız

OIDC (OpenID Connect)

SAML#

Kendiliğinden imzalanan SAML anahtarları, ilk kapsayıcı başlatıldığında kendiliğinden oluşturulur. Kendi anahtarlarınızı kullanmak isterseniz, sertifikayı ve kişisel anahtarı /app/data/ssl/saml.crt ve /app/data/ssl/saml.key dosyalarına yerleştirin.

WEBLATE_SAML_IDP_ENTITY_ID#
WEBLATE_SAML_IDP_URL#
WEBLATE_SAML_IDP_X509CERT#
WEBLATE_SAML_IDP_IMAGE#
WEBLATE_SAML_IDP_TITLE#

SAML kimlik hizmeti sağlayıcısı ayarları. Ayrıntılı bilgi almak için: SAML kimlik doğrulaması.

WEBLATE_SAML_ID_ATTR_NAME#
WEBLATE_SAML_ID_ATTR_USERNAME#
WEBLATE_SAML_ID_ATTR_EMAIL#
WEBLATE_SAML_ID_ATTR_USER_PERMANENT_ID#

4.18 sürümünde geldi.

SAML öznitelikleri eşleştirmesi.

Diğer kimlik doğrulama ayarları#

WEBLATE_NO_EMAIL_AUTH#

Herhangi bir değere ayarlandığında e-posta kimlik doğrulamasını kullanımdan kaldır. Ayrıntılı bilgi almak için: Parola ile kimlik doğrulamayı kapatmak.

PostgreSQL veri tabanı kurulumu#

Veri tabanı docker-compose.yml tarafından oluşturulur. Bu nedenle bu ayarlar hem Weblate hem de PostgreSQL kapsayıcılarını etkiler.

POSTGRES_PASSWORD#

PostgreSQL parolası.

Ayrıca bakınız

Parolaları aktarmak

POSTGRES_USER#

PostgreSQL kullanıcı adı.

POSTGRES_DATABASE#

PostgreSQL veri tabanı adı.

POSTGRES_HOST#

PostgreSQL sunucusunun adı ya da IP adresi. Varsayılan değer: database.

POSTGRES_PORT#

PostgreSQL sunucu bağlantı noktası. Varsayılan değer: Yok (varsayılan değeri kullanır).

POSTGRES_SSL_MODE#

PostgreSQL sunucusunun SSL bağlantılarını nasıl işleyeceğini yapılandırın. Kullanılabilecek seçenekler için SSL kipi açıklamaları bölümüne bakabilirsiniz

POSTGRES_ALTER_ROLE#

Aktarım sırasında değiştirilecek rol adını yapılandırır. Ayrıntılı bilgi almak için: Weblate yapılandırmasını PostgreSQL kullanacak biçimde ayarlamak.

POSTGRES_CONN_MAX_AGE#

4.8.1 sürümünde geldi.

Saniye ve tamsayı olarak veri tabanı bağlantısının yaşam süresi. Her isteğin sonunda veri tabanı bağlantılarını kapatılması için 0 yazın.

5.1 sürümünde değişti: Varsayılan olarak sınırsız sayıda kalıcı veri tabanı bağlantısı kullanılabilir.

Bağlantı kalıcılığını kullanıma almak genellikle veri tabanına daha açık bir bağlantı kurulmasına neden olur. Lütfen bu seçeneği etkinleştirmeden önce veri tabanı yapılandırmanızı ayarlayın.

Örnek yapılandırma:

environment:
    POSTGRES_CONN_MAX_AGE: 3600
POSTGRES_DISABLE_SERVER_SIDE_CURSORS#

4.9.1 sürümünde geldi.

Veri tabanındaki sunucu tarafı imleçlerini kullanımdan kaldırın. Bu uygulama, bazı pgbouncer kurulumlarında gereklidir.

Örnek yapılandırma:

environment:
    POSTGRES_DISABLE_SERVER_SIDE_CURSORS: 1
WEBLATE_DATABASES#

5.1 sürümünde geldi.

Veri tabanı bağlantısının ortama göre yapılandırmasını kullanımdan kaldırmak için false olarak ayarlayın. Veri tabanı bağlantısını el ile yapılandırmak için Veri biriminden alınan ayarları değiştirmek kullanın.

MySQL ve MariaDB sunucusu#

Ne MySQL ne de MariaDB ortam değişkenleri kullanılarak yapılandırılamaz. Bunları Weblate ile kullanmak hakkında ayrıntılı bilgi almak için MySQL ve MariaDB bölümüne bakın. Veri tabanı bağlantısını el ile yapılandırmak için WEBLATE_DATABASES kullanın.

Veri tabanı yedekleme ayarları#

WEBLATE_DATABASE_BACKUP#

DATABASE_BACKUP kullanarak günlük veri tabanı dökümünü yapılandırır. Varsayılan değer: plain.

Ön bellek sunucusu kurulumu#

Weblate, Redis kullanılmasını önemle önerir ve Weblate Docker üzerinde çalıştırılırken bir Redis kopyası sağlamanız gerekir.

Ayrıca bakınız

Ön belleği kullanıma alın

REDIS_HOST#

Redis sunucusunun adı ya da IP adresi. Varsayılan değer: cache.

REDIS_PORT#

Redis sunucusunun bağlantı noktası. Varsayılan değer: 6379.

REDIS_DB#

Redis veri tabanı numarası. Varsayılan değer: 1.

REDIS_PASSWORD#

Redis sunucusunun parolası. Varsayılan olarak kullanılmaz.

Ayrıca bakınız

Parolaları aktarmak

REDIS_TLS#

Redis bağlantısı için SSL kullanımını kullanıma alır.

REDIS_VERIFY_SSL#

Redis bağlantısı için SSL sertifikası doğrulamasını kullanımdan kaldırmak için kullanılabilir.

E-posta sunucusu kurulumu#

Giden e-postanın çalışmasını sağlamak için, bir e-posta sunucusu belirtmeniz gerekir.

Örnek TLS yapılandırması:

environment:
    WEBLATE_EMAIL_HOST: smtp.example.com
    WEBLATE_EMAIL_HOST_USER: user
    WEBLATE_EMAIL_HOST_PASSWORD: pass

Örnek SSL yapılandırması:

environment:
    WEBLATE_EMAIL_HOST: smtp.example.com
    WEBLATE_EMAIL_PORT: 465
    WEBLATE_EMAIL_HOST_USER: user
    WEBLATE_EMAIL_HOST_PASSWORD: pass
    WEBLATE_EMAIL_USE_TLS: 0
    WEBLATE_EMAIL_USE_SSL: 1
WEBLATE_EMAIL_HOST#

E-posta sunucusunun adı ya da IP adresi.

WEBLATE_EMAIL_PORT#

E-posta sunucusunun bağlantı noktası. Varsayılan değer: 25.

Ayrıca bakınız

EMAIL_PORT

WEBLATE_EMAIL_HOST_USER#

E-posta ile kimlik doğrulama kullanıcısı.

Ayrıca bakınız

EMAIL_HOST_USER

WEBLATE_EMAIL_HOST_PASSWORD#

E-posta ile kimlik doğrulama parolası.

WEBLATE_EMAIL_USE_SSL#

SMTP sunucusuyla iletişim için örtülü TLS (güvenli) bağlantısının kullanılıp kullanılmayacağını yapılandırır. Çoğu e-posta belgesinde, bu tür TLS bağlantısı SSL olarak adlandırılır. Genellikle 465 numaralı bağlantı noktasıyla kullanılır. Sorun yaşıyorsanız WEBLATE_EMAIL_USE_TLS açık TLS ayarına bakın.

4.11 sürümünde değişti: SSL/TLS desteği WEBLATE_EMAIL_PORT seçeneğine göre kendiliğinden kullanıma alınır.

WEBLATE_EMAIL_USE_TLS#

SMTP sunucusuyla iletişim için TLS (güvenli) bağlantısının kullanılıp kullanılmayacağını yapılandırır. Bu seçenek, genellikle 587 ya da 25 numaralı bağlantı noktalarında bulunan açık TLS bağlantıları için kullanılır. Bağlantıların askıda kalması sorunu yaşıyorsanız envvar:WEBLATE_EMAIL_USE_SSL seçeneğindeki örtülü TLS ayarına bakın.

4.11 sürümünde değişti: SSL/TLS desteği WEBLATE_EMAIL_PORT seçeneğine göre kendiliğinden kullanıma alınır.

WEBLATE_EMAIL_BACKEND#

Django arka ucunu e-posta göndermek için yapılandırır.

WEBLATE_AUTO_UPDATE#

Depoların Weblate tarafından güncellenip güncellenmeyeceğini ve nasıl güncelleneceğini yapılandırır.

Ayrıca bakınız

AUTO_UPDATE

Not

Bu bir Boolean ayarıdır ("true" ya da "false" kullanın).

Site bütünleştirmesi#

WEBLATE_GET_HELP_URL#

GET_HELP_URL seçeneğini yapılandırır.

WEBLATE_STATUS_URL#

STATUS_URL seçeneğini yapılandırır.

LEGAL_URL seçeneğini yapılandırır.

WEBLATE_PRIVACY_URL#

PRIVACY_URL seçeneğini yapılandırır.

Collecting error reports and monitoring performance#

Kurulumdaki hataları sistematik olarak toplamanız önerilir. Ayrıntılı bilgi almak için: Collecting error reports and monitoring performance.

Rollbar desteğini kullanıma almak için şunları ayarlayın:

ROLLBAR_KEY#

Rollbar ileti sunucunuzun erişim kodu.

ROLLBAR_ENVIRONMENT#

Rollbar ortamınız. Varsayılan değer: production.

Sentry desteğini kullanıma almak için şunları ayarlayın:

SENTRY_DSN#

Your Sentry DSN, see SENTRY_DSN.

SENTRY_ENVIRONMENT#

Sentry ortamınız (isteğe bağlı). Varsayılan değer: WEBLATE_SITE_DOMAIN.

SENTRY_TRACES_SAMPLE_RATE#

Başarım izlemesi için örnekleme hızını yapılandırın. Tüm olayların izlenmesi için 1, izlemenin kullanımdan kaldırılması için 0 (varsayılan).

Örnek:

environment:
  SENTRY_TRACES_SAMPLE_RATE: 0.5

Ayrıca bakınız

Sentry Performance Monitoring,

SENTRY_PROFILES_SAMPLE_RATE#

Profil oluşturma izlemesi için örnekleme hızını yapılandırın. Tüm olayların izlenmesi için 1, izlemenin kullanımdan kaldırılması için 0 (varsayılan).

Örnek:

environment:
  SENTRY_PROFILES_SAMPLE_RATE: 0.5

Ayrıca bakınız

Sentry Profiling

SENTRY_SEND_PII#

Configures SENTRY_SEND_PII.

Yerelleştirme CDN#

WEBLATE_LOCALIZE_CDN_URL#
WEBLATE_LOCALIZE_CDN_PATH#

4.2.1 sürümünde geldi.

JavaScript yerelleştirme CDN yapılandırması.

WEBLATE_LOCALIZE_CDN_PATH kapsayıcı içindeki yoldur. Geçici depolama biriminde değil, kalıcı birimde olmalıdır.

Olasılıklardan biri, Weblate verilerinin içinde tutulmasıdır:

environment:
  WEBLATE_LOCALIZE_CDN_URL: https://cdn.example.com/
  WEBLATE_LOCALIZE_CDN_PATH: /app/data/l10n-cdn

Not

Weblate tarafından oluşturulan dosyaların sunulmasını ayarlamak sizin sorumluluğunuzdur. Bu seçenek yalnızca dosyaları yapılandırılmış konumda tutar.

Kullanımdaki uygulamaları, denetimleri, eklentileri ya da kendiliğinden düzeltmeleri değiştirmek#

Kullanımdaki denetimlerin, eklentilerin ya da kendiliğinden düzeltmelerin iç yapılandırması şu değişkenlerle ayarlanabilir:

WEBLATE_ADD_APPS#
WEBLATE_REMOVE_APPS#
WEBLATE_ADD_CHECK#
WEBLATE_REMOVE_CHECK#
WEBLATE_ADD_AUTOFIX#
WEBLATE_REMOVE_AUTOFIX#
WEBLATE_ADD_ADDONS#
WEBLATE_REMOVE_ADDONS#

Örnek:

environment:
  WEBLATE_REMOVE_AUTOFIX: weblate.trans.autofixes.whitespace.SameBookendingWhitespace
  WEBLATE_ADD_ADDONS: customize.addons.MyAddon,customize.addons.OtherAddon

Kapsayıcı ayarları#

WEBLATE_WORKERS#

4.6.1 sürümünde geldi.

Kapsayıcıda çalışan işlemlerin temel sayısı. Ayarlanmadığında, kullanılabilir işlemci çekirdeği sayısına bağlı olarak kapsayıcı başlangıcında kendiliğinden belirlenir.

CELERY_MAIN_OPTIONS, CELERY_NOTIFY_OPTIONS, CELERY_MEMORY_OPTIONS, CELERY_TRANSLATE_OPTIONS, CELERY_BACKUP_OPTIONS, CELERY_BEAT_OPTIONS, ve WEB_WORKERS seçeneklerini ayarlamak için kullanılır. Bu seçenekleri ince ayar yapmak için kullanabilirsiniz.

CELERY_MAIN_OPTIONS#
CELERY_NOTIFY_OPTIONS#
CELERY_MEMORY_OPTIONS#
CELERY_TRANSLATE_OPTIONS#
CELERY_BACKUP_OPTIONS#
CELERY_BEAT_OPTIONS#

Bu seçenekler, Celery işlemi seçeneklerini ayarlamanızı sağlar. Eşzamanlılığı ayarlamak (--concurrency 16) veya farklı havuz uygulaması kullanmak (—pool=gevent) yararlı olabilir.

Varsayılan olarak, eşzamanlı işlem sayısı WEBLATE_WORKERS seçeneğinden alınır.

Örnek:

environment:
  CELERY_MAIN_OPTIONS: --concurrency 16
WEB_WORKERS#

Çalışacak uWSGI işlemi sayısını yapılandırın.

Varsayılan değer: WEBLATE_WORKERS.

Örnek:

environment:
  WEB_WORKERS: 32
WEBLATE_SERVICE#

Kapsayıcı içinde hangi hizmetlerin yürütülmesi gerektiğini tanımlar. Bunu Yatay ölçeklendirme için kullanın.

Şu hizmetler tanımlanmıştır:

celery-beat

Celery görev zamanlayıcısı. Yalnızca bir kopya çalışıyor olmalıdır. Bu kapsayıcı aynı zamanda veri tabanı yapısı aktarımlarından da sorumludur ve diğerlerinden önce başlatılmalıdır.

celery-backup

Yedeklemeler için Celery işlemi. Yalnızca bir kopya çalışmalıdır.

celery-celery

Genel Celery işlemi.

celery-memory

Çeviri belleği Celery işlemi.

celery-notify

Bildirim Celery işlemi.

celery-translate

Kendiliğinden çeviri Celery işlemi.

web

Site sunucusu.

Docker kapsayıcısı birimleri#

Weblate kapsayıcısı tarafından dışa aktarılan iki birim (veri ve ön bellek) bulunur. Ayrıca diğer hizmet kapsayıcılarının (PostgreSQL ya da Redis) da veri birimleri vardır. Ancak bunlar bu belgenin kapsamında değildir.

Veri birimi, kopyalanmış depolar gibi Weblate kalıcı verilerini depolamak veya Weblate kurulumunu özelleştirmek için kullanılır.

Docker biriminin barındırma sistemindeki konumu Docker yapılandırmanıza bağlıdır. Ancak genellikle /var/lib/docker/volumes/weblate-docker_weblate-data/_data/ (yol, docker-compose klasörünüzün adı, kapsayıcı ve birim adlarından oluşur) içinde tutulur. Kapsayıcıda /app/data olarak bağlanır.

Ön bellek birimi /app/cache olarak bağlanır ve durağan dosyalar ile CACHE_DIR klasörünü tutmak için kullanılır. İçeriği kapsayıcı başlangıcında yeniden oluşturulur ve birim tmpfs gibi kısa ömürlü dosya sistemi kullanılarak bağlanabilir.

Birimleri el ile oluştururken, klasörlerin sahibi kapsayıcı içindeki UID 1000 olmalıdır.

Ayrıca bakınız

Docker birimleri belgeleri

Salt okunur kök dosya sistemi#

4.18 sürümünde geldi.

Kapsayıcı salt okunur bir kök dosya sistemiyle çalıştırırken, iki ek tmpfs birimi gerekir - /tmp ve /run.

Ortam değişkenlerinin yapılandırması#

Docker ortam değişkenleri, Weblate kurulumları ile ilgili pek çok yapılandırma ayarını karşılamayı amaçlıyor.

Bir ortam değişkeni olarak karşılığı olmayan bir ayar bulursanız ve var olması gerektiğine inanıyorsanız, Gelecek Weblate sürümlerine eklenmesini istemekten çekinmeyin.

Docker ortam değişkeni olarak karşılığı olmayan bir ayarı değiştirmeniz gerekirse, bunu veri biriminden ya da Docker kalıbını genişleterek yapabilirsiniz.

Veri biriminden alınan ayarları değiştirmek#

Ortam değişkenleri ile tanımlanan ayarları genişletmek ya da değiştirmek için veri birimi kök klasöründe bir /app/data/settings-override.py dosyası oluşturabilirsiniz.

Docker kalıbını genişleterek ayarları değiştirmek#

Ayarları veri birimi yerine Docker kalıbı düzeyinde değiştirmek için:

  1. Özel bir Python paketi oluşturmak.

  2. Paketinize, weblate.settings_docker ögesinden tüm ayarları içe aktaran bir modül ekleyin.

    Örneğin, Bir Python modülü oluşturmak adresinde tanımlanan örnek paket yapısı içinde, şu başlangıç koduyla bir weblate_customization/weblate_customization/settings.py dosyası oluşturabilirsiniz:

    from weblate.settings_docker import *
    
  3. Resmi Weblate Docker kalıbından devralınan ve ardından paketinizi kuran ve ayarlar modülünüze DJANGO_SETTINGS_MODULE ortam değişkenini gösteren özel bir Dockerfile oluşturun:

    FROM weblate/weblate
    
    USER root
    
    COPY weblate_customization /usr/src/weblate_customization
    RUN pip install --no-cache-dir /usr/src/weblate_customization
    ENV DJANGO_SETTINGS_MODULE=weblate_customization.settings
    
    USER 1000
    
  4. Resmi Weblate Docker kalıbını kullanmak yerine, bu Dockerfile dosyasından özel bir kalıp oluşturun.

    Bunu docker-compose.override.yml ile yapmanın temiz bir yolu yoktur. Bu dosyadaki weblate düğümüne build: . ekleyebilirsiniz. Ancak daha sonra özel kalıbınız sisteminizde ``weblate/weblate” olarak etiketlenir ve bu da soruna yol açabilir.

    Bu nedenle, docker-compose.yml dosyasını doğrudan resmi depo <https://github.com/WeblateOrg/docker-compose>``__ üzerinden değiştirmeden kullanmak ve ``docker-compose.override.yml ile genişletmek yerine, resmi docker-compose.yml dosyasının bir kopyasını oluşturmak ve kopyanızı image: weblate/weblate yerine build: . ile değiştirmek için düzenlemek isteyebilirsiniz.

    docker-compose kullanırken kaynaktan kalıp oluşturma ile ilgili ayrıntılı bilgi almak için Dosya oluşturma referansı bölümüne bakın.

  5. Ayarları tanımlamak veya yeniden tanımlamak için özel ayarlar modülünüzü genişletin.

    Hangi ayarların öncelikli olduğunu belirlemek için ayarları yukarıdaki içe aktarma ifadesinden önce ya da sonra tanımlayabilirsiniz. İçe aktarma ifadesinden önce tanımlanmış ayarlar, ortam değişkenleri ve veri biriminde tanımlanmış ayar değişiklikleri tarafından değiştirilebilir. İçe aktarma ifadesinden sonra tanımlanan ayar değiştirilmez.

    Ayrıca daha ileri gidebilirsiniz. Örneğin, ayarların karşılığını belirlemek gibi weblate.docker_settings uygulamasının <https://github.com/WeblateOrg/weblate/blob/main/weblate/settings_docker.py>`__ yaptığı bazı şeyleri yeniden oluşturabilirsiniz. Ortam değişkenleri olarak veya veri birimindeki Python dosyalarından ayarların değiştirilmesini sağlayabilirsiniz.

Logo ve diğer durağan dosyaları değiştirmek#

Weblate ile birlikte gelen durağan dosyalar /app/data/python/customize/static içinden değiştirilebilir (ayrıntılı bilgi almak için: Docker kapsayıcısı birimleri). Örneğin, /app/data/python/customize/static/favicon.ico dosyası favicon simgesi için kullanılır.

İpucu

Dosyalar kapsayıcı başlatıldığında ilgili konuma kopyalanır. Bu nedenle birimin içeriğini değiştirdikten sonra Weblate yeniden başlatılmalıdır.

Bu yaklaşım, Weblate kalıplarını değiştirmek için de kullanılabilir. Örneğin Yasal belgeler /app/data/python/customize/templates/legal/documents içine yerleştirilebilir.

Alternatif olarak, kendi modülünüzü de ekleyebilir (ayrıntılı bilgi almak için: .. /customize) ve Docker kapsayıcısına ayrı birim olarak ekleyebilirsiniz. Örneğin:

weblate:
  volumes:
    - weblate-data:/app/data
    - ./weblate_customization/weblate_customization:/app/data/python/weblate_customization
  environment:
    WEBLATE_ADD_APPS: weblate_customization

PostgreSQL sunucusunu yapılandırmak#

PostgtreSQL kapsayıcısı varsayılan PostgreSQL yapılandırmasını kullanır ve işlemci çekirdeklerini ya da belleği etkili bir şekilde kullanmaz. Başarımı artırmak için yapılandırmanın özelleştirilmesi önerilir.

Yapılandırma, https://hub.docker.com/_/postgres adresindeki Database Configuration bölümünde açıklandığı gibi ayarlanabilir. Ortamınıza uygun bir yapılandırma oluşturmak için https://pgtune.leopard.in.ua/ kullanabilirsiniz.

Kapsayıcı iç yapısı#

Kapsayıcı, bireysel hizmetleri başlatmak için :program: supervisor kullanır. Yatay ölçeklendirme kullanılması durumunda, bir kapsayıcıda yalnızca tek bir hizmet başlatılır.

Hizmetlerin durumunu denetlemek için şunu kullanın:

docker compose exec --user weblate weblate supervisorctl status

Her Celery kuyruğu için ayrı hizmetler bulunur (ayrıntılı bilgi almak için: ref:celery). Uygun işlemi durdurarak bazı görevlerin yürütülmesini durdurabilirsiniz:

docker compose exec --user weblate weblate supervisorctl stop celery-translate