Installeren met Docker¶
Met een docker-uitrol van Weblate kunt u uw persoonlijke instantie van Weblate in seconden hebben ingesteld en gereed voor gebruik. Alle afhankelijkheden voor Weblate zijn al opgenomen. PostgreSQL is ingesteld als de standaard database en Valkey als een backend voor cachen.
Hardware vereisten¶
Weblate zou zonder problemen moeten kunnen worden uitgevoerd op elke hedendaagse hardware, het volgende is de minimale configuratie die is vereist om Weblate uit te voeren als een enkele host (Weblate, database en webserver):
3 GB RAM
2 CPU-bronnen
1 GB opslagruimte
Notitie
Feitelijke vereisten voor uw installatie van Weblate kunnen enorm variëren, gebaseerd op de grootte van de vertalingen die erin beheerd moeten worden.
Geheugengebruik¶
Hoe meer geheugen hoe beter - het wordt gebruikt voor cachen op alle niveaus (bestandssysteem, database en Weblate). Voor honderden vertaalonderdelen wordt ten minste 4 GB RAM aanbevolen.
Hint
Voor systemen met minder geheugen dan aanbevolen, wordt Opstelling een-proces Celery aanbevolen.
CPU-gebruik¶
Veel gelijktijdige gebruikers verhogen het aantal benodigde CPU-bronnen.
Opslaggebruik¶
Het gewoonlijke gebruik voor opslag van de database ligt rond de 300 MB per 1 miljoen gehoste woorden.
Opslagruimte die nodig is voor gekloonde opslagruimten varieert, maar Weblate probeert hun grootte minimaal te houden door oppervlakkig te klonen.
Knooppunt¶
Voor kleine en gemiddelde sites (miljoenen gehoste woorden), kunnen alle onderdelen van Weblate (bekijk Overzicht architectuur) worden uitgevoerd op een enkel knooppunt.
Wanneer u groeit naar honderden miljoenen gehoste woorden, wordt aanbevolen om een toegewezen knooppunt voor de database te hebben (bekijk Instellingen database voor Weblate).
Installatie¶
Hint
De volgende voorbeelden gaan ervan uit dat u een werkende omgeving voor Docker hebt, met docker-compose-plugin geïnstalleerd. Bekijk de documentatie van Docker voor instructies.
Dit maakt een uitgerolde server voor Weblate via HTTP, dus u zou het moeten plaatsen achter een HTTPS beëindigende proxy. U kunt ook uitrollen met een HTTPS proxy, bekijk Automatische SSL-certificaten met Let’s Encrypt. Voor grotere opstellingen, bekijk Horizontaal schalen.
Kloon de weblate-docker repo:
git clone https://github.com/WeblateOrg/docker-compose.git weblate-docker cd weblate-docker
Maak een bestand
docker-compose.override.ymlmet uw instellingen. Bekijk Docker omgevingsvariabelen voor een volledige lijst met omgevingsvariabelen.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
Notitie
Als
WEBLATE_ADMIN_PASSWORDniet is ingesteld, wordt de gebruiker admin gemaakt met een willekeurig wachtwoord dat wordt weergegeven bij de eerste keer opstarten.Het verschafte voorbeeld zorgt ervoor dat Weblate luistert op poort 80, bewerk de verwijzingen naar de poort in het bestand
docker-compose.override.ymlom dat te wijzigen.Weblate containers starten:
docker compose up
Veel plezier met uw uitrol van Weblate, het is toegankelijk via poort 80 van de container weblate.
Zie ook
Docker image registratie kiezen¶
Weblate containers worden gepubliceerd naar de volgende registraties:
Docker Hub, bekijk https://hub.docker.com/r/weblate/weblate
GitHub Packages registratie, bekijk https://github.com/WeblateOrg/docker/pkgs/container/weblate
Notitie
Alle huidige voorbeelden halen afbeeldingen op vanaf Docker Hub, pas de configuratie overeenkomstig aan om een andere registratie te gebruiken.
Docker image tag kiezen¶
Kies een tag die overeenkomt met uw omgeving en uw verwachtingen:
Tagnaam |
Omschrijving |
Te gebruiken |
|---|---|---|
|
Weblate stabiele uitgave, komt overeen met de als latest getagde uitgave |
Doorlopend bijwerken in een productieomgeving |
|
Weblate stabiele uitgave |
Doorlopend bijwerken in een kalenderjaar in een productieomgeving |
|
Weblate stabiele uitgave |
Doorlopend bijwerken in een maandelijkse uitgave in een productieomgeving |
|
Weblate stabiele uitgave |
Goed gedefinieerde uitrol in een productieomgeving |
|
Weblate stabiele uitgave met ontwikkelingswijzigingen in de Docker container (bijvoorbeeld bijgewerkte afhankelijkheden) |
Doorlopend bijwerken in een proefomgeving |
|
Weblate stabiele uitgave met ontwikkelingswijzigingen in de Docker container (bijvoorbeeld bijgewerkte afhankelijkheden) |
Goed gedefinieerde uitrol in een proefomgeving |
|
Ontwikkelingsversie Weblate vanuit Git |
Doorlopend bijwerken om aankomende mogelijkheden voor Weblate te testen |
|
Ontwikkelingsversie Weblate vanuit Git |
Goed gedefinieerde uitrol om aankomende mogelijkheden voor Weblate te testen |
Elk image is getest door ons CI voordat het werd gepubliceerd, dus zelfs de versie bleeding zou veilig genoeg moeten zijn om te gebruiken.
Volledige lijst met gepubliceerde tags is te vinden op GitHub Packages
Docker container met ondersteuning voor HTTPS¶
Bekijk Installatie voor algemene instructies voor uitrollen, dit gedeelte vermeldt alleen verschillen in vergelijking daarmee.
SSL eindigende proxy¶
SSL kan worden beëindigd buiten de container van Weblate container. Om dit goed samen te laten werken, moeten verscheidene koppen worden doorgegeven aan de container, zodat die zich bewust is van zijn feitelijke omgeving. Deze koppen worden meer in detail beschreven in Uitvoeren achter een omgekeerde proxy.
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
Eigen certificaten voor SSL gebruiken¶
In het geval dat u uw eigen certificaat voor SSL hebt dat u wilt gebruiken, plaats eenvoudigweg de bestanden in het Weblate-volume data (bekijk Docker container volumes):
ssl/fullchain.pembevat het certificaat, inclusief alle benodigde CA-certificatenssl/privkey.pembevat de privé-sleutel
Deze beide bestanden moeten eigendom zijn van dezelfde gebruiker als die welke de Docker container startte en het bestandsmasker hebben ingesteld op 600 (alleen te lezen en te beschrijven door de gebruiker die eigenaar is).
Aanvullend zal de Weblate container nu SSL-verbindingen accepteren op poort 4443, u zou de poort forwarding voor HTTPS op willen nemen in docker compose override:
version: '3'
services:
weblate:
ports:
- 80:8080
- 443:4443
Als u al andere sites host op dezelfde server, is het waarschijnlijk dat de poorten 80 en 443 worden gebruikt door een omgekeerde proxy, zoals NGINX. U kunt de volgende configuratie gebruiken om de HTTPS-verbinding van NGINX door te geven aan de Docker container:
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>;
}
}
Vervang <SITE_URL>, <SITE> en <EXPOSED_DOCKER_PORT> door de feitelijke waarden van uw omgeving.
Automatische SSL-certificaten met Let’s Encrypt¶
In het geval dat u Let’s Encrypt automatisch gegenereerde SSL-certificaten wilt gebruiken op een publieke installatie, moet u een omgekeerde HTTPS proxy toevoegen aan een aanvullende Docker container, https-portal zal daarvoor worden gebruikt. Die maakt gebruik van het bestand docker-compose-https.yml. Maak dan een bestand docker-compose-https.override.yml met uw instellingen:
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'
Altijd bij het uitvoeren van docker compose moet u beide bestanden er aan doorgeven, en dan doen:
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
Upgraden van de Docker container¶
Gewoonlijk is het een goed idee om alleen de Weblate container bij te werken en de PostgreSQL container op de versie te houden die u al hebt, omdat het bijwerken van PostgreSQL vrij pijnlijk is en in de meeste gevallen niet veel voordelen oplevert.
U kunt dit doen door te blijven bij de bestaande docker-compose en eenvoudigweg de laatste images op te halen en dan opnieuw op te starten:
# 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
De database van Weblate zou automatisch moeten worden gemigreerd bij de eerste keer opstarten, en er zou geen noodzaak moeten zijn voor aanvullende handmatige acties.
Notitie
Direct upgraden wordt alleen ondersteund voor uitgaven van het huidige of vorige kalenderjaar. Wanneer u moet upgraden vanuit een oudere uitgave, upgrade dan eerst naar een tussenliggende versie die is vermeld in Versie-specifieke instructies.
U zou misschien ook de opslagruimte docker-compose willen bijwerken, hoewel dat in de meeste gevallen niet nodig is. Bekijk PostgreSQL container upgraden voor het upgraden van de PostgreSQL-server.
PostgreSQL container upgraden¶
Notitie
PostgreSQL 18 wijzigde de standaard gegevensmap binnen de container. Een veel voorkomende oudere instelling bouwde het databasevolume op /var/lib/postgresql/data, terwijl PostgreSQL 18 nu standaard /var/lib/postgresql gebruikt.
Als u upgradet vanuit een oudere versie, werk dan het gemounte doel in uw Docker-configuratie bij naar het nieuwe pad, of behoudt het oude gemounte doel en stel PGDATA overeenkomstig in.
Het oude gemounte doel ongewijzigd laten, zonder PGDATA in te stellen, kan ervoor zorgen dan PostgreSQL zijn gegevens buiten het doorlopende volume plaatst.
Bekijk PGDATA documentatie voor meer informatie.
PostgreSQL containers ondersteunen niet automatisch upgraden tussen versies, u moet het upgraden handmatig uitvoeren. De hieronder weergegeven stappen geven een van de opties voor upgraden weer.
Weblate container stoppen:
docker compose stop weblate cache
Back-up de database:
docker compose exec database pg_dumpall --clean --if-exists --username weblate > backup.sql
Stop de database container:
docker compose stop database
Verwijder het volume van PostgreSQL:
docker compose rm -v database docker volume remove weblate-docker_postgres-data
Hint
De naam van het volume bevat de naam van het project van Docker Compose, wat standaard de naam van de map is, dat is
weblate-dockerin deze documentatie.Pas
docker-compose.ymlaan om de nieuwe versie van PostgreSQL te gebruiken.Start de database container:
docker compose up -d database
Zet de database terug vanuit de back-up:
cat backup.sql | docker compose exec -T database psql --username weblate --dbname weblate
Hint
Controleer of de naam van de database overeenkomt met
POSTGRES_DB.(Optioneel) Werk het wachtwoord voor de gebruiker Weblate bij. Dit zou nodig kunnen zijn bij migreren naar PostgreSQL 14 of 15, omdat de manier van opslaan van wachtwoorden is veranderd:
docker compose exec -T database psql --username weblate --dbname weblate -c "ALTER USER weblate WITH PASSWORD 'weblate'"
Hint
Controleer of de naam van de database overeenkomt met
POSTGRES_DB.Start alle resterende containers:
docker compose up -d
Beheerder inloggen¶
Na het instellen van de container kunt u inloggen als gebruiker admin met het wachtwoord dat is opgegeven in WEBLATE_ADMIN_PASSWORD, of een willekeurig wachtwoord dat is gegenereerd bij de eerste keer opstarten, als dat niet was opgegeven.
Herstellen van het wachtwoord voor admin, start de container opnieuw op met WEBLATE_ADMIN_PASSWORD ingesteld op het nieuwe wachtwoord.
Aantal processen en geheugengebruik¶
Het aantal processen voor werkers voor zowel WSGI en Celery wordt automatisch bepaald, gebaseerd op het aantal CPU’s. Dit werkt goed voor de meeste machines in de virtuele cloud, omdat die gewoonlijk een paar CPU’s hebben en een goede hoeveelheid geheugen.
Voor het geval u veel CPU-bronnen hebt en problemen met het geheugen ervaart, probeer het aantal werkers te verkleinen:
environment:
WEBLATE_WORKERS: 2
U kunt ook de categorieën van individuele werkers fijner afstemmen:
environment:
WEB_WORKERS: 4
CELERY_MAIN_OPTIONS: --concurrency 2
CELERY_NOTIFY_OPTIONS: --concurrency 1
CELERY_TRANSLATE_OPTIONS: --concurrency 1
Geheugengebruik kan verder worden beperkt door slechts een enkel proces voor Celery uit te voeren:
environment:
CELERY_SINGLE_PROCESS: 1
Horizontaal schalen¶
Added in version 4.6.
U kunt meerdere Weblate containers uitvoeren om de service horizontaal te schalen. Het volume /app/data moet worden gedeeld door alle containers, aanbevolen wordt een geclusterd bestandssysteem hiervoor te gebruiken, zoals GlusterFS. Het volume /app/cache moet voor elke container afzonderlijk zijn.
Elke Weblate container heeft een rol gedefinieerd met de omgevingsvariabele WEBLATE_SERVICE. Volg de documentatie zorgvuldig, omdat sommige services slechts een keer zouden moeten worden uitgevoerd in de cluster, en de volgorde van de services is ook van belang.
U kunt een voorbeeld voor de opstelling vinden in de opslagruimte docker-compose als docker-compose-split.yml.
Docker omgevingsvariabelen¶
Veel van de Configuratie van Weblate kan worden ingesteld in de Docker container met de hieronder beschreven omgevingsvariabelen.
Als u een instelling moet definiëren die niet is weergegeven in de Docker omgevingsvariabelen, bekijk Configuratie voorbij omgevingsvariabelen.
Geheim invoeren¶
Added in version 5.0.
Weblate container ondersteunt het doorgeven van geheimen als bestanden. Voeg, om dat te gebruiken, het achtervoegsel _FILE toe aan de omgevingsvariabele en geef het bestand met het geheim door via Docker.
Het gerelateerde docker-compose.yml zou er zo uit kunnen zien:
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
Generieke instellingen¶
- WEBLATE_DEBUG¶
Configureert de Django debug-modus met
DEBUG.Voorbeeld:
environment: WEBLATE_DEBUG: 1
Zie ook
- WEBLATE_LOGLEVEL¶
Configureert de registratie breedsprakigheid. Zet dit op
DEBUGom meer gedetailleerde logs te zien.Standaard ingesteld op
INFOalsWEBLATE_DEBUGuitgezet is,DEBUGwordt gebruikt als de debug-modus aangezet is.Voor stillere registratie, gebruik
ERRORofWARNING.
- WEBLATE_LOGLEVEL_DATABASE¶
Configureert het loggen van de hoeveelheid informatie in de query’s van de database.
- WEBLATE_LOG_GELF_HOST¶
Added in version 5.9.
Configureert loggen op afstand met een TCP-verbinding voor GELF. Kan worden gebruikt om te integreren met Graylog.
- WEBLATE_LOG_GELF_PORT¶
Added in version 5.9.
Aangepaste poort gebruiken voor
WEBLATE_LOG_GELF_HOST, standaard is 12201.
- WEBLATE_SITE_TITLE¶
Wijzigt de site-titel die getoond wordt in de header van alle pagina’s.
- WEBLATE_SITE_DOMAIN¶
Configureert het site domein. Deze parameter is verplicht.
Neem de poort op als er geen standaard poort gebruikt wordt.
Voorbeeld:
environment: WEBLATE_SITE_DOMAIN: example.com:8080
- WEBLATE_ADMIN_NAME¶
- WEBLATE_ADMIN_EMAIL¶
Configureert de site-admin zijn naam en e-mail. Wordt gebruikt voor de
ADMINSinstelling alsook het maken van een admin gebruiker (zieWEBLATE_ADMIN_PASSWORDvoor meer informatie hierover).Voorbeeld:
environment: WEBLATE_ADMIN_NAME: Weblate admin WEBLATE_ADMIN_EMAIL: noreply@example.com
- WEBLATE_ADMIN_PASSWORD¶
Zet het wachtwoord voor de admin gebruiker.
Indien niet ingesteld en de gebruiker admin bestaat niet, wordt het gemaakt met een willekeurig wachtwoord, dat wordt weergegeven bij de eerste keer opstarten.
Indien niet ingesteld en de gebruiker admin bestaat, wordt geen actie uitgevoerd.
Indien ingesteld wordt de gebruiker admin aangepast bij het opstarten van elke container om overeen te komen met
WEBLATE_ADMIN_PASSWORD,WEBLATE_ADMIN_NAMEenWEBLATE_ADMIN_EMAIL.
Waarschuwing
Het zou een beveiligingsrisico kunnen zijn om het wachtwoord op te slaan in het bestand voor de configuratie. Overweeg om deze variabele alleen te gebruiken voor de initiële opstelling (of laat Weblate een willekeurig wachtwoord genereren bij het opstarten) of voor het herstellen van het wachtwoord.
- WEBLATE_ADMIN_NOTIFY_ERROR¶
Of e-mail aan de admins moet worden verzonden bij fouten op de server. Standaard ingeschakeld.
U wilt misschien een andere verzameling voor fouten gebruiken, zoals Sentry of Rollbar, en dit uitschakelen.
- WEBLATE_SERVER_EMAIL¶
Het e-mailadres van waaruit foutberichten worden verstuurd.
- WEBLATE_DEFAULT_FROM_EMAIL¶
Configureert het adres voor uitgaande e-mails.
- WEBLATE_ADMINS_CONTACT¶
Configureert
ADMINS_CONTACT.
- WEBLATE_CONTACT_FORM¶
Configureert het gedrag voor het contactformulier, bekijk
CONTACT_FORM.
- WEBLATE_ALLOWED_HOSTS¶
Configureert toegestane HTTP-hostnamen met
ALLOWED_HOSTS.Standaard
*dat alle hostnamen toestaat.Voorbeeld:
environment: WEBLATE_ALLOWED_HOSTS: weblate.example.com,example.com
- WEBLATE_REGISTRATION_OPEN¶
Configureert of registreren mogelijk is door te schakelen
REGISTRATION_OPEN.Voorbeeld:
environment: WEBLATE_REGISTRATION_OPEN: 0
- WEBLATE_REGISTRATION_CAPTCHA¶
Added in version 5.10.
Configureert of captcha wordt gebruikt voor registreren en andere acties voor autoriseren, bekijk
REGISTRATION_CAPTCHA.Voorbeeld:
environment: WEBLATE_REGISTRATION_CAPTCHA: 0
- WEBLATE_REGISTRATION_ALLOW_BACKENDS¶
Configureer welk methoden voor authenticatie kunnen worden gebruikt om een nieuw account te maken via
REGISTRATION_ALLOW_BACKENDS.Voorbeeld:
environment: WEBLATE_REGISTRATION_OPEN: 0 WEBLATE_REGISTRATION_ALLOW_BACKENDS: azuread-oauth2,azuread-tenant-oauth2
- WEBLATE_REGISTRATION_REBIND¶
Added in version 4.16.
Configureert
REGISTRATION_REBIND.
- WEBLATE_REGISTRATION_ALLOW_DISPOSABLE_EMAILS¶
Added in version 5.16.1.
Configureert
REGISTRATION_ALLOW_DISPOSABLE_EMAILS.Voorbeeld:
environment: WEBLATE_REGISTRATION_ALLOW_DISPOSABLE_EMAILS: 1
- WEBLATE_PROJECT_WEB_RESTRICT_PRIVATE¶
Added in version 5.17.
Configureert
PROJECT_WEB_RESTRICT_PRIVATE.Standaard ingeschakeld.
- WEBLATE_PROJECT_WEB_RESTRICT_ALLOWLIST¶
Added in version 5.17.
Configures
PROJECT_WEB_RESTRICT_ALLOWLIST.Expects a comma-separated list of trusted project slugs.
- WEBLATE_WEBHOOK_RESTRICT_PRIVATE¶
Added in version 5.17.
Configureert
WEBHOOK_RESTRICT_PRIVATE.Standaard ingeschakeld.
- WEBLATE_WEBHOOK_PRIVATE_ALLOWLIST¶
Added in version 5.17.
Configureert
WEBHOOK_PRIVATE_ALLOWLIST.Expects a comma-separated list of trusted hostnames or domains.
- WEBLATE_ASSET_RESTRICT_PRIVATE¶
Added in version 2025.5.
Configureert
ASSET_RESTRICT_PRIVATE.Standaard ingeschakeld.
- WEBLATE_ASSET_PRIVATE_ALLOWLIST¶
Added in version 2025.5.
Configureert
ASSET_PRIVATE_ALLOWLIST.Expects a comma-separated list of trusted hostnames or domains.
- WEBLATE_TIME_ZONE¶
Configureert de gebruikte tijdzone in Weblate, bekijk
TIME_ZONE.Notitie
Gebruik de omgevingsvariabele
TZom de tijdzone van de Docker container zelf te wijzigen.Voorbeeld:
environment: WEBLATE_TIME_ZONE: Europe/Prague
- WEBLATE_ENABLE_HTTPS¶
Laat Weblate ervan uitgaan dat het wordt uitgevoerd vanachter een omgekeerde HTTPS-proxy, het zorgt ervoor dat Weblate HTTPS gebruikt in e-mail en koppelingen voor de API of veilige vlaggen instelt in cookies.
Hint
Bekijk de documentatie van
ENABLE_HTTPSvoor mogelijke valkuilen.Notitie
Dit zorgt er niet voor dat de Weblate container HTTPS-verbindingen accepteert, u moet dat ook configureren, bekijk Docker container met ondersteuning voor HTTPS voor voorbeelden.
Voorbeeld:
environment: WEBLATE_ENABLE_HTTPS: 1
- WEBLATE_NGINX_IPV6¶
Added in version 5.17.
Beheert of de gebundelde NGINX luistert op IPv6-adressen.
Ondersteunde waarden zijn:
autoom IPv6-listeners alleen in te schakelen als IPv6 beschikbaar is in de container-runtime. Dit is de standaard.onom IPv6-listeners altijd in te schakelen.offom IPv6-listeners uit te schakelen.
Voorbeeld:
environment: WEBLATE_NGINX_IPV6: auto
- WEBLATE_IP_PROXY_HEADER¶
Laat Weblate het IP-adres ophalen van een opgegeven HTTP-header. Gebruik dit bij het gebruiken van een omgekeerde proxy voor de Weblate container.
Schakelt
IP_BEHIND_REVERSE_PROXYin en steltIP_PROXY_HEADERin.Notitie
De indeling moet zich conformeren aan de verwachtingen van Django. Django transformeert namen van ruwe HTTP- header als volgt:
converteert alle tekens naar hoofdletters
vervangt alle afbreekstreepjes door underscores
voegt het voorvoegsel
HTTP_toe
Dus
X-Forwarded-Forzou worden hernoemd naarHTTP_X_FORWARDED_FOR.Voorbeeld:
environment: WEBLATE_IP_PROXY_HEADER: HTTP_X_FORWARDED_FOR
- WEBLATE_IP_PROXY_OFFSET¶
Added in version 5.0.1.
Configureert
IP_PROXY_OFFSET.
- WEBLATE_USE_X_FORWARDED_PORT¶
Added in version 5.0.1.
Een Booleaanse waarde die specificeert of de kop X-Forwarded-Port moet worden gebruikt als voorkeur voor de variabele SERVER_PORT META. Dit zou alleen ingeschakeld moeten worden als een proxy, die deze kop instelt, in gebruik is.
Zie ook
Notitie
Dit is een instelling met een Booleaanse waarde (gebruik
"true"of"false").
- 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.
Voorbeeld:
environment: WEBLATE_SECURE_PROXY_SSL_HEADER: HTTP_X_FORWARDED_PROTO,https
- WEBLATE_REQUIRE_LOGIN¶
Schakelt
REQUIRE_LOGINin om authenticatie af te dwingen voor geheel Weblate.Voorbeeld:
environment: WEBLATE_REQUIRE_LOGIN: 1
- WEBLATE_LEGAL_INTEGRATION¶
Schakelt de module Wettelijke module in voor uitrollen van Docker. Standaard is de integratie uitgeschakeld; laat deze variabele als niet ingesteld of leeg om het uit te schakelen.
Ondersteunde waarden zijn:
tos-confirmom de module Legal in te schakelen en bevestigen van gebruiksbepalingen afdwingen gedurende sociale authenticatie en voor aangemelde gebruikers.wllegalom dezelfde integratie in te schakelen en aanvullend de gehoste sjablonen voor wettelijke documenten te laden vanuitwllegal. Deze sjablonen worden gebruikt door services die worden uitgevoerd door Weblate s.r.o. en zijn niet bedoeld voor algemeen gebruik.
Uw eigen wettelijke documenten aanbieden in Docker, overschrijf de sjablonen in
/app/data/python/customize/templates/legal/documents, bekijk Vervangen van logo en andere statische bestanden.Voorbeeld:
environment: WEBLATE_LEGAL_INTEGRATION: tos-confirm
- WEBLATE_PUBLIC_ENGAGE¶
Configureert
PUBLIC_ENGAGE.
- WEBLATE_GOOGLE_ANALYTICS_ID¶
Configureert ID voor Google Analytics door
GOOGLE_ANALYTICS_IDte wijzigen.
- WEBLATE_DEFAULT_PULL_MESSAGE¶
Configureert de standaard titel en bericht voor pull requests via de API door
DEFAULT_PULL_MESSAGEte wijzigen.Zie ook
- WEBLATE_SIMPLIFY_LANGUAGES¶
Configureert het beleid voor het vereenvoudigen van taal, bekijk
SIMPLIFY_LANGUAGES.
- WEBLATE_HIDE_SHARED_GLOSSARY_COMPONENTS¶
Verbergt gedeelde onderdelen van de woordenlijst voor andere projecten, zie
HIDE_SHARED_GLOSSARY_COMPONENTS.
- WEBLATE_DEFAULT_ACCESS_CONTROL¶
Configureert het standaard Toegangsbeheer voor nieuwe projecten, bekijk
DEFAULT_ACCESS_CONTROL.
- WEBLATE_DEFAULT_TRANSLATION_REVIEW¶
Added in version 5.16.
Configureert de standaardwaarde voor Beoordelingen inschakelen, standaard uitgeschakeld.
- WEBLATE_DEFAULT_SOURCE_REVIEW¶
Added in version 5.16.
Configureert de standaardwaarde van Bronbeoordelingen inschakelen, standaard uitgeschakeld.
- WEBLATE_DEFAULT_RESTRICTED_COMPONENT¶
Configureert de standaard waarde van Beperkte toegang voor nieuwe onderdelen, bekijk
DEFAULT_RESTRICTED_COMPONENT.
- WEBLATE_DEFAULT_TRANSLATION_PROPAGATION¶
Configureert de standaard waarde van Sta propageren van vertalingen toe voor nieuwe onderdelen, bekijk
DEFAULT_TRANSLATION_PROPAGATION.
- WEBLATE_DEFAULT_COMMITER_EMAIL¶
Configureert
DEFAULT_COMMITER_EMAIL.
- WEBLATE_DEFAULT_COMMITER_NAME¶
Configureert
DEFAULT_COMMITER_NAME.
- WEBLATE_DEFAULT_SHARED_TM¶
Configureert
DEFAULT_SHARED_TM.
- WEBLATE_DEFAULT_AUTOCLEAN_TM¶
Configureert
DEFAULT_AUTOCLEAN_TM.
- WEBLATE_COMMIT_PENDING_HOURS¶
Configureert de standaard waarde van Ouderdom van door te voeren wijzigingen voor nieuwe onderdelen, bekijk
COMMIT_PENDING_HOURS.
- WEBLATE_GPG_IDENTITY¶
Configureert het met GPG ondertekenen van commits, bekijk
WEBLATE_GPG_IDENTITY.
- WEBLATE_URL_PREFIX¶
Configureert het voorvoegsel voor de URL waar Weblate wordt uitgevoerd, bekijk
URL_PREFIX.
- WEBLATE_STATIC_URL¶
Configureert het voorvoegsel voor de URL voor statische bestanden, geserveerd vanaf
CACHE_DIR.
- WEBLATE_SILENCED_SYSTEM_CHECKS¶
Configureert controles die u niet wilt hebben weergegeven, bekijk
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¶
Maakt het mogelijk de HTTP header Content-Security-Policy aan te passen.
- WEBLATE_LICENSE_FILTER¶
Configureert
LICENSE_FILTER.
- WEBLATE_LICENSE_REQUIRED¶
Configureert
LICENSE_REQUIRED.
- WEBLATE_WEBSITE_REQUIRED¶
Configureert
WEBSITE_REQUIRED.
- WEBLATE_VERSION_DISPLAY¶
Configureert
VERSION_DISPLAY.
- WEBLATE_HIDE_VERSION¶
Configureert
HIDE_VERSION.
- WEBLATE_BASIC_LANGUAGES¶
Configureert
BASIC_LANGUAGES.
- WEBLATE_DEFAULT_AUTO_WATCH¶
Configureert
DEFAULT_AUTO_WATCH.
- WEBLATE_RATELIMIT_ATTEMPTS¶
- WEBLATE_RATELIMIT_LOCKOUT¶
- WEBLATE_RATELIMIT_WINDOW¶
Added in version 4.6.
Configureert tijdslimiet.
Hint
U kunt een configuratie instellen voor elk bereik aan tijdslimieten. Voeg, om dat te doen, het voorvoegsel
WEBLATE_toe aan elke instelling die wordt beschreven in Opvraaglimiet gebruiken.
- WEBLATE_API_RATELIMIT_ANON¶
- WEBLATE_API_RATELIMIT_USER¶
Added in version 4.11.
Configureert API-toegangslimiet. Standaard
100/dayvoor anoniem en5000/hourvoor geauthenticeerde gebruikers.Zie ook
- WEBLATE_ENABLE_HOOKS¶
Added in version 4.13.
Configureert
ENABLE_HOOKS.
- WEBLATE_ENABLE_AVATARS¶
Added in version 4.6.1.
Configureert
ENABLE_AVATARS.
- WEBLATE_AVATAR_URL_PREFIX¶
Added in version 4.15.
Configureert
AVATAR_URL_PREFIX.
- WEBLATE_LIMIT_TRANSLATION_LENGTH_BY_SOURCE_LENGTH¶
Added in version 4.9.
Configureert
LIMIT_TRANSLATION_LENGTH_BY_SOURCE_LENGTH.
- WEBLATE_SSH_EXTRA_ARGS¶
Added in version 4.9.
Configureert
SSH_EXTRA_ARGS.
- WEBLATE_BORG_EXTRA_ARGS¶
Added in version 4.9.
Configureert
BORG_EXTRA_ARGSals een door komma’s gescheiden lijst met argumenten.Voorbeeld:
environment: WEBLATE_BORG_EXTRA_ARGS: --exclude,vcs/
- WEBLATE_ENABLE_SHARING¶
Added in version 4.14.1.
Configureert
ENABLE_SHARING.
- WEBLATE_SUPPORT_STATUS_CHECK¶
Added in version 5.5.
Configureert
SUPPORT_STATUS_CHECK.
- WEBLATE_EXTRA_HTML_HEAD¶
Added in version 4.15.
Configureert
EXTRA_HTML_HEAD.
- WEBLATE_PRIVATE_COMMIT_EMAIL_TEMPLATE¶
Added in version 4.15.
Configureert
PRIVATE_COMMIT_EMAIL_TEMPLATE.
- WEBLATE_PRIVATE_COMMIT_EMAIL_OPT_IN¶
Added in version 4.15.
Configureert
PRIVATE_COMMIT_EMAIL_OPT_IN.
- WEBLATE_PRIVATE_COMMIT_NAME_TEMPLATE¶
Added in version 5.16.
Configureert
PRIVATE_COMMIT_NAME_TEMPLATE.
- WEBLATE_PRIVATE_COMMIT_NAME_OPT_IN¶
Added in version 5.16.
Configureert
PRIVATE_COMMIT_NAME_OPT_IN.
- WEBLATE_UNUSED_ALERT_DAYS¶
Added in version 4.17.
Configureert
UNUSED_ALERT_DAYS.
- WEBLATE_UPDATE_LANGUAGES¶
Added in version 4.3.2.
Configureert
UPDATE_LANGUAGES.
- WEBLATE_VCS_ALLOW_HOSTS¶
Added in version 5.15.
Configureert
VCS_ALLOW_HOSTS.
- WEBLATE_VCS_ALLOW_SCHEMES¶
Added in version 5.15.
Configureert
VCS_ALLOW_SCHEMES.
- WEBLATE_VCS_RESTRICT_PRIVATE¶
Added in version 5.17.
Configureert
VCS_RESTRICT_PRIVATE.
- WEBLATE_VCS_CLONE_DEPTH¶
Added in version 5.4.
Configureert
VCS_CLONE_DEPTH.
- WEBLATE_VCS_API_DELAY¶
Added in version 5.4.
Configureert
VCS_API_DELAY.
- WEBLATE_VCS_API_TIMEOUT¶
Added in version 5.15.
Configureert
VCS_API_TIMEOUT.
- WEBLATE_CORS_ALLOWED_ORIGINS¶
Added in version 4.16.
Staat verzoeken CORS aan de API toe vanuit opgegeven bronnen.
Voorbeeld:
environment: WEBLATE_CORS_ALLOWED_ORIGINS: https://example.com,https://weblate.org
- WEBLATE_CORS_ALLOW_ALL_ORIGINS¶
Added in version 5.6.1: Staat verzoeken CORS aan de API toe vanuit alle bronnen.
- WEBLATE_WEBSITE_ALERTS_ENABLED¶
Added in version 5.17.
Configureert
WEBSITE_ALERTS_ENABLED.
- CLIENT_MAX_BODY_SIZE¶
Added in version 4.16.3.
Configureert maximale grootte body die wordt geaccepteerd door de ingebouwde webserver.
environment: CLIENT_MAX_BODY_SIZE: 200m
Hint
Bij deze variabele ontbreekt met opzet het voorvoegsel
WEBLATE_, omdat die wordt gedeeld met een container van derde partijen die wordt gebruikt in Automatische SSL-certificaten met Let’s Encrypt.
- WEBLATE_TRANSLATION_UPLOAD_MAX_SIZE¶
Configures
TRANSLATION_UPLOAD_MAX_SIZE.The value is in bytes.
- WEBLATE_COMPONENT_ZIP_UPLOAD_MAX_SIZE¶
Configures
COMPONENT_ZIP_UPLOAD_MAX_SIZE.The value is in bytes.
- WEBLATE_PROJECT_BACKUP_UPLOAD_MAX_SIZE¶
Configures
PROJECT_BACKUP_UPLOAD_MAX_SIZE.The value is in bytes. Make sure
CLIENT_MAX_BODY_SIZEis also large enough for uploaded backup files.
- WEBLATE_PROJECT_BACKUP_IMPORT_MAX_MEMBERS¶
Added in version 2026.5.
Configures
PROJECT_BACKUP_IMPORT_MAX_MEMBERS.
- WEBLATE_PROJECT_BACKUP_IMPORT_MAX_TOTAL_UNCOMPRESSED_SIZE¶
Added in version 2026.5.
Configures
PROJECT_BACKUP_IMPORT_MAX_TOTAL_UNCOMPRESSED_SIZE.The value is in bytes.
- WEBLATE_PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_SIZE¶
Added in version 2026.5.
Configures
PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_SIZE.The value is in bytes.
- WEBLATE_PROJECT_BACKUP_IMPORT_MIN_RATIO_SIZE¶
Added in version 2026.5.
Configures
PROJECT_BACKUP_IMPORT_MIN_RATIO_SIZE.The value is in bytes.
- WEBLATE_PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_RATIO¶
Added in version 2026.5.
Configures
PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_RATIO.
Inloggegevens sites hosten code¶
In de Docker container kunnen de inloggegevens voor het hosten van worden geconfigureerd, ofwel in afzonderlijke variabelen of met een dictionary van Python om ze in een keer in te stellen. De volgende voorbeelden zijn voor GitHub pull requests, maar zijn van toepassing voor alle Versiebeheerintegratie met toepasselijk gewijzigde namen voor variabelen.
Belangrijk
Alle namen van omgevingsvariabelen moeten het voorvoegsel WEBLATE_ bevatten. Om bijvoorbeeld inloggegevens voor GitHub te configureren, gebruik WEBLATE_GITHUB_USERNAME, niet GITHUB_USERNAME. Dit is van toepassing of u nu configureert voor pull requests of voor enige andere integratie voor het VCS.
Een voorbeeldconfiguratie voor pull requests van GitHub zou eruit kunnen zien als:
WEBLATE_GITHUB_USERNAME=api-user
WEBLATE_GITHUB_TOKEN=api-token
WEBLATE_GITHUB_HOST=api.github.com
Zal worden gebruikt als:
GITHUB_CREDENTIALS = {
"api.github.com": {
"username": "api-user",
"token": "api-token",
}
}
Als alternatief kan de dictionary van Python worden opgegeven als een tekenreeks:
WEBLATE_GITHUB_CREDENTIALS='{ "api.github.com": { "username": "api-user", "token": "api-token", } }'
Of het pad naar een bestand dat de dictionary voor Python bevat:
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¶
Configureert GitHub pull requests door
GITHUB_CREDENTIALSte wijzigen.
- WEBLATE_GITLAB_USERNAME¶
- WEBLATE_GITLAB_TOKEN¶
- WEBLATE_GITLAB_HOST¶
- WEBLATE_GITLAB_CREDENTIALS¶
Configureert GitLab verzoeken voor samenvoegen door
GITLAB_CREDENTIALSte wijzigen.
- WEBLATE_GITEA_USERNAME¶
- WEBLATE_GITEA_TOKEN¶
- WEBLATE_GITEA_HOST¶
- WEBLATE_GITEA_CREDENTIALS¶
Configureert Gitea pull requests door
GITEA_CREDENTIALSte wijzigen.
- WEBLATE_PAGURE_USERNAME¶
- WEBLATE_PAGURE_TOKEN¶
- WEBLATE_PAGURE_HOST¶
- WEBLATE_PAGURE_CREDENTIALS¶
Configureert Pagure verzoeken voor samenvoegen door
PAGURE_CREDENTIALSte wijzigen.
- WEBLATE_BITBUCKETSERVER_USERNAME¶
- WEBLATE_BITBUCKETSERVER_TOKEN¶
- WEBLATE_BITBUCKETSERVER_HOST¶
- WEBLATE_BITBUCKETSERVER_CREDENTIALS¶
Configureert Pull requesten op Bitbucket Data Center door
BITBUCKETSERVER_CREDENTIALSte wijzigen.
- WEBLATE_BITBUCKETCLOUD_USERNAME¶
- WEBLATE_BITBUCKETCLOUD_WORKSPACE¶
- WEBLATE_BITBUCKETCLOUD_TOKEN¶
- WEBLATE_BITBUCKETCLOUD_HOST¶
- WEBLATE_BITBUCKETCLOUD_CREDENTIALS¶
Configureert Bitbucket Cloud pull requests door
BITBUCKETCLOUD_CREDENTIALSte wijzigen.
- WEBLATE_AZURE_DEVOPS_USERNAME¶
- WEBLATE_AZURE_DEVOPS_ORGANIZATION¶
- WEBLATE_AZURE_DEVOPS_TOKEN¶
- WEBLATE_AZURE_DEVOPS_HOST¶
- WEBLATE_AZURE_DEVOPS_CREDENTIALS¶
Configureert Azure DevOps pull requests door
AZURE_DEVOPS_CREDENTIALSte wijzigen.
Instellingen automatische suggesties¶
Veranderd in versie 4.13: Services voor automatische suggesties zijn nu geconfigureerd in de gebruikersinterface, bekijk Automatische vertalingen.
De bestaande omgevingsvariabelen worden geïmporteerd tijdens de migratie naar Weblate 4.13, maar wijzigen ervan zal verder geen effect meer hebben.
Instellingen voor authenticatie¶
Hint
De op e-mail gebaseerde authenticatie is ingeschakeld, tenzij die is uitgeschakeld met WEBLATE_NO_EMAIL_AUTH.
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 authenticatie configuratie.
Voorbeeld voor directe binding:
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
Voorbeeld voor zoeken en binden:
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
Voorbeeld voor verenigd zoeken en binden:
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
Voorbeeld met zoeken en binden in Active Directory:
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)
Zie ook
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¶
Schakelt GitHub authenticatie in.
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¶
Schakelt GitHub EE authenticatie in.
Bitbucket¶
- WEBLATE_SOCIAL_AUTH_BITBUCKET_OAUTH2_KEY¶
- WEBLATE_SOCIAL_AUTH_BITBUCKET_OAUTH2_SECRET¶
Schakelt Bitbucket authenticatie in.
Facebook¶
- WEBLATE_SOCIAL_AUTH_FACEBOOK_KEY¶
- WEBLATE_SOCIAL_AUTH_FACEBOOK_SECRET¶
Schakelt Facebook OAuth 2 in.
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¶
Schakelt Google OAuth 2 in.
GitLab¶
- WEBLATE_SOCIAL_AUTH_GITLAB_KEY¶
- WEBLATE_SOCIAL_AUTH_GITLAB_SECRET¶
- WEBLATE_SOCIAL_AUTH_GITLAB_API_URL¶
Schakelt GitLab OAuth 2 in.
Gitea¶
- WEBLATE_SOCIAL_AUTH_GITEA_API_URL¶
- WEBLATE_SOCIAL_AUTH_GITEA_KEY¶
- WEBLATE_SOCIAL_AUTH_GITEA_SECRET¶
Schakelt authenticatie voor Gitea in.
Microsoft Entra ID¶
- WEBLATE_SOCIAL_AUTH_AZUREAD_OAUTH2_KEY¶
- WEBLATE_SOCIAL_AUTH_AZUREAD_OAUTH2_SECRET¶
Schakelt Microsoft Entra ID authenticatie in, bekijk Microsoft Entra ID.
Microsoft Entra ID met ondersteuning voor Tenant¶
- WEBLATE_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_KEY¶
- WEBLATE_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_SECRET¶
- WEBLATE_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_TENANT_ID¶
Schakelt Microsoft Entra ID authenticatie in met ondersteuning voor Tenant, bekijk 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¶
Schakelt authenticatie voor Keycloak in, bekijk Keycloak - Open Source Red Hat SSO.
- WEBLATE_SOCIAL_AUTH_KEYCLOAK_ID_KEY¶
Added in version 5.17.
Configureert welk claim wordt gebruikt als de unieke gebruikersidentificatie van Keycloak. Standaard
email.Hint
Wanneer Keycloak is geconfigureerd om derde partij IDP samen te vatten, moet u
WEBLATE_CSP_FORM_SRCconfigureren voor het domein van de derde partij IDP.Voorbeeld waar Keycloak authenticatie doorgeeft aan Microsoft.¶environment: WEBLATE_CSP_FORM_SRC: login.microsoftonline.com
Verkopers Linux¶
U kunt authenticatie inschakelen met services van Linux vendors-authenticatie door de volgende variabelen op enige waarde in te stellen.
- 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¶
Configureert algemene integratie van OpenID Connect.
Zie ook
Fedora OpenID Connect¶
Added in version 5.15.
- WEBLATE_SOCIAL_AUTH_FEDORA_OIDC_KEY¶
SAML¶
Zelf ondertekende sleutels van SAML worden automatisch gegenereerd bij het eerste opstarten van de container. Voor het geval u uw eigen sleutels wilt gebruiken, plaats het certificaat en de privé sleutel in /app/data/ssl/saml.crt en /app/data/ssl/saml.key.
- WEBLATE_SAML_IDP_ENTITY_ID¶
- WEBLATE_SAML_IDP_URL¶
- WEBLATE_SAML_IDP_X509CERT¶
- WEBLATE_SAML_IDP_IMAGE¶
- WEBLATE_SAML_IDP_TITLE¶
Instellingen SAML Identity Provider, bekijk SAML authenticatie.
- 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 attributen verwijzingen.
Andere instellingen voor authenticatie¶
- WEBLATE_NO_EMAIL_AUTH¶
Schakelt authenticatie voor e-mail uit indien ingesteld op enige waarde. Bekijk Authenticatie met wachtwoord uitschakelen.
PostgreSQL database opstelling¶
De database wordt gemaakt door docker-compose.yml, deze instellingen hebben dus invloed op zowel Weblate containers als op PostgreSQL containers.
- POSTGRES_PASSWORD¶
PostgreSQL wachtwoord.
Zie ook
- POSTGRES_USER¶
PostgreSQL gebruikersnaam.
- POSTGRES_DB¶
PostgreSQL databasenaam.
- POSTGRES_HOST¶
PostgreSQL server hostnaam of IP-adres. Standaard
database.
- POSTGRES_PORT¶
PostgreSQL server poort. Standaard geen (gebruikt de standaard waarde).
- POSTGRES_SSL_MODE¶
Configureer hoe PostgreSQL SSL afhandelt in verbindingen met de server, bekijk voor mogelijke keuzes SSL Mode Descriptions.
- POSTGRES_ALTER_ROLE¶
Configureert de naam van de rol voor PostgreSQL die tijdens migratie van de database moet worden gewijzigd, bekijk Weblate configureren om PostgreSQL te gebruiken.
Standaard is
POSTGRES_USER.
- POSTGRES_CONN_MAX_AGE¶
Added in version 4.8.1.
De levensduur van een databaseverbinding, als een Integer van seconden. Gebruik 0 om databaseverbindingen te sluiten aan het einde van elk verzoek.
Veranderd in versie 5.1: Het standaard gedrag is om onbeperkt blijvende databaseverbindingen te hebben.
Inschakelen van blijvende verbindingen zal gewoonlijk zorgen voor meer geopende verbindingen naar de database. Pas de configuratie van uw database aan voordat u het inschakelt.
Voorbeeld configuratie:
environment: POSTGRES_CONN_MAX_AGE: 3600
Zie ook
- POSTGRES_DISABLE_SERVER_SIDE_CURSORS¶
Added in version 4.9.1.
Schakel cursors aan de kant van de server uit in de database. Dit is noodzakelijk bij sommige pgbouncer opstellingen.
Voorbeeld configuratie:
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 Instellingen overschrijven vanuit het volume data to configure the database connection manually.
Instellingen voor back-up van de database¶
Zie ook
- WEBLATE_DATABASE_BACKUP¶
Configureert de dagelijkse databasedump met
DATABASE_BACKUP. Standaard isplain.
Opstelling server gegevensopslag¶
Gebruiken van Valkey of Redis wordt door de container van Weblate vereist en u moet parameters voor een verbinding opgeven als u Weblate uitvoert in Docker.
Zie ook
- REDIS_HOST¶
De hostnaam van de server voor gegevensopslag of IP-adres. Standaard is
cache.
- REDIS_PORT¶
De serverpoort voor de gegevensopslag. Standaard is
6379.
- REDIS_DB¶
Het databasenummer voor de gegevensopslag, standaard is
1.
- REDIS_USER¶
Added in version 5.13: De databasegebruiker van de gegevensopslag, wordt standaard niet gebruikt.
- REDIS_PASSWORD¶
Het serverwachtwoord voor de gegevensopslag, wordt standaard niet gebruikt.
Zie ook
- REDIS_TLS¶
Schakelt SSL in voor de verbinding van de gegevensopslag.
- REDIS_VERIFY_SSL¶
Kan worden gebruikt om verificatie van het SSL-certificaat voor de verbinding van de gegevensopslag uit te schakelen.
Opstelling e-mail server¶
U moet, om uitgaande e-mail te laten werken, een mailserver opgeven.
Voorbeeld TLS-configuratie:
environment:
WEBLATE_EMAIL_HOST: smtp.example.com
WEBLATE_EMAIL_HOST_USER: user
WEBLATE_EMAIL_HOST_PASSWORD: pass
Voorbeeld SSL-configuratie:
environment:
WEBLATE_EMAIL_HOST: smtp.example.com
WEBLATE_EMAIL_PORT: 465
WEBLATE_EMAIL_HOST_USER: user
WEBLATE_EMAIL_HOST_PASSWORD: pass
WEBLATE_EMAIL_USE_TLS: 0
WEBLATE_EMAIL_USE_SSL: 1
- WEBLATE_EMAIL_HOST¶
Mailserver hostnaam of IP-adres.
- WEBLATE_EMAIL_PORT¶
Mailserver poort, standaard is 25.
Zie ook
- WEBLATE_EMAIL_HOST_USER¶
E-mailauthenticatie gebruiker.
Zie ook
- WEBLATE_EMAIL_HOST_PASSWORD¶
Wachtwoord e-mail authenticatie.
Zie ook
- WEBLATE_EMAIL_USE_SSL¶
Of een impliciete TLS (veilige) verbinding moet worden gebruikt tijdens het praten met de SMTP-server. In de meeste documentatie voor e-mail, wordt naar dit type TLS-verbinding verwezen als SSL. Over het algemeen wordt het gebruikt op poort 465. Als u problemen ervaart, bekijk de expliciete instelling voor TLS
WEBLATE_EMAIL_USE_TLS.Veranderd in versie 4.11: De ondersteuning voor SSL/TLS wordt automatisch ingeschakeld, gebaseerd op
WEBLATE_EMAIL_PORT.
- WEBLATE_EMAIL_USE_TLS¶
Of een TLS (veilige) verbinding moet worden gebruikt tijdens het praten met de SMTP-server. Dit wordt gebruikt voor expliciete TLS-verbindingen, over het algemeen op poort 587 of 25. Als u problemen ervaart met verbindingen die blijven hangen, bekijk de impliciete instelling voor TLS
WEBLATE_EMAIL_USE_SSL.Veranderd in versie 4.11: De ondersteuning voor SSL/TLS wordt automatisch ingeschakeld, gebaseerd op
WEBLATE_EMAIL_PORT.
- WEBLATE_EMAIL_BACKEND¶
Configureert de backend van Django om voor het versturen van e-mails te gebruiken.
- WEBLATE_AUTO_UPDATE¶
Configureert of en hoe Weblate opslagruimten zou moeten bijwerken.
Zie ook
Notitie
Dit is een Booleaanse waarde (gebruik
"true"of"false").
Site-integratie¶
- WEBLATE_GET_HELP_URL¶
Configureert
GET_HELP_URL.
- WEBLATE_STATUS_URL¶
Configureert
STATUS_URL.
- WEBLATE_PRIVACY_URL¶
Configureert
PRIVACY_URL.
- WEBLATE_PASSWORD_RESET_URL¶
Configureert
PASSWORD_RESET_URL.
Foutrapporten verzamelen en prestaties monitoren¶
Aanbevolen wordt om systematisch fouten te verzamelen vanuit de installatie, bekijk Foutrapporten verzamelen en prestaties monitoren.
Stel het volgende in om ondersteuning voor Rollbar in te schakelen:
- ROLLBAR_KEY¶
Uw Rollbar post server token voor toegang.
- ROLLBAR_ENVIRONMENT¶
Uw Rollbar omgeving, standaard is
production.
Stel het volgende in om ondersteuning voor Sentry in te schakelen:
- SENTRY_DSN¶
Uw Sentry DSN, bekijk
SENTRY_DSN.
- SENTRY_ENVIRONMENT¶
Uw Sentry Environment (optioneel), standaard is
WEBLATE_SITE_DOMAIN.
- SENTRY_MONITOR_BEAT_TASKS¶
Of taken van Celery Beat moeten worden gemonitord met Sentry, standaard
True.
- SENTRY_TRACES_SAMPLE_RATE¶
Configureert
SENTRY_TRACES_SAMPLE_RATE.Voorbeeld:
environment: SENTRY_TRACES_SAMPLE_RATE: 0.5
- SENTRY_PROFILES_SAMPLE_RATE¶
Configureert
SENTRY_PROFILES_SAMPLE_RATE.Voorbeeld:
environment: SENTRY_PROFILES_SAMPLE_RATE: 0.5
- SENTRY_SEND_PII¶
Configureert
SENTRY_SEND_PII.
Vertaling CDN¶
- WEBLATE_LOCALIZE_CDN_URL¶
- WEBLATE_LOCALIZE_CDN_PATH¶
Added in version 4.2.1.
Configuration for CDN add-ons, including JavaScript-vertaling CDN and Translation files CDN.
Het pad
WEBLATE_LOCALIZE_CDN_PATHis het pad binnen de container. Het zou moeten worden opgeslagen op een blijvend volume en niet in de tijdelijke opslag.Een van de mogelijkheden is om het op te slaan in de Weblate-map data:
environment: WEBLATE_LOCALIZE_CDN_URL: https://cdn.example.com/ WEBLATE_LOCALIZE_CDN_PATH: /app/data/l10n-cdn
Notitie
You are responsible for setting up serving of the files generated by Weblate, it only stores the files in configured location. See Vertaling CDN for secure serving guidance.
Wijzigen ingeschakelde apps, controles, add-ons, machinevertaling of automatische reparaties¶
De ingebouwde configuratie van ingeschakelde controles, add-ons of automatische reparaties kan worden aangepast met de volgende variabelen:
- 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.
Voorbeeld:
environment:
WEBLATE_REMOVE_AUTOFIX: weblate.trans.autofixes.whitespace.SameBookendingWhitespace
WEBLATE_ADD_ADDONS: customize.addons.MyAddon,customize.addons.OtherAddon
Instellingen container¶
- WEBLATE_WORKERS¶
Added in version 4.6.1.
Basisaantal processen voor werkers die in de container kunnen worden uitgevoerd. Indien niet ingesteld wordt het automatisch bepaald bij het opstarten van de container, gebaseerd op het aantal beschikbare CPU-bronnen.
Het wordt gebruikt om te bepalen
CELERY_MAIN_OPTIONS,CELERY_NOTIFY_OPTIONS,CELERY_MEMORY_OPTIONS,CELERY_TRANSLATE_OPTIONS,CELERY_BACKUP_OPTIONS,CELERY_BEAT_OPTIONSenWEB_WORKERS. U kunt deze instellingen fijn afstemmen.
- CELERY_MAIN_OPTIONS¶
- CELERY_NOTIFY_OPTIONS¶
- CELERY_MEMORY_OPTIONS¶
- CELERY_TRANSLATE_OPTIONS¶
- CELERY_BACKUP_OPTIONS¶
- CELERY_BEAT_OPTIONS¶
Deze variabelen stellen u in staat opties voor werkers van Celery aan te passen. Het kan nuttig zijn om de gelijktijdige aan te passen (
--concurrency 16) of een andere implementatie van de pool te gebruiken (--pool=gevent).Standaard is het aantal gelijktijdige werkers gebaseerd op
WEBLATE_WORKERS.Voorbeeld:
environment: CELERY_MAIN_OPTIONS: --concurrency 16
- CELERY_SINGLE_PROCESS¶
Added in version 5.7.1: Deze variabele kan worden ingesteld op
1om slechts een proces van Celery uit te voeren. Dit reduceert het geheugengebruik, maar zou invloed kunnen hebben op de prestaties van Weblate.environment: CELERY_SINGLE_PROCESS: 1
Zie ook
- WEB_WORKERS¶
Configureer hoeveel werkers van WSGI zouden moeten worden uitgevoerd.
Standaard is het de helft van
WEBLATE_WORKERS, maar het is altijd ten minste 2.Voorbeeld:
environment: WEB_WORKERS: 4
Veranderd in versie 5.13:
WEB_WORKERSconfigureert hoeveel worker-processen zullen worden gebruikt door granian.
- WEBLATE_SERVICE¶
Definieert welke services zouden moeten worden uitgevoerd binnen de container. Gebruik dit voor Horizontaal schalen.
De volgende services zijn gedefinieerd:
celery-beatCelery schema voor taken, er zou slechts een instantie moeten worden uitgevoerd. Deze container is ook verantwoordelijk voor de migraties van de structuur van de database en het zou voorafgaande aan andere moeten worden gestart.
celery-backupCelery werker voor back-ups, er zou slechts een instantie moeten worden uitgevoerd.
celery-celeryAlgemene Celery werker.
celery-memoryVertaalgeheugen Celery-werking.
celery-notifyNotificaties Celery- werking.
celery-translateAutomatische vertaling Celery-werking.
webWebserver.
Zie ook
- WEBLATE_ANUBIS_URL¶
Added in version 5.11.4.
URL voor de Anubis server om subverzoeken voor authenticatie af te handelen. Dit kan nuttig zijn om inkomende HTTP-verzoeken te filteren met proof-of-work om AI-crawlers af te stoppen. U moet Anubis for Subrequest Authentication configureren om het te laten werken.
Docker container volumes¶
Er bestaan twee volumes (data en cache) geëxporteerd door de container Weblate.
Notitie
De andere servicecontainers (zoals PostgreSQL of Valkey) hebben ook hun eigen gegevensvolumes, en zijn vereist om het bestaan van Weblate te verzekeren.
De container PostgreSQL slaat de database op in het volume /var/lib/postgresql en Valkey in het volume /data. Container Valkey slaat standaard de gegevens niet op en moet aanvullend worden geconfigureerd om het voortbestaan te verzekeren.
Baseer uw configuratie op door Weblate verschafte voorbeelden of raadpleeg hun documentatie voor meer informatie.
Het volume data wordt gemount als /app/data en wordt gebruikt om blijvende gegevens voor Weblate op te slaan, zoals gekloonde opslagruimten of om de installatie van Weblate aan te passen. DATA_DIR beschrijft meer in detail wat hier wordt opgeslagen.
Het volume data is ook de plaats om aanpassingen van Weblate neer te zetten, zoals Instellingen overschrijven vanuit het volume data, Vervangen van logo en andere statische bestanden of Code aanpassen.
De plaatsing van het volume voor Docker op het hostsysteem is afhankelijk van uw configuratie van Docker, maar gewoonlijk wordt het opgeslagen in /var/lib/docker/volumes/weblate-docker_weblate-data/_data/ (het pad bestaat uit de naam van uw map docker-compose, container en volumenamen).
Het volume cache wordt gemount als /app/cache en wordt gebruikt om statische bestanden op te slaan en CACHE_DIR. De inhoud ervan wordt opnieuw gemaakt bij het opstarten van de container en het volume kan worden gemount met een vluchtig bestandssysteem, zoals tmpfs, maar de mount moet uitvoeren toestaan omdat Weblate daar de gemaakte hulpbestanden opslaat.
Bij het expliciet mounten van /app/cache als tmpfs in Docker Compose, schakel uitvoering in:
tmpfs:
- /app/cache:exec
Indien ook opties voor eigenaar worden ingesteld, behoud de optie exec:
tmpfs:
- /app/cache:exec,uid=1000,gid=1000
Bij het handmatig maken van de volumes, zouden de mappen eigendom moeten zijn van UID 1000 omdat dat de gebruiker is die gebruikt wordt binnen de container.
Weblate container kan ook worden uitgevoerd met een alleen-lezen root-bestandssysteem. In dat geval zouden twee aanvullende volumes tmpfs moeten worden gemount: /tmp en /run.
Alleen-lezen root bestandssysteem¶
Added in version 4.18.
Bij het uitvoeren van de container met een alleen-lezen root-bestandssysteem, zijn twee aanvullende volumes tmpfs vereist - /tmp en /run.
Configuratie voorbij omgevingsvariabelen¶
Docker omgevingsvariabelen zijn bedoeld om de meeste instellingen voor configureren, die van belang zijn voor installaties van Weblate, weer te geven.
Als u een instelling vindt die niet is weergegeven als een omgevingsvariabele, en u van mening bent dat het dat wel zou moeten zijn, staat het u vrij te vragen om het in een toekomstige versie van Weblate weer te geven.
Als u een instelling moet aanpassen die niet is weergegeven als een Docker omgevingsvariabele, kunt u dat nog steeds doen, ofwel in het volume data of door de Docker image uit te breiden.
Zie ook
Instellingen overschrijven vanuit het volume data¶
U kunt een bestand maken in /app/data/settings-override.py, d.i. aan de bron van het volume data, om instellingen, die worden gedefinieerd door omgevingsvariabelen, uit te breiden of te overschrijven.
Instellingen overschrijven door de Docker image uit te breiden¶
Instellingen op het niveau van de Docker image overschrijven in plaats van uit het volume data:
Voeg een module toe aan uw pakket dat alle instellingen importeert vanuit
weblate.settings_docker.Bijvoorbeeld in de voorbeeldpakketstructuur die is gedefinieerd in Een module voor Python maken, zou u een bestand
weblate_customization/weblate_customization/settings.pykunnen maken, met de volgende initiële code:from weblate.settings_docker import *
Maak een aangepast
Dockerfile, dat erft van de officiële Weblate Docker image, en dan uw pakket installeert en wijst naar de omgevingsvariabeleDJANGO_SETTINGS_MODULEin uw module voor instellingen: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
In plaats van de officiële Weblate Docker image te gebruiken, bouw een aangepast image uit dat bestand
Dockerfile.Er is geen schone manier om dit te doen met
docker-compose.override.yml. U zoubuild: .kunnen toevoegen aan de nodeweblatein dat bestand, maar dan zal uw aangepaste image worden getagd alsweblate/weblatein uw systeem, wat problematisch zou kunnen zijn.Dus, in plaats van
docker-compose.ymldirect te gebruiken vanuit de officiële opslagruimte, niet aangepast en het uit te breiden viadocker-compose.override.yml, zou u een kopie willen maken van het officiële bestanddocker-compose.yml, en uw kopie willen bewerken omimage: weblate/weblatete vervangen doorbuild: ..Bekijk de Compose file build reference voor details over het bouwen van images vanuit d ebron met
docker-compose.Uw module met aangepaste instellingen uitbreiden om instellingen te definiëren of opnieuw te definiëren.
U kunt instellingen definiëren voor en na het argument import hierboven om te bepalen welke instellingen voorrang hebben. Instellingen die zijn gedefinieerd voor het argument import kunnen worden overschreven door omgevingsvariabelen en instelling overschrijven die zijn gedefinieerd in het volume data. Instellingen die zijn gedefinieerd na het argument import kunnen niet worden overschreven.
U kunt ook verder gaan. U kunt bijvoorbeeld enkele dingen reproduceren die
weblate.docker_settingsdoet, zoals instellingen weergeven als omgevingsvariabelen, of toestaan dat instellingen worden overschreven door bestanden van Python in het volume data.
Vervangen van logo en andere statische bestanden¶
De statische bestanden die worden meegeleverd met Weblate kunnen worden overschreven door ze te plaatsen in /app/data/python/customize/static (bekijk Docker container volumes). Bijvoorbeeld het maken van /app/data/python/customize/static/favicon.ico zal het favicon vervangen.
Hint
De bestanden worden gekopieerd naar de corresponderende locatie bij het opstarten van de container, dus opnieuw opstarten van Weblate is nodig na het wijzigen van de inhoud van het volume.
Deze benadering kan ook worden gebruikt om sjablonen van Weblate te overschrijven. Bijvoorbeeld documenten voor Wettelijke module kunnen worden geplaatst in /app/data/python/customize/templates/legal/documents.
Als alternatief kunt u ook uw eigen module opnemen (bekijk Weblate aanpassen) en het toevoegen als een afzonderlijk volume aan de Docker container, bijvoorbeeld:
weblate:
volumes:
- weblate-data:/app/data
- ./weblate_customization/weblate_customization:/app/data/python/weblate_customization
environment:
WEBLATE_ADD_APPS: weblate_customization
Code aanpassen¶
Notitie
De interne Weblate API kan significant variëren tussen uitgaven en is niet bedoeld om stabiel te zijn. Bekijk uw aangepaste code die interacteert met het interne van Weblate bij elke upgrade.
U kunt aanvullende code van Python plaatsen in /app/data/python/customize (bekijk Docker container volumes). Het is al geïnstalleerd als een toepassing voor Django binnen Weblate (dit wordt gebruikt voor het aanpassen van sjablonen en statische bestanden, zoals hierboven beschreven).
Dit kan worden gebruikt om elke code te plaatsen (bijvoorbeeld Eigen controles schrijven) of om aangepaste taken voor onderhoud toe te voegen aan het taakschema van Celery.
/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"
)
Interacteren met containers van derde partijen¶
Het instellen van Weblate Docker kan worden uitgebreid met extra containers om aanvullende services te verschaffen, zoals machinevertaling, spellingscontrole, of andere programma’s die de werkstroom voor vertalingen verbeteren. Deze services kunnen worden geïntegreerd in uw configuratie van Docker Compose en werken naast Weblate.
Overweeg het volgende bij het toevoegen van containers van derde partijen:
Netwerk connectiviteit: Zorgt ervoor dat containers met elkaar kunnen communiceren door ze op hetzelfde netwerk van Docker te plaatsen
Gegevens behouden: Gebruik volumes voor services die gegevens moeten behouden
Beveiliging: Configureer toepasselijk toegangsbeheer en vermijd het weergeven van onnodige poorten
Integratie LibreTranslate Docker container¶
LibreTranslate is een gratis en open-bron service voor machinevertaling, die zelf gehost kan worden. Het integreren met Weblate verschaft mogelijkheden voor offline machinevertaling, zonder te vertrouwen op externe services.
U kunt de service van LibreTranslate inbouwen in uw uitrol van Weblate door het op te nemen in een bestand docker-compose.override.yml. Omdat het werkt binnen het netwerk van Docker, is het alleen toegankelijk voor Weblate en wordt niet weergegeven op het openbare internet.
Basis instelling met docker-compose.override.yml:
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:
Voor GPU-geaccelereerde vertaling (als u NVIDIA GPU beschikbaar hebt):
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:
Na het starten van de services met docker compose down && docker compose up -d, configureer LibreTranslate in Weblate:
Ga naar de Weblate beheerinterface
Navigeer naar Machinevertaling → Automatische suggesties
Voeg een nieuwe service van LibreTranslate toe met:
- Dienst:
LibreTranslate
- URL API:
http://libretranslate:5000- Api-sleutel:
Laat leeg
LibreTranslate is nu geconfigureerd en beschikbaar voor machinevertaling in Weblate.
Notitie
De service LibreTranslate wordt uitgevoerd zonder de web-UI (
--disable-web-ui) en is alleen toegankelijk via de API binnen het netwerk van Docker.Modellen worden automatisch bijgewerkt als de container opstart. (
LT_UPDATE_MODELS: true)Gegevens worden behouden met volumes van Docker voor optimale prestaties en veiligheid voor de gegevens.
Gezondheidscontroles zorgen ervoor dat het Docker-programma de status van de service juist observeert.
Voor GPU-acceleratie, gebruik de CUDA image-variant en zorg ervoor dat uw systeem ondersteuning voor NVIDIA Docker heeft. Deze container wordt als een geprivilegieerde gebruiker uitgevoerd, om de GPU te kunnen gebruiken.
Er worden geen externe poorten weergegeven, wat de instelling standaard veilig maakt.
Anubis Docker container integratie¶
Anubis is een web AI firewall-programma om AI-schrapers en ander ontregelend verkeer op de service te blokkeren. Het is gewoonlijk nodig op voor publiek geopende installaties van Weblate om extreem laden door schrapen te vermijden.
Anubis kan worden uitgerold met Docker Compose:
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:
Notitie
Het volume anubis-data in bovenstaande configuratie wordt geacht botPolicies.yaml te bevatten met een beleid voor het bot dat naar uw behoeften is geconfigureerd.
U dient, minimaal, de statuscodes aan te passen, zoals beschreven in https://anubis.techaro.lol/docs/admin/configuration/subrequest-auth.
Ook wordt aanbevolen om een persistent backend voor opslag te configureren, zoals beschreven in https://anubis.techaro.lol/docs/admin/policies/#storage-backends.
U kunt dan het gebruiken van Anubis in Weblate inschakelen met:
environment:
WEBLATE_ANUBIS_URL: http://anubis:8923
Zie ook
Configureren server voor PostgreSQL¶
De PostgreSQL container gebruikt de standaard configuratie voor PostgreSQL en zal uw CPU-bronnen of geheugen niet effectief genoeg gebruiken. Aanbevolen wordt om de configuratie aan te passen om de prestaties te verbeteren.
De configuratie kan worden aangepast zoals beschreven in Database Configuration op https://hub.docker.com/_/postgres. De configuratie die overeenkomt met uw omgeving kan worden gegenereerd met https://pgtune.leopard.in.ua/.
Container internen¶
De container gebruikt supervisor om individuele services te starten. In het geval van Horizontaal schalen, start het slechts een enkele service in een container.
Gebruik, om de status van de service te controleren:
docker compose exec --user weblate weblate supervisorctl status
Er zijn individuele services voor elke wachtrij van Celery (bekijk Achtergrondtaken met Celery voor details). U kunt sommige taken stoppen door de van toepassing zijnde werker te stoppen:
docker compose exec --user weblate weblate supervisorctl stop celery-translate