Installeren met Docker

Met gedockeriseerde 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 Redis 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 ene 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.

  1. Kloon de weblate-docker repo:

    git clone https://github.com/WeblateOrg/docker-compose.git weblate-docker
    cd weblate-docker
    
  2. Maak een bestand docker-compose.override.yml met uw instellingen. Bekijk Docker omgevingsvariabelen voor een volledige lijst met omgevingsvariabelen.

    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
    

    Notitie

    Als WEBLATE_ADMIN_PASSWORD niet 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.yml om dat te wijzigen.

  3. Weblate containers starten:

    docker compose up
    

Veel plezier met uw uitrol van Weblate, het is toegankelijk via poort 80 van de container weblate.

Docker image registratie kiezen

Weblate containers worden gepubliceerd naar de volgende registraties:

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

latest

Weblate stabiele uitgave, komt overeen met de als latest getagde uitgave

Doorlopend bijwerken in een productieomgeving

<MAJOR>

Weblate stabiele uitgave

Doorlopend bijwerken in een hoofdversie in een productieomgeving

<MAJOR>.<MINOR>

Weblate stabiele uitgave

Doorlopend bijwerken in een mineur-versie in een productieomgeving

<VERSION>.<PATCH>

Weblate stabiele uitgave

Goed gedefinieerde uitrol in een productieomgeving

edge

Weblate stabiele uitgave met ontwikkelingswijzigingen in de Docker container (bijvoorbeeld bijgewerkte afhankelijkheden)

Doorlopend bijwerken in een proefomgeving

edge-<DATE>-<SHA>

Weblate stabiele uitgave met ontwikkelingswijzigingen in de Docker container (bijvoorbeeld bijgewerkte afhankelijkheden)

Goed gedefinieerde uitrol in een proefomgeving

bleeding

Ontwikkelingsversie Weblate vanuit Git

Doorlopend bijwerken om aankomende mogelijkheden voor Weblate te testen

bleeding-<DATE>-<SHA>

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.

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.pem bevat het certificaat, inclusief alle benodigde CA-certificaten

  • ssl/privkey.pem bevat 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.

Veranderd in versie 4.17-1: Vanaf Weblate 4.17-1 gebruikt de Docker container Django 4.2 dat PostgreSQL 12 of nieuwer vereist, upgrade het voordat u Weblate gaat upgraden. Bekijk PostgreSQL container upgraden.

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

Bijwerkingen in hoofdversies worden niet ondersteund door Weblate. Als u bijvoorbeeld de serie 3.x gebruikt en wilt upgraden naar 4.x, upgrade dan eerst naar de laatste image 4.0.x-y (op de tijd van schrijven was dit 4.0.4-5), die de migratie zal uitvoeren en ga dan door met het upgraden naar nieuwere versies.

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

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.

  1. Weblate container stoppen:

    docker compose stop weblate cache
    
  2. Back-up de database:

    docker compose exec database pg_dumpall --clean --if-exists --username weblate > backup.sql
    
  3. Stop de database container:

    docker compose stop database
    
  4. 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-docker in deze documentatie.

  5. Pas docker-compose.yml aan om de nieuwe versie van PostgreSQL te gebruiken.

  6. Start de database container:

    docker compose up -d database
    
  7. 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.

  8. (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.

  9. 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
WEBLATE_LOGLEVEL

Configureert de registratie breedsprakigheid. Zet dit op DEBUG om meer gedetailleerde logs te zien.

Standaard ingesteld op INFO als WEBLATE_DEBUG uitgezet is, DEBUG wordt gebruikt als de debug-modus aangezet is.

Voor stillere registratie, gebruik ERROR of WARNING.

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 ADMINS instelling alsook het maken van een admin gebruiker (zie WEBLATE_ADMIN_PASSWORD voor 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_NAME en WEBLATE_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_TIME_ZONE

Configureert de gebruikte tijdzone in Weblate, bekijk TIME_ZONE.

Notitie

Gebruik de omgevingsvariabele TZ om 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_HTTPS voor 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_INTERLEDGER_PAYMENT_POINTERS

Added in version 4.12.1.

Laat Weblate het veld meta[name=monetization] in de kop van het document instellen. Indien meerdere zijn gespecificeerd, kies er willekeurig een.

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_PROXY in en stelt IP_PROXY_HEADER in.

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-For zou worden hernoemd naar HTTP_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.

Notitie

Dit is een instelling met een Booleaanse waarde (gebruik "true" of "false").

WEBLATE_SECURE_PROXY_SSL_HEADER

Een tuple, die een combinatie weergeeft voor de HTTP header/waarde, die een verzoek aangeeft is veilig. Dit is nodig als Weblate wordt uitgevoerd vanachter een omgekeerde proxy die beëindiging van SSL uitvoert die geen standaard HTTPS-headers doorgeeft.

Voorbeeld:

environment:
  WEBLATE_SECURE_PROXY_SSL_HEADER: HTTP_X_FORWARDED_PROTO,https
WEBLATE_REQUIRE_LOGIN

Schakelt REQUIRE_LOGIN in om authenticatie af te dwingen voor geheel Weblate.

Voorbeeld:

environment:
  WEBLATE_REQUIRE_LOGIN: 1
WEBLATE_LOGIN_REQUIRED_URLS_EXCEPTIONS
WEBLATE_ADD_LOGIN_REQUIRED_URLS_EXCEPTIONS
WEBLATE_REMOVE_LOGIN_REQUIRED_URLS_EXCEPTIONS

Voegt uitzonderingen voor URL’s voor authenticatie toe die zijn vereist voor de gehele installatie van Weblate met LOGIN_REQUIRED_URLS_EXCEPTIONS.

U kunt ofwel de gehele instellingen vervangen, of de standaard waarde aanpassen met de variabelen ADD en REMOVE.

Voor het afdwingen van authenticatie voor het contactformulier, doe:

environment:
  WEBLATE_REMOVE_LOGIN_REQUIRED_URLS_EXCEPTIONS: /contact/$
WEBLATE_GOOGLE_ANALYTICS_ID

Configureert ID voor Google Analytics door GOOGLE_ANALYTICS_ID te wijzigen.

WEBLATE_DEFAULT_PULL_MESSAGE

Configureert de standaard titel en bericht voor pull requests via de API door DEFAULT_PULL_MESSAGE te wijzigen.

WEBLATE_SIMPLIFY_LANGUAGES

Configureert het beleid voor het vereenvoudigen van taal, bekijk SIMPLIFY_LANGUAGES.

WEBLATE_DEFAULT_ACCESS_CONTROL

Configureert het standaard Toegangsbeheer voor nieuwe projecten, bekijk DEFAULT_ACCESS_CONTROL.

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_AKISMET_API_KEY

Configureert de API-sleutel voor Akismet , bekijk AKISMET_API_KEY.

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_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_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/day voor anoniem en 5000/hour voor geauthenticeerde gebruikers.

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_ARGS als 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_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_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.

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.

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.

Een voorbeeldconfiguratie voor 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_CREDENTIALS te wijzigen.

WEBLATE_GITLAB_USERNAME
WEBLATE_GITLAB_TOKEN
WEBLATE_GITLAB_HOST
WEBLATE_GITLAB_CREDENTIALS

Configureert GitLab verzoeken voor samenvoegen door GITLAB_CREDENTIALS te wijzigen.

WEBLATE_GITEA_USERNAME
WEBLATE_GITEA_TOKEN
WEBLATE_GITEA_HOST
WEBLATE_GITEA_CREDENTIALS

Configureert Gitea pull requests door GITEA_CREDENTIALS te wijzigen.

WEBLATE_PAGURE_USERNAME
WEBLATE_PAGURE_TOKEN
WEBLATE_PAGURE_HOST
WEBLATE_PAGURE_CREDENTIALS

Configureert Pagure verzoeken voor samenvoegen door PAGURE_CREDENTIALS te wijzigen.

WEBLATE_BITBUCKETSERVER_USERNAME
WEBLATE_BITBUCKETSERVER_TOKEN
WEBLATE_BITBUCKETSERVER_HOST
WEBLATE_BITBUCKETSERVER_CREDENTIALS

Configureert Pull requesten op Bitbucket Data Center door BITBUCKETSERVER_CREDENTIALS te wijzigen.

WEBLATE_BITBUCKETCLOUD_USERNAME
WEBLATE_BITBUCKETCLOUD_WORKSPACE
WEBLATE_BITBUCKETCLOUD_TOKEN
WEBLATE_BITBUCKETCLOUD_HOST
WEBLATE_BITBUCKETCLOUD_CREDENTIALS

Configureert Bitbucket Cloud pull requests door BITBUCKETCLOUD_CREDENTIALS te 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_CREDENTIALS te 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

LDAP

WEBLATE_AUTH_LDAP_SERVER_URI
WEBLATE_AUTH_LDAP_USER_DN_TEMPLATE
WEBLATE_AUTH_LDAP_USER_ATTR_MAP
WEBLATE_AUTH_LDAP_BIND_DN
WEBLATE_AUTH_LDAP_BIND_PASSWORD
WEBLATE_AUTH_LDAP_CONNECTION_OPTION_REFERRALS
WEBLATE_AUTH_LDAP_USER_SEARCH_FILTER
WEBLATE_AUTH_LDAP_USER_SEARCH_UNION
WEBLATE_AUTH_LDAP_USER_SEARCH_UNION_DELIMITER

LDAP 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)

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
WEBLATE_SOCIAL_AUTH_BITBUCKET_KEY
WEBLATE_SOCIAL_AUTH_BITBUCKET_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.

Azure Active Directory

WEBLATE_SOCIAL_AUTH_AZUREAD_OAUTH2_KEY
WEBLATE_SOCIAL_AUTH_AZUREAD_OAUTH2_SECRET

Schakelt Azure Active Directory authenticatie in, bekijk Microsoft Azure Active Directory.

Azure Active Directory 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 Azure Active Directory authenticatie in met ondersteuning voor Tenant, bekijk Microsoft Azure Active Directory.

Keycloak

WEBLATE_SOCIAL_AUTH_KEYCLOAK_KEY
WEBLATE_SOCIAL_AUTH_KEYCLOAK_SECRET
WEBLATE_SOCIAL_AUTH_KEYCLOAK_PUBLIC_KEY
WEBLATE_SOCIAL_AUTH_KEYCLOAK_ALGORITHM
WEBLATE_SOCIAL_AUTH_KEYCLOAK_AUTHORIZATION_URL
WEBLATE_SOCIAL_AUTH_KEYCLOAK_ACCESS_TOKEN_URL
WEBLATE_SOCIAL_AUTH_KEYCLOAK_TITLE
WEBLATE_SOCIAL_AUTH_KEYCLOAK_IMAGE

Schakelt authenticatie voor Keycloak in, bekijk Keycloak - Open Source Red Hat SSO.

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
SOCIAL_AUTH_SLACK_SECRET

Schakelt Slack authenticatie in, bekijk Slack.

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

Configureert algemene integratie van OpenID Connect.

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_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.

WEBLATE_MIN_PASSWORD_SCORE

Minimale score voor wachtwoord zoals geëvalueerd door de zxcvbn schatting voor sterkte van wachtwoorden. Standaard 3, stel in op 0 om de controle op de sterkte uit te schakelen.

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

Geheim invoeren

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
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.

Ingesteld op false om op de omgeving gebaseerde configuratie van de databaseverbinding uit te schakelen. Gebruik Instellingen overschrijven vanuit het volume data om de databaseverbinding handmatig te configureren.

MySQL of MariaDB server

MySQL en MariaDB kunnen niet worden geconfigureerd via omgevingsvariabelen. Bekijk MySQL en MariaDB voor informatie om ze met Weblate te gebruiken. Gebruik WEBLATE_DATABASES om de databaseverbinding handmatig te configureren.

Instellingen voor back-up van de database

WEBLATE_DATABASE_BACKUP

Configureert de dagelijkse databasedump met DATABASE_BACKUP. Standaard is plain.

Opstelling server voor cachen

Het gebruiken van Redis wordt door Weblate sterk aanbevolen en u moet een instantie van Redis opgeven als u Weblate uitvoert in Docker.

REDIS_HOST

De Redis server hostnaam of IP-adres. Standaard is cache.

REDIS_PORT

De Redis server poort. Standaard is 6379.

REDIS_DB

Het Redis databasenummer, standaard is 1.

REDIS_PASSWORD

Het Redis server wachtwoord, wordt standaard niet gebruikt.

Zie ook

Geheim invoeren

REDIS_TLS

Schakelt SSL in voor de verbinding van Redis.

REDIS_VERIFY_SSL

Kan worden gebruikt om verificatie van het SSL-certificaat voor de verbinding van Redis 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

EMAIL_PORT

WEBLATE_EMAIL_HOST_USER

E-mailauthenticatie gebruiker.

Zie ook

EMAIL_HOST_USER

WEBLATE_EMAIL_HOST_PASSWORD

Wachtwoord e-mail authenticatie.

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

AUTO_UPDATE

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.

Configureert LEGAL_URL.

WEBLATE_PRIVACY_URL

Configureert PRIVACY_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_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.

Configuratie voor JavaScript-vertaling CDN.

Het pad WEBLATE_LOCALIZE_CDN_PATH is 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

U bent verantwoordelijk voor het instellen van het serveren van de bestanden die worden gegenereerd door Weblate, het slaat alleen bestanden op in de geconfigureerde locatie.

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_OPTIONS en WEB_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 1 om 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
WEB_WORKERS

Configureer hoeveel werkers van WSGI zouden moeten worden uitgevoerd.

Standaard is WEBLATE_WORKERS.

Voorbeeld:

environment:
  WEB_WORKERS: 32

Veranderd in versie 5.9: De container van Docker voert twee processen van WSGI uit vanaf 5.9 en WEB_WORKERS configureert hoeveel threads elk proces mag hebben.

WEBLATE_SERVICE

Definieert welke services zouden moeten worden uitgevoerd binnen de container. Gebruik dit voor Horizontaal schalen.

De volgende services zijn gedefinieerd:

celery-beat

Celery 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-backup

Celery werker voor back-ups, er zou slechts een instantie moeten worden uitgevoerd.

celery-celery

Algemene Celery werker.

celery-memory

Vertaalgeheugen Celery-werking.

celery-notify

Notificaties Celery- werking.

celery-translate

Automatische vertaling Celery-werking.

web

Webserver.

Docker container volumes

Er worden twee volumes (data en cache) geëxporteerd door de Weblate container. De andere service-containers (PostgreSQL of Redis) hebben ook hun volumes data, maar die worden niet behandeld in dit document.

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.

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.

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.

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:

  1. Een aangepast pakket voor Python maken.

  2. 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.py kunnen maken, met de volgende initiële code:

    from weblate.settings_docker import *
    
  3. Maak een aangepast Dockerfile, dat erft van de officiële Weblate Docker image, en dan uw pakket installeert en wijst naar de omgevingsvariabele DJANGO_SETTINGS_MODULE in 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
    
  4. 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 zou build: . kunnen toevoegen aan de node weblate in dat bestand, maar dan zal uw aangepaste image worden getagd als weblate/weblate in uw systeem, wat problematisch zou kunnen zijn.

    Dus, in plaats van docker-compose.yml direct te gebruiken vanuit de officiële opslagruimte, niet aangepast en het uit te breiden via docker-compose.override.yml, zou u een kopie willen maken van het officiële bestand docker-compose.yml, en uw kopie willen bewerken om image: weblate/weblate te vervangen door build: ..

    Bekijk de Compose file build reference voor details over het bouwen van images vanuit d ebron met docker-compose.

  5. 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_settings doet, 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 Wettelijk 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

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