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, ön bellek altyapısı olarak Valkey 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ı
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.
Bellek kullanımı¶
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. Yüzlerce çeviri bileşeni için en az 4 GB RAM bellek önerilir.
İpucu
Önerilenden daha az bellek bulunan sistemler için Tek işlemli Celery kurulumu önerilir.
İşlemci kullanımı¶
Eşzamanlı bulunacak kullanıcı sayısı, gerekli işlemci çekirdeği sayısını artırır.
Depolama alanı kullanımı¶
Tipik 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.
Düğümler¶
Küçük ve orta ölçekli siteler (milyonlarca barındırılan sözcük) için, tüm Weblate bileşenleri (ayrıntılı bilgi almak için: Mimari özeti) tek bir düğümde çalıştırılabilir.
Yüz milyonlarca barındırılan sözcüğe ulaştığınızda, veri tabanı için özel bir düğüm kullanmanız önerilir (ayrıntılı bilgi almak için: Weblate için veri tabanı kurulumu).
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önerge 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 sunucusunun 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 Yatay ölçeklendirme bölümüne bakabilirsiniz.
weblate-docker deposunu kopyalayın:
git clone https://github.com/WeblateOrg/docker-compose.git weblate-docker cd weblate-docker
Ayarlarınızı yaptığınız bir
docker-compose.override.ymldosyası oluşturun. Ortam değişkenlerinin tam listesi için Docker ortam değişkenleri bölümüne bakabilirsiniz.services: weblate: image: weblate/weblate:latest 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 ports: - 80:8080
Not
WEBLATE_ADMIN_PASSWORDdeğ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.ymldosyasını düzenleyerek bağlantı noktasını değiştirebilirsiniz.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.
Ayrıca bakınız
Docker kalıbı kayıt defterini seçmek¶
Weblate kapsayıcıları şu kayıt defterlerinde yayınlanmıştır:
Docker Hub için https://hub.docker.com/r/weblate/weblate adresine bakın
GitHub paketleri kayıt defteri için https://github.com/WeblateOrg/docker/pkgs/container/weblate adresine bakın
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ı |
|---|---|---|
|
Son etiketlenmiş sürümle eşleşen kararlı Weblate sürümü |
Üretim ortamında güncellemeleri yapmak |
|
Weblate kararlı sürümü |
Rolling updates within a calendar year in a production environment |
|
Weblate kararlı sürümü |
Rolling updates within a monthly release in a production environment |
|
Weblate kararlı sürümü |
Üretim ortamında iyi tanımlanmış dağıtım |
|
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 |
|
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 |
|
Git üzerinden Weblate geliştirme sürümü |
Yakında eklenecek Weblate özelliklerini denemel için güncelleme ekleri |
|
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 kesintisiz bütünleştirmemiz tarafından 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önergesi için Kurulum bölümüne bakabilirsiniz. Bu bölümde yalnızca oradakinden farklı olan durumlar ele alınmıştır.
SSL sonlandıran vekil sunucu¶
SSL, Weblate kapsayıcısının dışında sonlandırılabilir. Bunun birlikte iyi çalışmasını sağlamak için, gerçek ortamının farkında olması için birkaç üst bilgisinin kapsayıcıya aktarılması gerekir. Bu üst bilgiler ayrıntılı olarak Ters vekil sunucu arkasında çalıştırmak bölümünde açıklanmıştır.
location / {
proxy_pass http://127.0.0.1:8080;
proxy_read_timeout 3600s;
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;
}
WEBLATE_ENABLE_HTTPS=1
WEBLATE_IP_PROXY_HEADER=HTTP_X_FORWARDED_FOR
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: Docker kapsayıcısı birimleri):
ssl/fullchain.pemdosyasında gerekli sertifika kuruluşunun sertifikaları ile birlikte kullanılacak sertifika bulunurssl/privkey.pemdosyası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, bir ters 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.
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
Direct upgrades are only supported for releases from the current or previous calendar year. If you need to upgrade from an older release, upgrade first to an intermediate version listed in Sürüme özel yönergeler.
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¶
Not
PostgreSQL 18, kapsayıcının içindeki varsayılan veri klasörünü değiştirdi. Yaygın bir eski kurulum, veri tabanı birimini /var/lib/postgresql/data olarak bağlarken, PostgreSQL 18 artık varsayılan olarak /var/lib/postgresql kullanıyor.
Eski bir sürümden yükseltiyorsanız, Docker yapılandırmanızdaki bağlama hedefini yeni yola göre güncelleyin veya eski bağlama hedefini koruyun ve buna göre PGDATA seçeneğini ayarlayın.
PGDATA seçeneğini ayarlamadan eski bağlama hedefini değiştirmeden bırakırsanız, PostgreSQL verileri kalıcı birimin dışına yazabilir.
Ayrıntılı bilgi almak için PGDATA belgelerine bakabilirsiniz.
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.
Ayrıca bakınız
Weblate kapsayıcısını durdurun:
docker compose stop weblate cache
Veri tabanını yedekleyin:
docker compose exec database pg_dumpall --clean --if-exists --username weblate > backup.sql
Veri tabanı kapsayıcısını durdurun:
docker compose stop database
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-dockerolan Docker Compose projesinin adı bulunur.docker-compose.ymldosyasını yeni PostgreSQL sürümünü kullanarak şekilde ayarlayın.Veri tabanı kapsayıcısını başlatın:
docker compose up -d database
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_DBile aynı olduğundan emin olun.(İ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_DBile aynı olduğundan emin olun.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.
Ayrıca bakınız
İşlem sayısı ve bellek kullanımı¶
Hem WSGI 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şlem 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
Yalnızca tek bir Celery işlemi çalıştırılarak bellek kullanımı daha da azaltılabilir:
environment:
CELERY_SINGLE_PROCESS: 1
Yatay ölçeklendirme¶
Added in version 4.6.
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¶
Added in version 5.0.
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
Ayrıca bakınız
Genel ayarlar¶
- WEBLATE_DEBUG¶
DEBUGkullanarak Django hata ayıklama kipini yapılandırır.Örnek:
environment: WEBLATE_DEBUG: 1
Ayrıca bakınız
- WEBLATE_LOGLEVEL¶
Günlük tutma düzeyini yapılandırır. Ayrıntılı günlük kayıtları tutmak için
DEBUGolarak ayarlayın.WEBLATE_DEBUGkapatıldığında varsayılan olarakINFOolur. Hata ayıklama kipi açıldığındaDEBUGkullanılır.Daha sessiz günlük kaydı için
ERRORya daWARNINGkullanın.
- WEBLATE_LOGLEVEL_DATABASE¶
Veri tabanı sorguları günlük kayıtlarının ayrıntı düzeyini yapılandırır.
- WEBLATE_LOG_GELF_HOST¶
Added in version 5.9.
GELF TCP bağlantısını kullanarak uzaktan günlüğü yapılandırır. Graylog ile bütünleştirmek için kullanılabilir.
- WEBLATE_LOG_GELF_PORT¶
Added in version 5.9.
WEBLATE_LOG_GELF_HOSTiçin özel bağlantı noktası kullanın. Varsayılan değer: 12201.
- 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.
Standart olmayan bir bağlantı noktası kullanıyorsanız bağlantı noktasını ekleyin.
Örnek:
environment: WEBLATE_SITE_DOMAIN: example.com:8080
Ayrıca bakınız
- WEBLATE_ADMIN_NAME¶
- WEBLATE_ADMIN_EMAIL¶
Site yöneticisinin adını ve e-posta adresini yapılandırır. Hem
ADMINSayarı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
Ayrıca bakınız
- 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_NAMEveWEBLATE_ADMIN_EMAILseç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_ADMIN_NOTIFY_ERROR¶
Sunucu hatalarının yöneticilere e-posta ile gönderilip gönderilmeyeceği. Varsayılan değer: Açık.
Sentry veya Rollbar gibi başka bir hata toplama aracı kullanmayı ve bu seçeneği kapatmayı isteyebilirsiniz.
Ayrıca bakınız
- WEBLATE_SERVER_EMAIL¶
Hata iletilerinin gönderileceği e-posta adresi.
Ayrıca bakınız
- WEBLATE_DEFAULT_FROM_EMAIL¶
Giden e-postaların adresini yapılandırır.
Ayrıca bakınız
- WEBLATE_ADMINS_CONTACT¶
ADMINS_CONTACTseçeneğini 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_HOSTSkullanarak 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
Ayrıca bakınız
- WEBLATE_REGISTRATION_OPEN¶
REGISTRATION_OPENseç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_CAPTCHA¶
Added in version 5.10.
REGISTRATION_CAPTCHAseçeneğini değiştirerek hesap açılışlarında güvenlik kodu kullanılması özelliğini açar ya da kapatır.Örnek:
environment: WEBLATE_REGISTRATION_CAPTCHA: 0
- WEBLATE_REGISTRATION_ALLOW_BACKENDS¶
REGISTRATION_ALLOW_BACKENDSseç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¶
Added in version 4.16.
REGISTRATION_REBINDseçeneğini yapılandırır.
- WEBLATE_REGISTRATION_ALLOW_DISPOSABLE_EMAILS¶
Added in version 5.16.1.
REGISTRATION_ALLOW_DISPOSABLE_EMAILSseçeneğini yapılandırır.Örnek:
environment: WEBLATE_REGISTRATION_ALLOW_DISPOSABLE_EMAILS: 1
- WEBLATE_PROJECT_WEB_RESTRICT_PRIVATE¶
Added in version 5.17.
PROJECT_WEB_RESTRICT_PRIVATEseçeneğini yapılandırır.Varsayılan değer: Etkin.
- WEBLATE_WEBHOOK_RESTRICT_PRIVATE¶
Added in version 5.17.
WEBHOOK_RESTRICT_PRIVATEseçeneğini yapılandırır.Varsayılan değer: Etkin.
- WEBLATE_WEBHOOK_PRIVATE_ALLOWLIST¶
Added in version 5.17.
WEBHOOK_PRIVATE_ALLOWLISTseçeneğini yapılandırır.
- WEBLATE_ASSET_RESTRICT_PRIVATE¶
Added in version 2025.5.
Configures
ASSET_RESTRICT_PRIVATE.Varsayılan değer: Etkin.
- WEBLATE_ASSET_PRIVATE_ALLOWLIST¶
Added in version 2025.5.
Configures
ASSET_PRIVATE_ALLOWLIST.
- 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
TZortam 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_HTTPSbelgelerine 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_NGINX_IPV6¶
Added in version 5.17.
Birlikte gelen NGINX sunucusunun IPv6 adreslerini dinleyip dinlemeyeceğini belirler.
Desteklenen değerler:
autoIPv6 dinleyicilerini yalnızca IPv6 kapsayıcı alt yapısında kullanılabildiğinde açar. Varsayılan değer.onIPv6 dinleyicilerini her zaman açar.offIPv6 dinleyicilerini kapatır.
Örnek:
environment: WEBLATE_NGINX_IPV6: auto
- 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 veIP_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-FordeğeriHTTP_X_FORWARDED_FORile eşleştirilir.Örnek:
environment: WEBLATE_IP_PROXY_HEADER: HTTP_X_FORWARDED_FOR
- WEBLATE_IP_PROXY_OFFSET¶
Added in version 5.0.1.
IP_PROXY_OFFSETseçeneğini yapılandırır.
- WEBLATE_USE_X_FORWARDED_PORT¶
Added in version 5.0.1.
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
Not
Bu bir ikili ayardır (
"true"ya da"false"kullanın).
- WEBLATE_SECURE_PROXY_SSL_HEADER¶
A tuple representing an HTTP header/value combination that signifies a request is secure. This is needed when Weblate is running behind a reverse proxy doing SSL termination which does not pass standard HTTPS headers.
Örnek:
environment: WEBLATE_SECURE_PROXY_SSL_HEADER: HTTP_X_FORWARDED_PROTO,https
Ayrıca bakınız
- WEBLATE_REQUIRE_LOGIN¶
Tüm Weblate üzerinde kimlik doğrulamasını zorunlu kılmak için
REQUIRE_LOGINseçeneğini kullanıma alır.Örnek:
environment: WEBLATE_REQUIRE_LOGIN: 1
- WEBLATE_LEGAL_INTEGRATION¶
Docker dağıtımlarında Yasal konular modülü modülünü etkinleştirir. Varsayılan olarak, bütünleştirme kapalıdır. Kapalı olarak bırakmak için bu değişkeni ayarlamayın ya da boş bırakın.
Desteklenen değerler:
tos-confirmile yasal modülü açılır ve sosyal ağ ile kimlik doğrulamasında ve oturum açmış kullanıcılara hizmet koşullarının onaylanması sağlanır .wllegalaynı bütünleştirmeyi kullanıma alır ve barındırılan yasal belge kalıplarınıwllegalüzerinden yükler. Bu kalıplar Weblate s.r.o. tarafından işletilen hizmetler tarafından kullanılır ve genel kullanım için tasarlanmamıştır.
Docker üzerinden kendi yasal belgelerinizi sunmak için
/app/data/python/customize/templates/legal/documentsiçindeki kalıpları değiştirebilirsiniz. Ayrıntılı bilgi almak için: Logo ve diğer durağan dosyaları değiştirmek.Örnek:
environment: WEBLATE_LEGAL_INTEGRATION: tos-confirm
Ayrıca bakınız
- WEBLATE_PUBLIC_ENGAGE¶
PUBLIC_ENGAGEseçeneğini açar.
- WEBLATE_GOOGLE_ANALYTICS_ID¶
GOOGLE_ANALYTICS_IDseçeneğini değiştirerek Google Analytics kimliğini yapılandırır.
- WEBLATE_DEFAULT_PULL_MESSAGE¶
DEFAULT_PULL_MESSAGEseç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
- WEBLATE_SIMPLIFY_LANGUAGES¶
Dil basitleştirme ilkesini yapılandırır. Ayrıntılı bilgi almak için:
SIMPLIFY_LANGUAGES.
- WEBLATE_HIDE_SHARED_GLOSSARY_COMPONENTS¶
Diğer projelerle paylaşıldığında sözlük bileşenlerini gizler. Ayrıntılı bilgi almak için:
HIDE_SHARED_GLOSSARY_COMPONENTS.
- WEBLATE_DEFAULT_ACCESS_CONTROL¶
Yeni projeler için varsayılan Erişim denetimi seçeneğini yapılandırır. Ayrıntılı bilgi almak için:
DEFAULT_ACCESS_CONTROL.
- WEBLATE_DEFAULT_TRANSLATION_REVIEW¶
Added in version 5.16.
Onaylama kullanılsın varsayılan değerini yapılandırır. Varsayılan değer: Kapalı.
- WEBLATE_DEFAULT_SOURCE_REVIEW¶
Added in version 5.16.
Kaynak onaylama kullanılsın varsayılan değerini yapılandırır. Varsayılan değer: Kapalı.
- 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 Çeviriler yayılabilsin 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_EMAILseçeneğini yapılandırır.
- WEBLATE_DEFAULT_COMMITER_NAME¶
DEFAULT_COMMITER_NAMEseçeneğini yapılandırır.
- WEBLATE_DEFAULT_SHARED_TM¶
DEFAULT_SHARED_TMseçeneğini yapılandırır.
- WEBLATE_DEFAULT_AUTOCLEAN_TM¶
DEFAULT_AUTOCLEAN_TMseçeneğini yapılandırır.
- WEBLATE_COMMIT_PENDING_HOURS¶
Yeni bileşenler için İşlenecek değişikliklerin yaşı seçeneğinin varsayılan değerini yapılandırır. Ayrıntılı bilgi almak için:
COMMIT_PENDING_HOURS.
- WEBLATE_GPG_IDENTITY¶
İşlemelerin GPG imzamalamasını yapılandırır. Ayrıntılı bilgi almak için:
WEBLATE_GPG_IDENTITY.Ayrıca bakınız
- 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¶
- WEBLATE_CSP_FORM_SRC¶
Content-Security-Policy HTTP üst bilgisinin özelleştirilmesini sağlar.
- WEBLATE_LICENSE_FILTER¶
LICENSE_FILTERseçeneğini yapılandırır.
- WEBLATE_LICENSE_REQUIRED¶
LICENSE_REQUIREDseçeneğini yapılandırır.
- WEBLATE_WEBSITE_REQUIRED¶
WEBSITE_REQUIREDseçeneğini yapılandırır.
- WEBLATE_VERSION_DISPLAY¶
VERSION_DISPLAYseçeneğini yapılandırır.
- WEBLATE_HIDE_VERSION¶
HIDE_VERSIONseçeneğini yapılandırır.
- WEBLATE_BASIC_LANGUAGES¶
BASIC_LANGUAGESseçeneğini yapılandırır.
- WEBLATE_DEFAULT_AUTO_WATCH¶
DEFAULT_AUTO_WATCHseçeneğini yapılandırır.
- WEBLATE_RATELIMIT_ATTEMPTS¶
- WEBLATE_RATELIMIT_LOCKOUT¶
- WEBLATE_RATELIMIT_WINDOW¶
Added in version 4.6.
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, Hızı sınırlaması içinde belirtilen ayarlardan herhangi birine
WEBLATE_ön ekini ekleyin.Ayrıca bakınız
- WEBLATE_API_RATELIMIT_ANON¶
- WEBLATE_API_RATELIMIT_USER¶
Added in version 4.11.
API hız sınırlamasını yapılandırır. Varsayılan değer anonim kullanıcılar için
100/günve kimliği doğrulanmış kullanıcılar için5000/saatbiçimindedir.Ayrıca bakınız
- WEBLATE_ENABLE_HOOKS¶
Added in version 4.13.
ENABLE_HOOKSseçeneğini yapılandırır.
- WEBLATE_ENABLE_AVATARS¶
Added in version 4.6.1.
ENABLE_AVATARSseçeneğini yapılandırır.
- WEBLATE_AVATAR_URL_PREFIX¶
Added in version 4.15.
AVATAR_URL_PREFIXseçeneğini yapılandırır.
- WEBLATE_LIMIT_TRANSLATION_LENGTH_BY_SOURCE_LENGTH¶
Added in version 4.9.
LIMIT_TRANSLATION_LENGTH_BY_SOURCE_LENGTHseçeneğini yapılandırır.
- WEBLATE_SSH_EXTRA_ARGS¶
Added in version 4.9.
SSH_EXTRA_ARGSseçeneğini yapılandırır.
- WEBLATE_BORG_EXTRA_ARGS¶
Added in version 4.9.
Virgül ile ayrılmış parametreler ile
BORG_EXTRA_ARGSseçeneğini yapılandırır.Örnek:
environment: WEBLATE_BORG_EXTRA_ARGS: --exclude,vcs/
- WEBLATE_ENABLE_SHARING¶
Added in version 4.14.1.
ENABLE_SHARINGseçeneğini yapılandırır.
- WEBLATE_SUPPORT_STATUS_CHECK¶
Added in version 5.5.
SUPPORT_STATUS_CHECKseçeneğini yapılandırır.
- WEBLATE_EXTRA_HTML_HEAD¶
Added in version 4.15.
EXTRA_HTML_HEADseçeneğini yapılandırır.
- WEBLATE_PRIVATE_COMMIT_EMAIL_TEMPLATE¶
Added in version 4.15.
PRIVATE_COMMIT_EMAIL_TEMPLATEseçeneğini yapılandırır.
- WEBLATE_PRIVATE_COMMIT_EMAIL_OPT_IN¶
Added in version 4.15.
PRIVATE_COMMIT_EMAIL_OPT_INseçeneğini yapılandırır.
- WEBLATE_PRIVATE_COMMIT_NAME_TEMPLATE¶
Added in version 5.16.
PRIVATE_COMMIT_NAME_TEMPLATEseçeneğini yapılandırır.
- WEBLATE_PRIVATE_COMMIT_NAME_OPT_IN¶
Added in version 5.16.
PRIVATE_COMMIT_NAME_OPT_INseçeneğini yapılandırır.
- WEBLATE_UNUSED_ALERT_DAYS¶
Added in version 4.17.
UNUSED_ALERT_DAYSseçeneğini yapılandırır.
- WEBLATE_UPDATE_LANGUAGES¶
Added in version 4.3.2.
UPDATE_LANGUAGESseçeneğini yapılandırır.
- WEBLATE_VCS_ALLOW_HOSTS¶
Added in version 5.15.
VCS_ALLOW_HOSTSseçeneğini yapılandırır.
- WEBLATE_VCS_ALLOW_SCHEMES¶
Added in version 5.15.
VCS_ALLOW_SCHEMESseçeneğini yapılandırır.
- WEBLATE_VCS_RESTRICT_PRIVATE¶
Added in version 5.17.
VCS_RESTRICT_PRIVATEseçeneğini yapılandırır.
- WEBLATE_VCS_CLONE_DEPTH¶
Added in version 5.4.
VCS_CLONE_DEPTHseçeneğini yapılandırır.
- WEBLATE_VCS_API_DELAY¶
Added in version 5.4.
VCS_API_DELAYseçeneğini yapılandırır.
- WEBLATE_VCS_API_TIMEOUT¶
Added in version 5.15.
VCS_API_TIMEOUTseçeneğini yapılandırır.
- WEBLATE_CORS_ALLOWED_ORIGINS¶
Added in version 4.16.
Belirtilen kaynaklardan API üzerine CORS istekleri yapılabilmesini sağlar.
Örnek:
environment: WEBLATE_CORS_ALLOWED_ORIGINS: https://example.com,https://weblate.org
- WEBLATE_CORS_ALLOW_ALL_ORIGINS¶
Added in version 5.6.1: Tüm kaynaklardan API üzerine CORS istekleri yapılabilmesini sağlar.
- WEBLATE_WEBSITE_ALERTS_ENABLED¶
Added in version 5.17.
WEBSITE_ALERTS_ENABLEDseçeneğini yapılandırır.
- CLIENT_MAX_BODY_SIZE¶
Added in version 4.16.3.
İç 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.
Kod barındırma siteleri kimlik doğrulama bilgileri¶
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 apply to all Sürüm denetimi bütünleştirmesi with appropriately changed variable names.
Önemli
Tüm ortam değişkeni adlarında WEBLATE_ ön eki bulunmalıdır. Örneğin, GitHub kimlik doğrulama bilgilerini yapılandırmak için GITHUB_USERNAME değil WEBLATE_GITHUB_USERNAME kullanın. Çekme istekleri veya başka herhangi bir sürüm denetimi sistemi bütünleştirmesi için yapılandırma hazırlıyor olsanız da bu durum geçerlidir.
GitHub çekme istekleri için örnek yapılandırma şöyle olabilir:
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 Data Center çekme istekleri by changing
BITBUCKETSERVER_CREDENTIALS.
- WEBLATE_BITBUCKETCLOUD_USERNAME¶
- WEBLATE_BITBUCKETCLOUD_WORKSPACE¶
- WEBLATE_BITBUCKETCLOUD_TOKEN¶
- WEBLATE_BITBUCKETCLOUD_HOST¶
- WEBLATE_BITBUCKETCLOUD_CREDENTIALS¶
Configures Bitbucket Cloud sunucusu çekme isteği by changing
BITBUCKETCLOUD_CREDENTIALS.
- WEBLATE_AZURE_DEVOPS_USERNAME¶
- WEBLATE_AZURE_DEVOPS_ORGANIZATION¶
- WEBLATE_AZURE_DEVOPS_TOKEN¶
- WEBLATE_AZURE_DEVOPS_HOST¶
- WEBLATE_AZURE_DEVOPS_CREDENTIALS¶
Configures Azure DevOps sunucusu çekme isteği 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 öneriler.
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ı¶
İpucu
E-posta temelli kimlik doğrulama, WEBLATE_NO_EMAIL_AUTH tarafından kapatılmadıkça açılır.
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¶
- 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)
Ayrıca bakınız
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¶
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.
Microsoft Entra ID¶
- WEBLATE_SOCIAL_AUTH_AZUREAD_OAUTH2_KEY¶
- WEBLATE_SOCIAL_AUTH_AZUREAD_OAUTH2_SECRET¶
Microsoft Entra ID kimlik doğrulamasını kullanıma alır. Ayrıntılı bilgi almak için: Microsoft Entra ID.
Kiracı desteği ile Microsoft Entra ID¶
- WEBLATE_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_KEY¶
- WEBLATE_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_SECRET¶
- WEBLATE_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_TENANT_ID¶
Kiracı desteği ile Microsoft Entra ID kimlik doğrulamasını kullanıma alır. Ayrıntılı bilgi almak için: Microsoft Entra ID.
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: Keycloak - Open Source Red Hat SSO.
- WEBLATE_SOCIAL_AUTH_KEYCLOAK_ID_KEY¶
Added in version 5.17.
Keycloak üzerinden benzersiz kullanıcı tanımlayıcısı olarak hangi isteğin kullanılacağını yapılandırır. Varsayılan değer:
e-posta.İpucu
Keycloak üçüncü taraf kimlik hizmeti sağlayıcısını soyutlayacak şekilde yapılandırıldığında, üçüncü taraf kimlik hizmeti sağlayıcısı etki alanı için
WEBLATE_CSP_FORM_SRCyapılandırmanız gerekecektir.Kimlik doğrulamasının Keycloak tarafından Microsoft üzerine iletilmesi örneği.¶environment: WEBLATE_CSP_FORM_SRC: login.microsoftonline.com
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¶
OpenID Connect¶
Added in version 4.13-1.
- WEBLATE_SOCIAL_AUTH_OIDC_OIDC_ENDPOINT¶
- WEBLATE_SOCIAL_AUTH_OIDC_KEY¶
- WEBLATE_SOCIAL_AUTH_OIDC_SECRET¶
- WEBLATE_SOCIAL_AUTH_OIDC_USERNAME_KEY¶
- WEBLATE_SOCIAL_AUTH_OIDC_TITLE¶
- WEBLATE_SOCIAL_AUTH_OIDC_IMAGE¶
Genel OpenID Connect bütünleştirmesini yapılandırır.
Ayrıca bakınız
Fedora OpenID Connect¶
Added in version 5.15.
- WEBLATE_SOCIAL_AUTH_FEDORA_OIDC_KEY¶
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_FULL_NAME¶
- WEBLATE_SAML_ID_ATTR_FIRST_NAME¶
- WEBLATE_SAML_ID_ATTR_LAST_NAME¶
- WEBLATE_SAML_ID_ATTR_USERNAME¶
- WEBLATE_SAML_ID_ATTR_EMAIL¶
- WEBLATE_SAML_ID_ATTR_USER_PERMANENT_ID¶
Added in version 4.18.
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.
Ayrıca bakınız
- POSTGRES_PASSWORD¶
PostgreSQL parolası.
Ayrıca bakınız
- POSTGRES_USER¶
PostgreSQL kullanıcı adı.
- POSTGRES_DB¶
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¶
Veri tabanı aktarımı sırasında değiştirilecek PostgreSQL rolünün adını yapılandırır. Ayrıntılı bilgi almak için: Weblate yapılandırmasını PostgreSQL kullanacak biçimde ayarlamak.
Varsayılan değer:
POSTGRES_USER.
- POSTGRES_CONN_MAX_AGE¶
Added in version 4.8.1.
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
Ayrıca bakınız
- POSTGRES_DISABLE_SERVER_SIDE_CURSORS¶
Added in version 4.9.1.
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¶
Added in version 5.1.
Set to false to disable environment based configuration of the database connection. Use Veri biriminden alınan ayarları değiştirmek to configure the database connection manually.
Veri tabanı yedekleme ayarları¶
Ayrıca bakınız
- WEBLATE_DATABASE_BACKUP¶
DATABASE_BACKUPkullanarak günlük veri tabanı dökümünü yapılandırır. Varsayılan değer:plain.
Veri depolama alanı sunucusu kurulumu¶
Weblate kapsayıcısı ile Valkey veya Redis kullanımı gereklidir ve Docker ile Weblate çalıştırırken bir bağlantı parametresi belirtmeniz gerekir.
Ayrıca bakınız
- REDIS_HOST¶
Veri depolama alanı sunucusunun adı ya da IP adresi. Varsayılan değer:
cache.
- REDIS_PORT¶
Veri depolama alanı sunucusunun bağlantı noktası. Varsayılan değer:
6379.
- REDIS_DB¶
Veri depolama alanı veri tabanı numarası. Varsayılan değer:
1.
- REDIS_USER¶
Added in version 5.13: Veri depolama alanı veri tabanı kullanıcı adı. Varsayılan olarak kullanılmaz.
- REDIS_PASSWORD¶
Veri depolama alanı veri tabanı parolası. Varsayılan olarak kullanılmaz.
Ayrıca bakınız
- REDIS_TLS¶
Veri depolama alanı bağlantısı için SSL özelliğini kullanıma alır.
- REDIS_VERIFY_SSL¶
Veri depolama alanı bağlantısı için SSL sertifikası doğrulamasını kapatmak 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
Ayrıca bakınız
- WEBLATE_EMAIL_HOST¶
E-posta sunucusunun adı ya da IP adresi.
Ayrıca bakınız
- WEBLATE_EMAIL_PORT¶
E-posta sunucusunun bağlantı noktası. Varsayılan değer: 25.
Ayrıca bakınız
- WEBLATE_EMAIL_HOST_USER¶
E-posta ile kimlik doğrulama kullanıcısı.
Ayrıca bakınız
- WEBLATE_EMAIL_HOST_PASSWORD¶
E-posta ile kimlik doğrulama parolası.
Ayrıca bakınız
- 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_TLSaçık TLS ayarına bakın.4.11 sürümünde değişti: SSL/TLS desteği
WEBLATE_EMAIL_PORTseçeneğine göre kendiliğinden kullanıma alınır.Ayrıca bakınız
- 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
WEBLATE_EMAIL_USE_SSLseçeneğindeki örtülü TLS ayarına bakın.4.11 sürümünde değişti: SSL/TLS desteği
WEBLATE_EMAIL_PORTseçeneğine göre kendiliğinden kullanıma alınır.Ayrıca bakınız
- WEBLATE_EMAIL_BACKEND¶
Django arka ucunu e-posta göndermek için yapılandırır.
Ayrıca bakınız
- 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
Not
Bu bir Boolean ayarıdır (
"true"ya da"false"kullanın).
Site bütünleştirmesi¶
- WEBLATE_GET_HELP_URL¶
GET_HELP_URLseçeneğini yapılandırır.
- WEBLATE_STATUS_URL¶
STATUS_URLseçeneğini yapılandırır.
- WEBLATE_PRIVACY_URL¶
PRIVACY_URLseçeneğini yapılandırır.
- WEBLATE_PASSWORD_RESET_URL¶
PASSWORD_RESET_URLseçeneğini yapılandırır.
Hata raporlarını toplamak ve başarımı izlemek¶
Kurulumdaki hataları sistematik olarak toplamanız önerilir. Ayrıntılı bilgi almak için: Hata raporlarını toplamak ve başarımı izlemek.
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¶
Sentry DSN ayarınız. Ayrıntılı bilgi almak için:
SENTRY_DSN.
- SENTRY_ENVIRONMENT¶
Sentry ortamınız (isteğe bağlı). Varsayılan değer:
WEBLATE_SITE_DOMAIN.
- SENTRY_MONITOR_BEAT_TASKS¶
Celery Beat görevlerinin Sentry ile izlenip izlenmeyeceği. Varsayılan değer:
True.
- SENTRY_TRACES_SAMPLE_RATE¶
SENTRY_TRACES_SAMPLE_RATEseçeneğini yapılandırır.Örnek:
environment: SENTRY_TRACES_SAMPLE_RATE: 0.5
- SENTRY_PROFILES_SAMPLE_RATE¶
SENTRY_PROFILES_SAMPLE_RATEseçeneğini yapılandırır.Örnek:
environment: SENTRY_PROFILES_SAMPLE_RATE: 0.5
- SENTRY_SEND_PII¶
SENTRY_SEND_PIIseçeneğini yapılandırır.
Yerelleştirme CDN¶
- WEBLATE_LOCALIZE_CDN_URL¶
- WEBLATE_LOCALIZE_CDN_PATH¶
Added in version 4.2.1.
JavaScript yerelleştirme CDN yapılandırması.
WEBLATE_LOCALIZE_CDN_PATHkapsayı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, makine çevirilerini 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¶
- WEBLATE_ADD_MACHINERY¶
Added in version 5.6.1.
- WEBLATE_REMOVE_MACHINERY¶
Added in version 5.6.1.
Örnek:
environment:
WEBLATE_REMOVE_AUTOFIX: weblate.trans.autofixes.whitespace.SameBookendingWhitespace
WEBLATE_ADD_ADDONS: customize.addons.MyAddon,customize.addons.OtherAddon
Ayrıca bakınız
Kapsayıcı ayarları¶
- WEBLATE_WORKERS¶
Added in version 4.6.1.
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, veWEB_WORKERSseç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_WORKERSseçeneğinden alınır.Örnek:
environment: CELERY_MAIN_OPTIONS: --concurrency 16
- CELERY_SINGLE_PROCESS¶
Added in version 5.7.1: Bu değişken yalnızca bir Celery işlemini çalıştırmak için
1olarak ayarlanabilir. Bu ayar bellek kullanımını azaltır ancak Weblate başarımını etkileyebilir.environment: CELERY_SINGLE_PROCESS: 1
Ayrıca bakınız
- WEB_WORKERS¶
Çalışacak WSGI işlemi sayısını yapılandırın.
Varsayılan olarak
WEBLATE_WORKERSdeğerinin yarısıdır. Ancak her zaman en az 2 olur.Örnek:
environment: WEB_WORKERS: 4
5.13 sürümünde değişti:
WEB_WORKERS, granian tarafından kaç işlemin kullanılacağını ayarlar.
- 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-beatCelery 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-backupYedeklemeler için Celery işlemi. Yalnızca bir kopya çalışmalıdır.
celery-celeryGenel Celery işlemi.
celery-memoryÇeviri belleği Celery işlemi.
celery-notifyBildirim Celery işlemi.
celery-translateKendiliğinden çeviri Celery işlemi.
webSite sunucusu.
Ayrıca bakınız
- WEBLATE_ANUBIS_URL¶
Added in version 5.11.4.
Alt istek kimlik doğrulamasını işlemek için Anubis sunucusunun adresi. Bu, yapay zeka tarayıcılarını durdurmak için iş kanıtı kullanarak gelen HTTP isteklerini süzmekte yararlı olabilir. Çalışması için Anubis for Subrequest Authentication yapılandırmasını yapmanız gerekir.
Ayrıca bakınız
Docker kapsayıcısı birimleri¶
Weblate kapsayıcısı tarafından iki birim (data ve cache) dışa aktarılır.
Not
Diğer hizmet kapsayıcıları (PostgreSQL veya Valkey gibi) için de veri birimleri bulunur ve Weblate kalıcılığını sağlamak için gereklidir.
PostgreSQL kapsayıcısı, veri tabanı için /var/lib/postgresql birimini ve Valkey için /data birimini kullanır. Valkey kapsayıcısı verileri varsayılan olarak kaydetmez ve kalıcılığı sağlamak için ek yapılandırmaya gerek duyar.
Yapılandırmanızda Weblate tarafından verilen örnekleri temel alın veya ayrıntılı bilgi almak için belgelere bakın.
data birimi /app/data olarak bağlanır ve kopyalanmış depolar gibi kalıcı Weblate verilerini depolamak veya Weblate kurulumunu özelleştirmek için kullanılır. DATA_DIR seçeneğinde burada nelerin depolandığı ile ilgili ayrıntılı bilgi bulabilirsiniz.
data birimi aynı zamanda Veri biriminden alınan ayarları değiştirmek, Logo ve diğer durağan dosyaları değiştirmek veya Kodu özelleştirmek gibi Weblate özelleştirmelerinin tutulduğu yerdir.
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.
The cache volume is mounted as /app/cache and is used to store static
files and CACHE_DIR. Its content is recreated on container startup
and the volume can be mounted using ephemeral filesystem such as tmpfs, but
the mount has to allow execution because Weblate stores generated helper files
there.
When mounting /app/cache explicitly as tmpfs in Docker Compose,
enable execution:
tmpfs:
- /app/cache:exec
When also setting ownership options, keep the exec option:
tmpfs:
- /app/cache:exec,uid=1000,gid=1000
Birimleri el ile oluştururken, klasörlerin sahibi kapsayıcı içindeki UID 1000 olmalıdır.
Weblate kapsayıcısı salt okunur bir kök dosya sistemiyle de çalıştırılabilir. Bu durumda iki ek tmpfs birimi bağlanmalıdır - /tmp ve /run.
Ayrıca bakınız
Salt okunur kök dosya sistemi¶
Added in version 4.18.
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.
Ayrıca bakınız
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:
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.pydosyası oluşturabilirsiniz:from weblate.settings_docker import *
Resmi Weblate Docker kalıbından devralınan ve ardından paketinizi kuran ve ayarlar modülünüze
DJANGO_SETTINGS_MODULEortam değişkenini gösteren özel birDockerfileoluşturun:FROM weblate/weblate USER root COPY weblate_customization /usr/src/weblate_customization RUN source /app/venv/bin/activate && uv pip install --no-cache-dir /usr/src/weblate_customization ENV DJANGO_SETTINGS_MODULE=weblate_customization.settings USER 1000
Resmi Weblate Docker kalıbını kullanmak yerine, bu
Dockerfiledosyasından özel bir kalıp oluşturun.Bunu
docker-compose.override.ymlile yapmanın temiz bir yolu yoktur. Bu dosyadakiweblatedüğümünebuild: .ekleyebilirsiniz. Ancak daha sonra özel kalıbınız sisteminizdeweblate/weblateolarak etiketlenir ve bu da soruna yol açabilir.Bu nedenle,
docker-compose.ymldosyasını doğrudan resmi depo üzerinden değiştirmeden kullanmak vedocker-compose.override.ymlile genişletmek yerine, resmidocker-compose.ymldosyasının bir kopyasını oluşturmak ve kopyanızıimage: weblate/weblateyerinebuild: .ile değiştirmek için düzenlemek isteyebilirsiniz.docker-composekullanırken kaynaktan kalıp oluşturma ile ilgili ayrıntılı bilgi almak için Dosya oluşturma referansı bölümüne bakabilirsiniz.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_settingsuygulaması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 konular modülü 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: Weblate platformunu özelleştirmek) 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
Kodu özelleştirmek¶
Not
İç Weblate API uygulaması sürümler arasında önemli ölçüde değişiklik gösterebilir ve kararlı olması amaçlanmamıştır. Lütfen her yükseltmede Weblate iç kodları ile etkileşime giren özel kodunuzu gözden geçirin.
Ek Python kodunu /app/data/python/customize içine yerleştirebilirsiniz (ayrıntılı bilgi almak için: Docker kapsayıcısı birimleri). Weblate içinde bir Django uygulaması olarak zaten kuruludur (bu, yukarıda açıklandığı gibi kalıpları ve durağab dosyaları özelleştirmek için kullanılır).
Bu, herhangi bir kodu (Kendi denetimlerinizi oluşturmak gibi) yerleştirmek veya Celery görev zamanlayıcısına özel bakım görevleri eklemek için kullanılabilir.
/app/data/python/customize/tasks.py.¶"""Custom scheduled task."""
import subprocess # noqa: S404
from celery.schedules import crontab
from weblate.utils.celery import app
@app.task
def custom_task() -> None:
"""Execute custom task code."""
subprocess.run(["sleep", "1"], check=True) # noqa: S607
@app.on_after_finalize.connect
def setup_periodic_tasks(sender, **kwargs) -> None:
"""Configure when periodic task is triggered."""
sender.add_periodic_task(
crontab(hour=1, minute=0), custom_task.s(), name="custom-task"
)
Üçüncü taraf kapsayıcıları bütünleştirmek¶
Weblate Docker kurulumu, makine çevirisi, yazım denetimi veya çeviri iş akışını geliştiren diğer araçlar gibi tamamlayıcı hizmetler sağlamak için ek kapsayıcılarla genişletilebilir. Bu hizmetler Docker Compose yapılandırmanızka bütünleştirilebilir ve Weblate ile çalışabilir.
Üçüncü taraf kapsayıcıları eklerken şunları göz önünde bulundurun:
Ağ bağlantısı: Kapsayıcıları aynı Docker ağına yerleştirerek birbirleriyle iletişim kurabilmelerini sağlayın
Verilerin kalıcılığı: Verileri kalıcı kılması gereken hizmetler için birimleri kullanın
Güvenlik: Uygun erişim denetimlerini yapılandırın ve gereksiz bağlantı noktalarını açmaktan kaçının
LibreTranslate Docker kapsayıcısı bütünleştirmesi¶
LibreTranslate kendinizin barındırılabileceği ücretsiz ve açık kaynaklı bir makine çevirisi hizmetidir. Weblate ile bütünleştirilmesi, dış hizmetleri kullanmadan çevrim dışı makine çevirisi yetenekleri sağlar.
LibreTranslate hizmetini bir docker-compose.override.yml dosyasına ekleyerek Weblate dağıtımınızla birleştirebilirsiniz. Docker ağı içinde çalıştığından, yalnızca Weblate tarafından erişilebilir ve herkese açık internete erişmez.
docker-compose.override.yml kullanan temel kurulum:
services:
libretranslate:
image: libretranslate/libretranslate:latest
command: --disable-web-ui
restart: unless-stopped
environment:
LT_UPDATE_MODELS: true
volumes:
- libretranslate_models:/home/libretranslate/.local:rw
healthcheck:
test: ['CMD-SHELL', './venv/bin/python scripts/healthcheck.py']
interval: 10s
timeout: 4s
retries: 4
start_period: 5s
volumes:
libretranslate_models:
GPU hızlandırmalı çeviri için (NVIDIA GPU varsa):
services:
libretranslate:
image: libretranslate/libretranslate:latest-cuda
command: --disable-web-ui
restart: unless-stopped
environment:
LT_UPDATE_MODELS: true
PUID: root
volumes:
- libretranslate_models:/home/libretranslate/.local:rw
healthcheck:
test: ['CMD-SHELL', './venv/bin/python scripts/healthcheck.py']
interval: 10s
timeout: 4s
retries: 4
start_period: 5s
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
volumes:
libretranslate_models:
Hizmetleri docker compose down && docker compose up -d ile başlattıktan sonra, Weblate içinden LibreTranslate yapılandırmasını tamamlayın:
Weblate yönetici arayüzüne erişin
Makine çevirisi → Kendiliğinden öneriler seçeneğine gidin
Şununla yeni bir LibreTranslate hizmeti ekleyin:
- Hizmet:
LibreTranslate
- API adresi:
http://libretranslate:5000- API anahtarı:
Boş bırakın
Artık Weblate içinde makine çevirisi için LibreTranslate yapılandırılmış ve kullanılabilir durumdadır.
Not
LibreTranslate hizmeti internet kullanıcı arayüzü olmadan çalışır (
--disable-web-ui) ve yalnızca Docker ağı içindeki API üzerinden erişilebilir.Kapsayıcı başlatıldığında modeller kendiliğinden güncellenir. (
LT_UPDATE_MODELS: true)Veriler, en iyi başarım ve veri güvenliği için Docker birimleri kullanılarak kalıcı kılınır.
Sağlık denetimleri, Docker işleyicinin hizmet durumunu doğru şekilde gözlemesini sağlar.
GPU hızlandırması için CUDA görsel çeşidini kullanın ve sisteminizin NVIDIA Docker desteğinin olduğundan emin olun. Bu kapsayıcı, GPU kullanabilmek için yetkili bir kullanıcı olarak çalışır.
Herhangi bir dış bağlantı noktası açık değildir. Bu da kurulumu varsayılan olarak güvenli kılar.
Ayrıca bakınız
Anubis Docker kapsayıcısı bütünleştirmesi¶
Anubis, yapay zeka kazıyıcılarını ve sunucudaki diğer yıkıcı trafiği engellemek için kullanılan bir internet yapay zeka güvenlik duvarıdır. Genellikle, kazıma işleminin neden olduğu aşırı yükü önlemek için herkese açık Weblate kurulumları için gereklidir.
Anubis, Docker Compose kullanılarak dağıtılabilir:
anubis:
image: ghcr.io/techarohq/anubis:latest
environment:
BIND: ":8923"
DIFFICULTY: "4"
METRICS_BIND: ":9090"
SERVE_ROBOTS_TXT: "false"
OG_PASSTHROUGH: "false"
# The single space in TARGET enables subrequest authentication
TARGET: " "
# The redirect domain has to match WEBLATE_SITE_DOMAIN
REDIRECT_DOMAINS: weblate.example.com
# Generate a random private key using: openssl rand -hex 32
ED25519_PRIVATE_KEY_HEX: "..."
# Customize your Anubis policy
POLICY_FNAME: /data/botPolicies.yaml
healthcheck:
test: ["CMD", "anubis", "--healthcheck"]
interval: 5s
timeout: 30s
retries: 5
start_period: 500ms
volumes:
- anubis-data:/data
volumes:
anubis-data:
Not
Yukarıdaki yapılandırmadaki anubis-data biriminde, gereksinimlerinize uygun olarak yapılandırılmış bir bot ilkesi botPolicies.yaml bulunması beklenir.
En azından durum kodlarını https://anubis.techaro.lol/docs/admin/configuration/subrequest-auth adresinde açıklandığı gibi ayarlamanız gerekir.
Kalıcı depolama arka ucunun https://anubis.techaro.lol/docs/admin/policies/#storage-backends adresinde açıklandığı şekilde yapılandırılması da önerilir.
Daha sonra Weblate üzerinde Anubis kullanımı ile açabilirsiniz:
environment:
WEBLATE_ANUBIS_URL: http://anubis:8923
Ayrıca bakınız
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 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: Celery ile arka plan görevlerini kullanmak). Uygun işlemi durdurarak bazı görevlerin yürütülmesini durdurabilirsiniz:
docker compose exec --user weblate weblate supervisorctl stop celery-translate