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 web 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.
Kurulum
Aşağıdaki örneklerde, docker-compose
kurulumu yapılmış hazır bir Docker ortamınız olduğu varsayılmaktadır. Yönergeler için Docker belgelerine 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.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.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.
2.15-2 sürümünde değişti: Kurulum bir süre önce değiştirildi. Daha önce ayrı bir web sunucusu kapsayıcısı vardı. 2.15-2 sürümünden sonra web sunucusu Weblate kapsayıcısına eklendi.
3.7.1-6 sürümünde değişti: 2019 Temmuz ayında (3.7.1-6 sürümünden başlayarak), kapsayıcılar kök kullanıcı olarak çalışmayacak biçimde değiştirildi. Açık bağlantı noktası 80 yerine 8080 olarak değiştirildi.
Ayrıca bakınız
Docker hub etiketini seçmek
Docker hub üzerinde şu etiketleri kullanabilirsiniz. Kullanılabilecek etiketlerin tam listesi için https://hub.docker.com/r/weblate/weblate/tags/ adresine bakabilirsiniz.
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ü |
Ü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 eklencek 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 denenir. Bu nedenle bleeding sürümünün kullanımı bile oldukça güvenli olmalıdır.
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
3.8-3 sürümünde geldi.
Kullanmak istediğiniz bir SSL sertifikanız varsa, dosyaları Weblate veri birimine yerleştirmeniz yeterlidir (bilgi almak için: :ref:`docker-volume’):
ssl/fullchain.pem
dosyasında gerekli sertifika kuruluşunun sertifikaları ile birlikte kullanılacak sertifika bulunurssl/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;
listen [::]:443;
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.10-1 sürümünde değişti: Weblate 4.10-1 sürümünden bu yana, Docker kapsayıcısı PostgreSQL 10 ya da üzerindeki sürümlere gerek duyan Django 4.0 kullanır. Lütfen Weblate yükseltmesinden önce Docker sürümünü yükseltin. Bilgi almak için: 4.9 sürümünden 4.10 sürümüne yükseltmek ve 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.
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 --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
docker-compose.yml
dosyası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 postgres
(İ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 postgres -c "ALTER USER weblate WITH PASSWORD 'weblate'"
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
WEBLATE_ADMIN_PASSWORD
,
WEBLATE_ADMIN_NAME
,
WEBLATE_ADMIN_EMAIL
İş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 bilgi almak için Ortam değişkenlerinin yapılandırması.
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
- WEBLATE_LOGLEVEL
Günlük kayıtlarının ayrıntı düzeyini yapılandırır.
- 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.
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
ADMINS
ayarını hem de admin kullanıcısını oluşturmak için kullanılır (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
Yönetici olarak oturum açın, Yöneticileri düzgün şekilde yapılandırın,
ADMINS
- 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
veWEBLATE_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_ADMIN_PASSWORD_FILE
Admin kullanıcısının parolasının bulunduğu bir dosyanın yolunu ayarlar.
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_CONTACT_FORM
İletişim formu davranışını yapılandırır. 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
Ayrıca bakınız
ALLOWED_HOSTS
, Allowed hosts kurulumu, Doğru site etki alanını ayarlayın
- WEBLATE_REGISTRATION_OPEN
REGISTRATION_OPEN
seçeneğini değiştirerek hesap açma özelliğini etkinleştirir.Ö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. 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. 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
- 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 etkinleştirir 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-For
değeriHTTP_X_FORWARDED_FOR
ile eşleştirilir.Örnek:
environment: WEBLATE_IP_PROXY_HEADER: HTTP_X_FORWARDED_FOR
- 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
- WEBLATE_REQUIRE_LOGIN
Tüm Weblate üzerinde kimlik doğrulamasını zorunlu kılmak için
REQUIRE_LOGIN
seçeneğini etkinleştirir.Ö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
veREMOVE
seçeneklerini kullanarak varsayılan değeri değiştirebilirsiniz.
- WEBLATE_GOOGLE_ANALYTICS_ID
GOOGLE_ANALYTICS_ID
seçeneğini değiştirerek Google Analytics kimliğini yapılandırır.
- WEBLATE_GITHUB_USERNAME
- WEBLATE_GITHUB_TOKEN
- WEBLATE_GITHUB_HOST
GITHUB_CREDENTIALS
seçeneğini değiştirerek GitHub çekme istekleri bütünleştirmesini yapılandırır.Ayrıca bakınız
- WEBLATE_GITLAB_USERNAME
- WEBLATE_GITLAB_TOKEN
- WEBLATE_GITLAB_HOST
GITLAB_CREDENTIALS
seçeneğini değiştirerek GitLab birleştirme istekleri bütünleştirmesini yapılandırır.Ayrıca bakınız
- WEBLATE_GITEA_USERNAME
- WEBLATE_GITEA_TOKEN
- WEBLATE_GITEA_HOST
GITEA_CREDENTIALS
seçeneğini değiştirerek Gitea çekme istekleri bütünleştirmesini yapılandırır.Ayrıca bakınız
- WEBLATE_PAGURE_USERNAME
- WEBLATE_PAGURE_TOKEN
- WEBLATE_PAGURE_HOST
PAGURE_CREDENTIALS
seçeneğini değiştirerek Pagure birleştirme istekleri bütünleştirmesini yapılandırır.Ayrıca bakınız
- WEBLATE_BITBUCKETSERVER_USERNAME
- WEBLATE_BITBUCKETSERVER_TOKEN
- WEBLATE_BITBUCKETSERVER_HOST
BITBUCKETSERVER_CREDENTIALS
seçeneğini değiştirerek Bitbucket sunucusu birleştirme istekleri bütünleştirmesini yapılandırır.Ayrıca bakınız
- 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ırAyrıca bakınız
- WEBLATE_SIMPLIFY_LANGUAGES
Dil basitleştirme ilkesini yapılandırır. 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. 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. 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. 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. Bilgi almak için:
AKISMET_API_KEY
.
- WEBLATE_GPG_IDENTITY
Gönderimlerin GPG imzamalamasını yapılandırır. 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. Bilgi almak için:
URL_PREFIX
.
- WEBLATE_SILENCED_SYSTEM_CHECKS
Görüntülenmesini istemediğiniz denetimleri yapılandırır. 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.Ayrıca bakınız
İçerik güvenliği ilkesi,
CSP_SCRIPT_SRC
,CSP_IMG_SRC
,CSP_CONNECT_SRC
,CSP_STYLE_SRC
,CSP_FONT_SRC
- 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.Ayrıca bakınız
Hız sınırlama,
RATELIMIT_ATTEMPTS
,RATELIMIT_WINDOW
,RATELIMIT_LOCKOUT
- 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
- 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.
BORG_EXTRA_ARGS
seçeneğini yapılandırır.
- 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_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
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. 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_BIND_PASSWORD_FILE
LDAP sunucusunun bind parolasını içeren dosyanın yolu.
Ayrıca bakınız
- 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 etkinleştirir.
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 etkinleştirir.
Facebook
- WEBLATE_SOCIAL_AUTH_FACEBOOK_KEY
- WEBLATE_SOCIAL_AUTH_FACEBOOK_SECRET
Facebook OAuth 2 seçeneğini etkinleştirir.
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 etkinleştirir.
GitLab
- WEBLATE_SOCIAL_AUTH_GITLAB_KEY
- WEBLATE_SOCIAL_AUTH_GITLAB_SECRET
- WEBLATE_SOCIAL_AUTH_GITLAB_API_URL
GitLab OAuth 2 seçeneğini etkinleştirir.
Gitea
- WEBLATE_SOCIAL_AUTH_GITEA_API_URL
- WEBLATE_SOCIAL_AUTH_GITEA_KEY
- WEBLATE_SOCIAL_AUTH_GITEA_SECRET
Gitea kimlik doğrulaması kullanılsın.
Azure Active Directory
- WEBLATE_SOCIAL_AUTH_AZUREAD_OAUTH2_KEY
- WEBLATE_SOCIAL_AUTH_AZUREAD_OAUTH2_SECRET
Azure Active Directory kimlik doğrulamasını etkinleştirir. 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ı etkinleştirir. 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
Linux hizmet sağlayıcıları
Şu değişkenleri bir değere ayarlayarak Linux üreticilerinin kimlik doğrulama hizmetleri ile kimlik doğrulamayı etkinleştirebilirsiniz.
- WEBLATE_SOCIAL_AUTH_FEDORA
- WEBLATE_SOCIAL_AUTH_OPENSUSE
- WEBLATE_SOCIAL_AUTH_UBUNTU
Slack
- WEBLATE_SOCIAL_AUTH_SLACK_KEY
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
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ı. Bilgi almak için: SAML kimlik doğrulaması.
Diğer kimlik doğrulama ayarları
- WEBLATE_NO_EMAIL_AUTH
Herhangi bir değere ayarlandığında e-posta kimlik doğrulamasını devre dışı bırakır. 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ı.
- POSTGRES_PASSWORD_FILE
PostgreSQL parolasının bulunduğu dosyanın yolu. POSTGRES_PASSWORD alternatif olarak kullanın.
- 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. 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 (varsayılan davranış).
Bağlantı kalıcılığını etkinleştirmek 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
4.9.1 sürümünde geldi.
Veri tabanındaki sunucu tarafı imleçlerini devre dışı bırakın. Bu uygulama, bazı pgbouncer kurulumlarında gereklidir.
Örnek yapılandırma:
environment: POSTGRES_DISABLE_SERVER_SIDE_CURSORS: 1
Veri tabanı yedekleme ayarları
Ayrıca bakınız
- 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
- 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.
- REDIS_PASSWORD_FILE
Redis sunucu parolasının bulunduğu dosyanın yolu.
Ayrıca bakınız
- REDIS_TLS
Redis bağlantısı için SSL kullanımını etkinleştirir.
- REDIS_VERIFY_SSL
Redis bağlantısı için SSL sertifikası doğrulamasını devre dışı bırakmak 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
,WEBLATE_EMAIL_USE_SSL
,WEBLATE_EMAIL_USE_TLS
,EMAIL_HOST
- 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_HOST_PASSWORD_FILE
E-posta ile kimlik doğrulama parolasını içeren dosyanın yolu.
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_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 etkinleştirilir.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 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 etkinleştirilir.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_URL
seçeneğini yapılandırır.
- WEBLATE_STATUS_URL
STATUS_URL
seçeneğini yapılandırır.
- WEBLATE_PRIVACY_URL
PRIVACY_URL
seçeneğini yapılandırır.
Hataları bildirmek
Kurulumdaki hataları sistematik olarak toplamanız önerilir. Bilgi almak için: Hata raporlarını derlemek.
Rollbar desteğini etkinleştirmek 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 etkinleştirmek için şunları ayarlayın:
- SENTRY_DSN
Sentry DSN değeriniz.
- SENTRY_ENVIRONMENT
Sentry ortamınız (isteğe bağlı).
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.
Etkin uygulamaları, denetimleri, eklentileri ya da kendiliğinden düzeltmeleri değiştirmek
3.8-5 sürümünde geldi.
Etkin 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
Ayrıca bakınız
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
, veWEB_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
Ayrıca bakınız
Celery işlemi seçenekleri, Celery ile arka plan görevlerini kullanmak
- 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
Web 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
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.py
dosyası 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_MODULE
ortam değişkenini gösteren özel birDockerfile
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
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 dosyadakiweblate
düğümünebuild: .
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ğrudanresmi depo <https://github.com/WeblateOrg/docker-compose>``__ üzerinden değiştirmeden kullanmak ve ``docker-compose.override.yml
ile genişletmek yerine, resmidocker-compose.yml
dosyasının bir kopyasını oluşturmak ve kopyanızıimage: weblate/weblate
yerinebuild: .
ile değiştirmek için düzenlemek isteyebilirsiniz.docker-compose
kullanırken kaynaktan kalıp oluşturma hakkında ayrıntılı bilgi almak için Dosya oluşturma referansı bölümüne bakın.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
3.8-5 sürümünde geldi.
Weblate ile birlikte gelen durağan dosyalar /app/data/python/customize/static
içinden değiştirilebilir (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 (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 (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