ການຕິດຕັ້ງໂດຍໃຊ້ Docker

ດ້ວຍການ Deployment Weblate ແບບ Docker, ເຈົ້າສາມາດມີ Weblate instance ສ່ວນຕົວແລ່ນໄດ້ພາຍໃນບໍ່ເທົ່າໃດວິນາທີ. Dependency ທັງໝົດຂອງ Weblate ຖືກລວມໄວ້ແລ້ວ. PostgreSQL ຖືກຕັ້ງຄ່າເປັນຖານຂໍ້ມູນເລີ່ມຕົ້ນ ແລະ Valkey ເປັນ Caching backend.

ຄວາມຕ້ອງການດ້ານຮາດແວ

Weblate ຄວນຈະຮັນໄດ້ເທິງຮາດແວສະໄໝໃໝ່ໂດຍບໍ່ມີບັນຫາ, ຕໍ່ໄປນີ້ແມ່ນການຕັ້ງຄ່າຂັ້ນຕ່ຳທີ່ຈຳເປັນເພື່ອຮັນ Weblate ເທິງໂຮສຕ໌ດຽວ (Weblate, ຖານຂໍ້ມູນ ແລະ ເວັບເຊີບເວີ):

  • RAM 3 GB

  • 2 CPU cores

  • ພື້ນທີ່ຈັດເກັບຂໍ້ມູນ 1 GB

Note

ຄວາມຕ້ອງການທີ່ແທ້ຈິງສຳລັບການຕິດຕັ້ງ Weblate ຂອງທ່ານຈະແຕກຕ່າງກັນຢ່າງຫຼວງຫຼາຍໂດຍອີງໃສ່ຂະໜາດຂອງການແປທີ່ຈັດການຢູ່ພາຍໃນນັ້ນ.

ການໃຊ້ງານໜ່ວຍຄວາມຈຳ

ມີໜ່ວຍຄວາມຈຳຫຼາຍເທົ່າໃດກໍຍິ່ງດີ - ມັນຖືກໃຊ້ສຳລັບການ caching ໃນທຸກລະດັບ (ລະບົບໄຟລ໌, ຖານຂໍ້ມູນ ແລະ Weblate). ສຳລັບສ່ວນປະກອບການແປຫຼາຍຮ້ອຍລາຍການ, ແນະນຳໃຫ້ມີ RAM ຢ່າງໜ້ອຍ 4 GB.

Hint

ສຳລັບລະບົບທີ່ມີໜ່ວຍຄວາມຈຳໜ້ອຍກວ່າທີ່ແນະນຳ, ແນະນຳໃຫ້ໃຊ້ ການຕັ້ງຄ່າ Celery ແບບ Single-process.

ການໃຊ້ງານ CPU

ຜູ້ໃຊ້ຫຼາຍຄົນທີ່ໃຊ້ງານພ້ອມກັນຈະເພີ່ມຈຳນວນ CPU cores ທີ່ຈຳເປັນ.

Weblate 2026.8 introduced NumPy as a required dependency. On x86-64 systems, the optimized NumPy build bundled in the Docker image requires an x86-64-v2 compatible CPU. Without the required CPU features, NumPy fails to load and Weblate cannot start.

Before upgrading, check for the required SSE4.2 CPU feature on the Linux system running Docker:

grep sse4_2 /proc/cpuinfo

Empty output indicates that a required CPU feature is unavailable. This is a preliminary check; finding SSE4.2 does not verify all x86-64-v2 CPU features.

If Docker runs in a virtual machine, run the check inside the guest. Virtual machines can hide CPU features supported by the host. Configure the virtual machine to expose the required host CPU features, then reboot the guest. If the physical CPU lacks the required features, upgrade the hardware.

ການໃຊ້ງານພື້ນທີ່ຈັດເກັບຂໍ້ມູນ

ການໃຊ້ພື້ນທີ່ຈັດເກັບຖານຂໍ້ມູນໂດຍທົ່ວໄປແມ່ນປະມານ 300 MB ຕໍ່ 1 ລ້ານຄຳທີ່ຝາກໄວ້.

ພື້ນທີ່ຈັດເກັບຂໍ້ມູນທີ່ຈຳເປັນສຳລັບ cloned repositories ຈະແຕກຕ່າງກັນ, ແຕ່ Weblate ພະຍາຍາມຮັກສາຂະໜາດຂອງມັນໃຫ້ໜ້ອຍທີ່ສຸດໂດຍການເຮັດ shallow clones.

Storage performance

ການດຳເນີນການຄວບຄຸມເວີຊັນມີການຄົ້ນຫາ metadata ຂອງລະບົບໄຟລ໌ຫຼາຍຄັ້ງ. ດັ່ງນັ້ນ ໂຟນເດີຍ່ອຍ vcs ໃນ DATA_DIR ຈຶ່ງຕ້ອງການຄວາມໜ່ວງໃນການອ່ານ (read latency) ທີ່ຕໍ່າ; ບ່ອນເກັບຂໍ້ມູນທີ່ມີ ການເຂົ້າເຖິງ metadata ຊ້າ ສາມາດເຮັດໃຫ້ການດຳເນີນການ ເຊັ່ນ git status ໃຊ້ເວລາດົນ ເຖິງແມ່ນວ່າຄວາມໄວໃນການຮັບສົ່ງຂໍ້ມູນໂດຍລວມຈະດີກໍຕາມ. ໃຫ້ເກັບ CACHE_DIR ໄວ້ໃນບ່ອນເກັບຂໍ້ມູນ ທ້ອງຖິ່ນ ຫຼື ຊົ່ວຄາວທີ່ມີຄວາມໜ່ວງຕໍ່າຫາກເປັນໄປໄດ້.

ການກວດສອບການຕິດຕັ້ງຈະວັດແທກຄວາມໜ່ວງໃນການຄົ້ນຫາ metadata ສຳລັບທັງສອງຕຳແໜ່ງ ແລະ ແຈ້ງເຕືອນ ເມື່ອຄວາມໜ່ວງສະເລ່ຍເກີນ 10 ມິນລິວິນາທີ. ນີ້ແມ່ນການວັດແທກໂດຍປະມານໃນຊ່ວງເວລາໃດໜຶ່ງ ເຊິ່ງໄດ້ຮັບຜົນກະທົບຈາກລະບົບໄຟລ໌ ແລະ ພາລະຂອງລະບົບ. ໃຫ້ລັນ weblate check --deploy ຄືນໃໝ່ກ່ອນທີ່ຈະປ່ຽນແປງການຕັ້ງຄ່າບ່ອນເກັບຂໍ້ມູນ.

Nodes

ສຳລັບເວັບໄຊຂະໜາດນ້ອຍ ແລະ ຂະໜາດກາງ (ຫຼາຍລ້ານຄຳທີ່ຝາກໄວ້), ສ່ວນປະກອບທັງໝົດຂອງ Weblate (ເບິ່ງ ພາບລວມຂອງສະຖາປັດຕະຍະກຳ) ສາມາດຮັນເທິງ node ດຽວໄດ້.

ເມື່ອທ່ານເຕີບໂຕໄປເຖິງຫຼາຍຮ້ອຍລ້ານຄຳທີ່ຝາກໄວ້, ແນະນຳໃຫ້ມີ node ສະເພາະສຳລັບຖານຂໍ້ມູນ (ເບິ່ງ ການຕັ້ງຄ່າຖານຂໍ້ມູນສຳລັບ Weblate).

ການຕິດຕັ້ງ

Hint

ຕົວຢ່າງຕໍ່ໄປນີ້ສົມມຸດວ່າເຈົ້າມີ Docker environment ທີ່ໃຊ້ງານໄດ້, ພ້ອມກັບ docker-compose-plugin ທີ່ຕິດຕັ້ງແລ້ວ. ກະລຸນາກວດສອບເອກະສານ Docker ສຳລັບຄຳແນະນຳ.

ສິ່ງນີ້ສ້າງ Weblate deployment server ຜ່ານ HTTP, ສະນັ້ນເຈົ້າຄວນວາງມັນໄວ້ຫຼັງ HTTPS terminating proxy. ເຈົ້າຍັງສາມາດ Deploy ດ້ວຍ HTTPS proxy, ເບິ່ງ ໃບຢັ້ງຢືນ SSL ອັດຕະໂນມັດໂດຍໃຊ້ Let’s Encrypt. ສຳລັບການຕັ້ງຄ່າທີ່ໃຫຍ່ກວ່າ, ກະລຸນາເບິ່ງ ການຂະຫຍາຍລະບົບອອກທາງຂ້າງ (Horizontal scaling).

  1. Clone ເອົາ Weblate-docker repo:

    git clone https://github.com/WeblateOrg/docker-compose.git weblate-docker
    cd weblate-docker
    

    Note

    ໄຟລ໌ Docker Compose ແມ່ນການຕັ້ງຄ່າ Deployment ຕົວຢ່າງ. ໂດຍປົກກະຕິຜູ້ເບິ່ງແຍງລະບົບຈະປັບແຕ່ງພວກມັນສຳລັບການ Deployment ຂອງຕົນເອງ ແລະ ເບິ່ງແຍງການປ່ຽນແປງໃນທ້ອງຖິ່ນເຫຼົ່ານັ້ນ. ການອັບເດດແອັບພລິເຄຊັນ Weblate ຈະຖືກສົ່ງຜ່ານ Docker image tags; ບໍ່ມີເສັ້ນທາງການອັບເດດທີ່ຜູກມັດກັບ Release ສຳລັບໄຟລ໌ Compose ທີ່ປັບແຕ່ງແລ້ວ.

  2. ສ້າງໄຟລ໌ docker-compose.override.yml ດ້ວຍການຕັ້ງຄ່າຂອງທ່ານ. ເບິ່ງ Docker environment variables ສຳລັບລາຍຊື່ເຕັມຂອງ Environment variables.

    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
    

    Note

    ຖ້າບໍ່ໄດ້ຕັ້ງ WEBLATE_ADMIN_PASSWORD, Admin user ຈະຖືກສ້າງຂຶ້ນດ້ວຍລະຫັດຜ່ານແບບສຸ່ມທີ່ສະແດງໃຫ້ເຫັນໃນການເລີ່ມຕົ້ນລະບົບຄັ້ງທຳອິດ.

    ຕົວຢ່າງທີ່ສະໜອງໃຫ້ຈະເຮັດໃຫ້ Weblate ລໍຖ້າຮັບການເຊື່ອມຕໍ່ຢູ່ Port 80, ໃຫ້ແກ້ໄຂ Port mapping ໃນໄຟລ໌ docker-compose.override.yml ເພື່ອປ່ຽນແປງມັນ.

  3. ເລີ່ມຕົ້ນ Weblate containers:

    docker compose up
    

ເພີດເພີນກັບການ Deploy Weblate ຂອງທ່ານ, ມັນສາມາດເຂົ້າເຖິງໄດ້ທາງ Port 80 ຂອງ weblate container.

ການເລືອກ Docker image registry

Weblate containers ຖືກເຜີຍແຜ່ໄປຍັງ Registry ຕໍ່ໄປນີ້:

Note

ຕົວຢ່າງທັງໝົດໃນປັດຈຸບັນຈະດຶງ Images ຈາກ Docker Hub, ກະລຸນາປັບການຕັ້ງຄ່າໃຫ້ສອດຄ່ອງເພື່ອໃຊ້ Registry ອື່ນ.

ການເລືອກ Docker image tag

ກະລຸນາເລືອກ Tag ທີ່ກົງກັບສະພາບແວດລ້ອມ ແລະ ຄວາມຄາດຫວັງຂອງທ່ານ:

ຊື່ Tag

ຄຳອະທິບາຍ

ກໍລະນີການໃຊ້ງານ

latest

Weblate stable release, ກົງກັບ Release ລ່າສຸດທີ່ຖືກ Tag

ການອັບເດດແບບ Rolling ໃນສະພາບແວດລ້ອມທີ່ໃຊ້ງານຈິງ

<YEAR>

Weblate stable release

ການອັບເດດແບບ Rolling ພາຍໃນປີປະຕິທິນໃນສະພາບແວດລ້ອມທີ່ໃຊ້ງານຈິງ

<YEAR>.<MONTH>

Weblate stable release

ການອັບເດດແບບ Rolling ພາຍໃນ Release ປະຈຳເດືອນໃນສະພາບແວດລ້ອມທີ່ໃຊ້ງານຈິງ

<YEAR>.<MONTH>.<PATCH>.<BUILD>

Weblate stable release

ການ Deploy ທີ່ກຳນົດໄວ້ຢ່າງຊັດເຈນໃນສະພາບແວດລ້ອມທີ່ໃຊ້ງານຈິງ

edge

Weblate stable release ທີ່ມີການປ່ຽນແປງທາງການພັດທະນາໃນ Docker container (ຕົວຢ່າງ: Dependency ທີ່ຖືກອັບເດດ)

ການອັບເດດແບບ Rolling ໃນສະພາບແວດລ້ອມ Staging

edge-<DATE>-<SHA>

Weblate stable release ທີ່ມີການປ່ຽນແປງທາງການພັດທະນາໃນ Docker container (ຕົວຢ່າງ: Dependency ທີ່ຖືກອັບເດດ)

ການ Deploy ທີ່ກຳນົດໄວ້ຢ່າງຊັດເຈນໃນສະພາບແວດລ້ອມ Staging

bleeding

Weblate ຮຸ່ນພັດທະນາຈາກ Git

ການອັບເດດແບບ Rolling ເພື່ອທົດສອບຟີເຈີໃໝ່ໆຂອງ Weblate

bleeding-<DATE>-<SHA>

Weblate ຮຸ່ນພັດທະນາຈາກ Git

ການ Deploy ທີ່ກຳນົດໄວ້ຢ່າງຊັດເຈນເພື່ອທົດສອບຟີເຈີໃໝ່ໆຂອງ Weblate

ທຸກ Image ຈະຖືກທົດສອບໂດຍ CI ຂອງພວກເຮົາກ່ອນເຜີຍແຜ່, ສະນັ້ນຮຸ່ນ bleeding ກໍຄວນຈະປອດໄພໃນການໃຊ້ງານໃນລະດັບໜຶ່ງ.

ລາຍຊື່ເຕັມຂອງ Tags ທີ່ເຜີຍແຜ່ສາມາດເບິ່ງໄດ້ທີ່ GitHub Packages

Docker container ພ້ອມການຮອງຮັບ HTTPS

ກະລຸນາເບິ່ງ ການຕິດຕັ້ງ ສຳລັບຄຳແນະນຳໃນການ Deploy ທົ່ວໄປ, ສ່ວນນີ້ຈະກ່າວເຖິງພຽງແຕ່ຄວາມແຕກຕ່າງຈາກສ່ວນນັ້ນ.

SSL terminating proxy

SSL ສາມາດຖືກ Terminate ຢູ່ພາຍນອກ Weblate container. ເພື່ອໃຫ້ສິ່ງນີ້ເຮັດວຽກໄດ້ຢ່າງຖືກຕ້ອງ, Headers ຫຼາຍອັນຕ້ອງຖືກສົ່ງໃຫ້ container ເພື່ອໃຫ້ມັນຮັບຮູ້ສະພາບແວດລ້ອມຈິງຂອງມັນ. ລາຍລະອຽດເພີ່ມເຕີມ, Headers ເຫຼົ່ານີ້ຖືກອະທິບາຍໄວ້ໃນ ການແລ່ນຫຼັງຣີເວີສພຣອກຊີ (reverse proxy).

ຕົວຢ່າງການຕັ້ງຄ່າ nginx reverse proxy ສຳລັບ Docker container.
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;
}
Docker container environment ສຳລັບການເຮັດ SSL termination ພາຍນອກ.
WEBLATE_ENABLE_HTTPS=1
WEBLATE_IP_PROXY_HEADER=HTTP_X_FORWARDED_FOR
WEBLATE_TRUSTED_PROXY_ADDRESSES=192.0.2.10

ແທນທີ່ຕົວຢ່າງທີ່ຢູ່ proxy ທີ່ໜ້າເຊື່ອຖືດ້ວຍທີ່ຢູ່ ຫຼື ເຄືອຂ່າຍຂອງ reverse proxy ຕາມທີ່ຄອນເທນເນີ Weblate ເຫັນ. ກວດສອບໃຫ້ແນ່ໃຈວ່າລູກຄ້າທີ່ບໍ່ໜ້າເຊື່ອຖືບໍ່ສາມາດເຂົ້າເຖິງພອດຂອງຄອນເທນເນີທີ່ເຜີຍແຜ່ໂດຍການຂ້າມ reverse proxy ໄດ້.

ການໃຊ້ໃບຢັ້ງຢືນ SSL ຂອງທ່ານເອງ

ໃນກໍລະນີທີ່ເຈົ້າມີໃບຢັ້ງຢືນ SSL ຂອງຕົນເອງທີ່ຢາກໃຊ້, ພຽງແຕ່ວາງໄຟລ໌ໄວ້ໃນ Weblate data volume (ເບິ່ງ Docker container volumes):

  • ssl/fullchain.pem ທີ່ມີໃບຢັ້ງຢືນ ລວມເຖິງໃບຢັ້ງຢືນ CA ໃດໆທີ່ຈຳເປັນ

  • ssl/privkey.pem ທີ່ມີ Private key

ທັງສອງໄຟລ໌ນີ້ຕ້ອງມີ Owner ເປັນ User ດຽວກັນກັບທີ່ເລີ່ມຕົ້ນ Docker container ແລະ ຕ້ອງມີ File mask ຕັ້ງເປັນ 600 (ອ່ານ ແລະ ຂຽນໄດ້ໂດຍເຈົ້າຂອງໄຟລ໌ເທົ່ານັ້ນ).

ນອກຈາກນີ້, Weblate container ຈະຍອມຮັບການເຊື່ອມຕໍ່ SSL ຢູ່ Port 4443, ເຈົ້າຈະຕ້ອງການລວມ Port forwarding ສຳລັບ HTTPS ໃນ Docker compose override:

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

ຖ້າເຈົ້າໄດ້ໂຮສເວັບໄຊອື່ນຢູ່ໃນເຊີບເວີດຽວກັນ, ເປັນໄປໄດ້ວ່າ Ports 80 ແລະ 443 ຖືກໃຊ້ໂດຍ Reverse proxy ເຊັ່ນ NGINX. ເພື່ອສົ່ງ HTTPS connection ຈາກ NGINX ໄປຍັງ 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>;
    }
}

ປ່ຽນ <SITE_URL>, <SITE> ແລະ <EXPOSED_DOCKER_PORT> ດ້ວຍຄ່າຈິງຈາກສະພາບແວດລ້ອມຂອງທ່ານ.

ໃບຢັ້ງຢືນ SSL ອັດຕະໂນມັດໂດຍໃຊ້ Let’s Encrypt

ໃນກໍລະນີທີ່ເຈົ້າຢາກໃຊ້ໃບຢັ້ງຢືນ SSL ທີ່ສ້າງໂດຍອັດຕະໂນມັດຈາກ Let’s Encrypt ໃນການຕິດຕັ້ງສາທາລະນະ, ເຈົ້າຈຳເປັນຕ້ອງເພີ່ມ Reverse HTTPS proxy ເປັນ Docker container ອີກອັນໜຶ່ງ, https-portal ຈະຖືກໃຊ້ສຳລັບຈຸດປະສົງນີ້. ສິ່ງນີ້ຖືກໃຊ້ໃນໄຟລ໌ docker-compose-https.yml. ຈາກນັ້ນສ້າງໄຟລ໌ docker-compose-https.override.yml ດ້ວຍການຕັ້ງຄ່າຂອງທ່ານ:

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

ທຸກຄັ້ງທີ່ຮຽກໃຊ້ docker compose ເຈົ້າຕ້ອງສົ່ງທັງສອງໄຟລ໌ໃຫ້ມັນ, ຈາກນັ້ນເຮັດດັ່ງນີ້:

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

ການອັບເດດ Docker container

ປົກກະຕິແລ້ວມັນເປັນການດີທີ່ຈະອັບເດດສະເພາະ Weblate container ແລະ ຮັກສາ PostgreSQL container ໄວ້ທີ່ເວີຊັ່ນທີ່ເຈົ້າມີ, ເນື່ອງຈາກການອັບເດດ PostgreSQL ແມ່ນຂ້ອນຂ້າງຫຍຸ້ງຍາກ ແລະ ໃນກໍລະນີສ່ວນໃຫຍ່ບໍ່ໄດ້ນຳມາເຊິ່ງຜົນປະໂຫຍດຫຼາຍປານໃດ.

ເຈົ້າສາມາດເຮັດສິ່ງນີ້ໄດ້ໂດຍການໃຊ້ Docker-compose ທີ່ມີຢູ່ແລ້ວ ແລະ ພຽງແຕ່ Pull images ລ່າສຸດ ຈາກນັ້ນ Restart:

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

ຖານຂໍ້ມູນ Weblate ຄວນຈະຖືກ Migrate ໂດຍອັດຕະໂນມັດໃນການເລີ່ມຕົ້ນລະບົບຄັ້ງທຳອິດ, ແລະ ບໍ່ຄວນມີຄວາມຈຳເປັນຕ້ອງເຮັດວຽກງານດ້ວຍຕົນເອງເພີ່ມເຕີມ.

Note

ການອັບເດດໂດຍກົງຈະຮອງຮັບສະເພາະ Release ຈາກປີປະຕິທິນປັດຈຸບັນ ຫຼື ປີກ່ອນໜ້າເທົ່ານັ້ນ. ຖ້າເຈົ້າຈຳເປັນຕ້ອງອັບເດດຈາກ Release ທີ່ເກົ່າກວ່າ, ໃຫ້ອັບເດດເປັນເວີຊັ່ນກາງທີ່ລະບຸໄວ້ໃນ ຄຳແນະນຳສະເພາະເວີຊັນ ກ່ອນ.

ຖ້າເຈົ້າໃຊ້ໄຟລ໌ Compose ຕົວຢ່າງໂດຍບໍ່ມີການປ່ຽນແປງໃນທ້ອງຖິ່ນ, ເຈົ້າຍັງສາມາດກວດສອບການອັບເດດໃນ docker-compose repository, ເຖິງແມ່ນວ່ານີ້ຈະບໍ່ຈຳເປັນສຳລັບການອັບເດດ Weblate ສ່ວນໃຫຍ່. ໄຟລ໌ Compose ທີ່ປັບແຕ່ງແລ້ວຕ້ອງໄດ້ຮັບການເບິ່ງແຍງໃນສ່ວນຂອງການ Deployment ຂອງທ່ານ. ເບິ່ງ ການອັບເດດ PostgreSQL container ສຳລັບການອັບເດດ PostgreSQL server.

ການອັບເດດ PostgreSQL container

Note

PostgreSQL 18 ປ່ຽນແປງໄດເຣັກທໍຣີຂໍ້ມູນເລີ່ມຕົ້ນພາຍໃນ container. ການຕັ້ງຄ່າເກົ່າທົ່ວໄປຈະ Mount database volume ໄວ້ທີ່ /var/lib/postgresql/data, ໃນຂະນະທີ່ PostgreSQL 18 ຕອນນີ້ໃຊ້ /var/lib/postgresql ເປັນຄ່າເລີ່ມຕົ້ນ.

ຖ້າເຈົ້າກຳລັງອັບເດດຈາກເວີຊັ່ນທີ່ເກົ່າກວ່າ, ໃຫ້ອັບເດດ Mount target ໃນ Docker configuration ຂອງທ່ານເປັນເສັ້ນທາງໃໝ່, ຫຼື ຮັກສາ Mount target ອັນເກົ່າໄວ້ ແລະ ຕັ້ງຄ່າ PGDATA ໃຫ້ສອດຄ່ອງ.

ການປ່ອຍໃຫ້ Mount target ເກົ່າໂດຍບໍ່ຕັ້ງຄ່າ PGDATA ອາດເຮັດໃຫ້ PostgreSQL ຂຽນຂໍ້ມູນຂອງມັນໄວ້ນອກ Persisted volume.

ເບິ່ງ ເອກະສານ PGDATA ສຳລັບຂໍ້ມູນເພີ່ມເຕີມ.

PostgreSQL containers ບໍ່ຮອງຮັບການອັບເດດອັດຕະໂນມັດລະຫວ່າງເວີຊັ່ນ, ເຈົ້າຈຳເປັນຕ້ອງເຮັດການອັບເດດດ້ວຍຕົນເອງ. ຂັ້ນຕອນຕໍ່ໄປນີ້ສະແດງໜຶ່ງໃນທາງເລືອກຂອງການອັບເດດ.

  1. ຢຸດ Weblate container:

    docker compose stop weblate cache
    
  2. ສຳຮອງຂໍ້ມູນຖານຂໍ້ມູນ:

    docker compose exec database pg_dumpall --clean --if-exists --username weblate > backup.sql
    
  3. ຢຸດ Database container:

    docker compose stop database
    
  4. ລຶບ PostgreSQL volume:

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

    Hint

    ຊື່ Volume ປະກອບມີຊື່ຂອງ Docker Compose project, ເຊິ່ງໂດຍຄ່າເລີ່ມຕົ້ນແມ່ນຊື່ໄດເຣັກທໍຣີ ເຊິ່ງໃນເອກະສານນີ້ແມ່ນ weblate-docker.

  5. ປັບແຕ່ງ docker-compose.yml ເພື່ອໃຊ້ PostgreSQL ເວີຊັ່ນໃໝ່.

  6. ເລີ່ມຕົ້ນ Database container:

    docker compose up -d database
    
  7. ກູ້ຄືນຖານຂໍ້ມູນຈາກການສຳຮອງຂໍ້ມູນ:

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

    Hint

    ກະລຸນາກວດສອບວ່າຊື່ຖານຂໍ້ມູນກົງກັບ POSTGRES_DB.

  8. (ທາງເລືອກ) ອັບເດດລະຫັດຜ່ານສຳລັບ Weblate user. ສິ່ງນີ້ອາດຈຳເປັນເມື່ອຍ້າຍໄປຫາ PostgreSQL 14 ຫຼື 15 ເນື່ອງຈາກວິທີການຈັດເກັບລະຫັດຜ່ານໄດ້ຖືກປ່ຽນແປງ:

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

    Hint

    ກະລຸນາກວດສອບວ່າຊື່ຖານຂໍ້ມູນກົງກັບ POSTGRES_DB.

  9. ເລີ່ມຕົ້ນ Containers ທີ່ເຫຼືອທັງໝົດ:

    docker compose up -d
    

ການເຂົ້າສູ່ລະບົບ Admin

ຫຼັງຈາກຕັ້ງຄ່າ Container ແລ້ວ, ເຈົ້າສາມາດເຂົ້າສູ່ລະບົບເປັນ admin user ດ້ວຍລະຫັດຜ່ານທີ່ລະບຸໃນ WEBLATE_ADMIN_PASSWORD, ຫຼື ລະຫັດຜ່ານສຸ່ມທີ່ສ້າງຂຶ້ນໃນການເລີ່ມຕົ້ນຄັ້ງທຳອິດຖ້າບໍ່ໄດ້ຕັ້ງຄ່າໄວ້.

ເພື່ອຣີເຊັດລະຫັດຜ່ານ admin, ໃຫ້ Restart container ໂດຍຕັ້ງ WEBLATE_ADMIN_PASSWORD ເປັນລະຫັດຜ່ານໃໝ່.

ຈຳນວນ Processes ແລະ ການໃຊ້ໜ່ວຍຄວາມຈຳ

ຈຳນວນຂະບວນການເຮັດວຽກ (worker processes) ສຳລັບທັງເວັບແອັບພລິເຄຊັນ ແລະ Celery ແມ່ນຖືກກຳນົດໂດຍອັດຕະໂນມັດໂດຍອີງຕາມຈຳນວນ CPU. ວິທີນີ້ໃຊ້ໄດ້ດີກັບ virtual machines ສ່ວນໃຫຍ່ໃນຄລາວ ເພາະປົກກະຕິແລ້ວພວກມັນມີ CPU ໜ້ອຍ ແຕ່ມີໜ່ວຍຄວາມຈຳໃນປະລິມານທີ່ພຽງພໍ.

By default, one combined Celery worker handles all task queues using a prefork pool with three times WEBLATE_WORKERS processes. Sharing the initial application memory between all Celery workers reduces memory usage while the higher process count increases task throughput.

ໃນກໍລະນີທີ່ເຈົ້າມີ CPU cores ຈຳນວນຫຼາຍ ແລະ ພົບບັນຫາ Memory ບໍ່ພໍ, ໃຫ້ລອງຫຼຸດຈຳນວນ Worker ລົງ:

environment:
  WEBLATE_WORKERS: 2

You can fine-tune the combined worker:

environment:
  CELERY_COMBINED_OPTIONS: --concurrency 12 --prefetch-multiplier 1

Alternatively, use the split mode to run and fine-tune individual worker categories:

environment:
  CELERY_WORKER_MODE: split
  WEB_WORKERS: 4
  WEB_BLOCKING_THREADS: 4
  CELERY_MAIN_OPTIONS: --concurrency 2 --prefetch-multiplier 1
  CELERY_NOTIFY_OPTIONS: --concurrency 1 --prefetch-multiplier 4
  CELERY_MEMORY_OPTIONS: --concurrency 1 --prefetch-multiplier 1
  CELERY_TRANSLATE_OPTIONS: --concurrency 1 --prefetch-multiplier 1
  CELERY_BACKUP_OPTIONS: --concurrency 1 --prefetch-multiplier 1

ຕົວຄູນ prefetch ຄວບຄຸມວ່າແຕ່ລະຊ່ອງການເຮັດວຽກຂອງ worker ສາມາດຈອງວຽກໄດ້ຈັກວຽກ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 1 ເພື່ອຫຼີກເວັ້ນການຈອງວຽກທີ່ໃຊ້ເວລາດົນ ຫຼື ວຽກທີ່ມີຂໍ້ມູນໜັກເພີ່ມເຕີມ. worker ແຈ້ງເຕືອນໃຊ້ 4 ໃນຕົວຢ່າງນີ້ ເພາະວ່າວຽກໄລຍະສັ້ນຂອງມັນສາມາດໄດ້ຮັບປະໂຫຍດຈາກການເກັບຂໍ້ມູນໄວ້ຊົ່ວຄາວ (buffering). ເພີ່ມຄ່ານີ້ຫຼັງຈາກທີ່ໄດ້ວັດແທກຄວາມຊັກຊ້າຂອງຄິວ ແລະ ການໃຊ້ໜ່ວຍຄວາມຈຳຂອງ worker ແລ້ວເທົ່ານັ້ນ.

Memory usage can be further reduced by running Celery in a single process:

environment:
  CELERY_WORKER_MODE: single

ການຂະຫຍາຍລະບົບອອກທາງຂ້າງ (Horizontal scaling)

Added in version 4.6.

ເຈົ້າສາມາດແລ່ນ Weblate containers ຫຼາຍອັນເພື່ອຂະຫຍາຍບໍລິການອອກທາງຂ້າງ. Volume /app/data ຕ້ອງຖືກແບ່ງປັນໂດຍທຸກ Container, ແນະນຳໃຫ້ໃຊ້ Cluster filesystem ເຊັ່ນ GlusterFS ສຳລັບສິ່ງນີ້. Volume /app/cache ຄວນຈະແຍກຕ່າງຫາກສຳລັບແຕ່ລະ Container.

ແຕ່ລະ Weblate container ມີບົດບາດທີ່ກຳນົດໄວ້ໂດຍໃຊ້ Environment variable WEBLATE_SERVICE. ກະລຸນາປະຕິບັດຕາມເອກະສານຢ່າງລະມັດລະວັງ ເນື່ອງຈາກບາງບໍລິການຄວນຈະແລ່ນພຽງຄັ້ງດຽວໃນ Cluster, ແລະ ລຳດັບຂອງບໍລິການກໍມີຄວາມສຳຄັນເຊັ່ນກັນ.

ເຈົ້າສາມາດເບິ່ງການຕັ້ງຄ່າຕົວຢ່າງໃນ docker-compose repo ໄດ້ທີ່ docker-compose-split.yml.

Startup configuration warnings

The Docker container records actionable configuration warnings from startup in the shared /app/data volume. They are shown by weblate check --deploy and in the ລາຍງານປະສິດທິພາບ management interface, in addition to being written to the container log.

Each container reports its warnings separately. This keeps warnings from containers with different WEBLATE_SERVICE roles visible in a horizontally scaled deployment. Reports are refreshed while their container is running and are removed during an orderly container shutdown. Reports left by an abrupt shutdown expire after five minutes, and stale report files are cleaned up automatically by later container startups.

Docker environment variables

ການຕັ້ງຄ່າ ການຕັ້ງຄ່າ ຫຼາຍຢ່າງຂອງ Weblate ສາມາດຖືກຕັ້ງໃນ Docker container ໂດຍໃຊ້ Environment variables ທີ່ອະທິບາຍຢູ່ລຸ່ມນີ້.

ຖ້າເຈົ້າຈຳເປັນຕ້ອງກຳນົດການຕັ້ງຄ່າທີ່ບໍ່ໄດ້ຖືກເປີດເຜີຍຜ່ານ Docker environment variables, ເບິ່ງ ການຕັ້ງຄ່ານອກເໜືອຈາກຕົວແປສະພາບແວດລ້ອມ.

ການສົ່ງ Secret

Added in version 5.0.

Weblate container ຮອງຮັບການສົ່ງ Secret ເປັນໄຟລ໌. ເພື່ອໃຊ້ງານ, ໃຫ້ຕື່ມSuffix _FILE ໃສ່ໃນ Environment variable ແລະ ສົ່ງ Secret file ຜ່ານ Docker.

ໄຟລ໌ docker-compose.yml ທີ່ກ່ຽວຂ້ອງອາດຈະມີລັກສະນະຄື:

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

ການຕັ້ງຄ່າທົ່ວໄປ

WEBLATE_DEBUG

ຕັ້ງຄ່າ Django debug mode ໂດຍໃຊ້ DEBUG.

ຕົວຢ່າງ:

environment:
  WEBLATE_DEBUG: 1
WEBLATE_LOGLEVEL

ຕັ້ງຄ່າຄວາມລະອຽດຂອງ Logging. ຕັ້ງເປັນ DEBUG ເພື່ອໃຫ້ໄດ້ Log ທີ່ລະອຽດຂຶ້ນ.

ຄ່າເລີ່ມຕົ້ນແມ່ນ INFO ເມື່ອ WEBLATE_DEBUG ຖືກປິດ, DEBUG ຈະຖືກໃຊ້ເມື່ອ Debug mode ຖືກເປີດ.

ສຳລັບ Log ທີ່ງຽບກວ່າ ໃຫ້ໃຊ້ ERROR ຫຼື WARNING.

WEBLATE_LOGLEVEL_DATABASE

ຕັ້ງຄ່າຄວາມລະອຽດຂອງ Logging ຂອງ Database queries.

WEBLATE_LOG_GELF_HOST

Added in version 5.9.

ຕັ້ງຄ່າ Remote logging ໂດຍໃຊ້ GELF TCP connection. ສາມາດໃຊ້ເພື່ອເຊື່ອມຕໍ່ກັບ Graylog.

WEBLATE_LOG_GELF_PORT

Added in version 5.9.

ໃຊ້ Custom port ສຳລັບ WEBLATE_LOG_GELF_HOST, ຄ່າເລີ່ມຕົ້ນແມ່ນ 12201.

WEBLATE_SITE_TITLE

ປ່ຽນ Site-title ທີ່ສະແດງຢູ່ໃນ Header ຂອງທຸກໜ້າ.

WEBLATE_SITE_DOMAIN

Configures the site domain. This parameter is required and accepts a hostname or IPv4 address.

Include a port between 1 and 65535 if using a non-standard one. IPv6 addresses are not currently supported.

ຕົວຢ່າງ:

environment:
  WEBLATE_SITE_DOMAIN: example.com:8080
WEBLATE_ADMIN_NAME
WEBLATE_ADMIN_EMAIL

ຕັ້ງຄ່າຊື່ ແລະ ອີເມວຂອງຜູ້ເບິ່ງແຍງເວັບໄຊ. ມັນຖືກໃຊ້ສຳລັບທັງການຕັ້ງຄ່າ ADMINS ແລະ ການສ້າງ admin user (ເບິ່ງ WEBLATE_ADMIN_PASSWORD ສຳລັບຂໍ້ມູນເພີ່ມເຕີມ).

ຕົວຢ່າງ:

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

ຕັ້ງລະຫັດຜ່ານສຳລັບ admin user.

  • ຖ້າບໍ່ໄດ້ຕັ້ງໄວ້ ແລະ admin user ບໍ່ມີຢູ່, ມັນຈະຖືກສ້າງຂຶ້ນດ້ວຍລະຫັດຜ່ານສຸ່ມທີ່ສະແດງໃນການເລີ່ມຕົ້ນ container ຄັ້ງທຳອິດ.

  • ຖ້າບໍ່ໄດ້ຕັ້ງໄວ້ ແລະ admin user ມີຢູ່ແລ້ວ, ຈະບໍ່ມີການດຳເນີນການໃດໆ.

  • ຖ້າຕັ້ງໄວ້ admin user ຈະຖືກປັບປຸງໃນທຸກຄັ້ງທີ່ Container ເລີ່ມຕົ້ນເພື່ອໃຫ້ກົງກັບ WEBLATE_ADMIN_PASSWORD, WEBLATE_ADMIN_NAME ແລະ WEBLATE_ADMIN_EMAIL.

Warning

ມັນອາດເປັນຄວາມສ່ຽງດ້ານຄວາມປອດໄພໃນການເກັບລະຫັດຜ່ານໄວ້ໃນໄຟລ໌ຕັ້ງຄ່າ. ພິຈາລະນາໃຊ້ Variable ນີ້ສະເພາະການຕັ້ງຄ່າຄັ້ງທຳອິດ (ຫຼື ໃຫ້ Weblate ສ້າງລະຫັດຜ່ານສຸ່ມໃນການເລີ່ມຕົ້ນຄັ້ງທຳອິດ) ຫຼື ສຳລັບການກູ້ຄືນລະຫັດຜ່ານ.

WEBLATE_ADMIN_NOTIFY_ERROR

ຈະສົ່ງອີເມວຫາ Admin ເມື່ອເກີດຂໍ້ຜິດພາດໃນເຊີບເວີຫຼືບໍ່. ເປີດໃຊ້ໂດຍຄ່າເລີ່ມຕົ້ນ.

ເຈົ້າອາດຈະຢາກໃຊ້ການເກັບຂໍ້ຜິດພາດອື່ນ ເຊັ່ນ Sentry ຫຼື Rollbar ແລະ ປິດສິ່ງນີ້.

WEBLATE_SERVER_EMAIL

ທີ່ຢູ່ອີເມວທີ່ຂໍ້ຄວາມຂໍ້ຜິດພາດຖືກສົ່ງມາຈາກ.

WEBLATE_DEFAULT_FROM_EMAIL

ຕັ້ງຄ່າທີ່ຢູ່ສຳລັບອີເມວຂາອອກ.

WEBLATE_ADMINS_CONTACT

ຕັ້ງຄ່າ ADMINS_CONTACT.

WEBLATE_CONTACT_FORM

ຕັ້ງຄ່າພຶດຕິກຳຂອງຟອມຕິດຕໍ່, ເບິ່ງ CONTACT_FORM.

WEBLATE_ALLOWED_HOSTS

ຕັ້ງຄ່າ HTTP hostnames ທີ່ອະນຸຍາດ ໂດຍໃຊ້ ALLOWED_HOSTS.

ຄ່າເລີ່ມຕົ້ນແມ່ນ * ເຊິ່ງອະນຸຍາດທຸກ Hostnames.

ຕົວຢ່າງ:

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

ຕັ້ງຄ່າວ່າການລົງທະບຽນເປີດຢູ່ຫຼືບໍ່ ໂດຍການສັ່ງເປີດ/ປິດ REGISTRATION_OPEN.

ຕົວຢ່າງ:

environment:
  WEBLATE_REGISTRATION_OPEN: 0
WEBLATE_REGISTRATION_CAPTCHA

Added in version 5.10.

ຕັ້ງຄ່າວ່າໃຊ້ Captcha ສຳລັບການລົງທະບຽນ ແລະ ການກະທຳອື່ນໆທີ່ບໍ່ໄດ້ຮັບການຢືນຢັນຫຼືບໍ່, ເບິ່ງ REGISTRATION_CAPTCHA.

ຕົວຢ່າງ:

environment:
  WEBLATE_REGISTRATION_CAPTCHA: 0
WEBLATE_REGISTRATION_ALLOW_BACKENDS

ຕັ້ງຄ່າວິທີການຢືນຢັນຕົວຕົນໃດທີ່ສາມາດໃຊ້ສ້າງບັນຊີໃໝ່ໄດ້ຜ່ານ REGISTRATION_ALLOW_BACKENDS.

ຕົວຢ່າງ:

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

Added in version 4.16.

ຕັ້ງຄ່າ REGISTRATION_REBIND.

WEBLATE_REGISTRATION_ALLOW_DISPOSABLE_EMAILS

Added in version 5.16.1.

ຕັ້ງຄ່າ REGISTRATION_ALLOW_DISPOSABLE_EMAILS.

ຕົວຢ່າງ:

environment:
  WEBLATE_REGISTRATION_ALLOW_DISPOSABLE_EMAILS: 1
WEBLATE_PROJECT_WEB_RESTRICT_PRIVATE

Added in version 5.17.

ຕັ້ງຄ່າ PROJECT_WEB_RESTRICT_PRIVATE.

ຄ່າເລີ່ມຕົ້ນແມ່ນເປີດໃຊ້ງານ.

WEBLATE_PROJECT_WEB_RESTRICT_ALLOWLIST

Added in version 5.17.

ຕັ້ງຄ່າ PROJECT_WEB_RESTRICT_ALLOWLIST.

ຕ້ອງການລາຍຊື່ Project slugs ທີ່ເຊື່ອຖືໄດ້ໂດຍແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ.

WEBLATE_WEBHOOK_RESTRICT_PRIVATE

Added in version 5.17.

ຕັ້ງຄ່າ WEBHOOK_RESTRICT_PRIVATE.

ຄ່າເລີ່ມຕົ້ນແມ່ນເປີດໃຊ້ງານ.

WEBLATE_WEBHOOK_PRIVATE_ALLOWLIST

Added in version 5.17.

ຕັ້ງຄ່າ WEBHOOK_PRIVATE_ALLOWLIST.

ຕ້ອງການລາຍຊື່ Hostnames ຫຼື Domains ທີ່ເຊື່ອຖືໄດ້ໂດຍແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ.

WEBLATE_ALLOWED_ASSET_SIZE

Added in version 2025.7.

ຕັ້ງຄ່າ ALLOWED_ASSET_SIZE.

WEBLATE_ASSET_RESTRICT_PRIVATE

Added in version 2025.5.

ຕັ້ງຄ່າ ASSET_RESTRICT_PRIVATE.

ຄ່າເລີ່ມຕົ້ນແມ່ນເປີດໃຊ້ງານ.

WEBLATE_ASSET_PRIVATE_ALLOWLIST

Added in version 2025.5.

ຕັ້ງຄ່າ ASSET_PRIVATE_ALLOWLIST.

ຕ້ອງການລາຍຊື່ Hostnames ຫຼື Domains ທີ່ເຊື່ອຖືໄດ້ໂດຍແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ.

WEBLATE_TIME_ZONE

ຕັ້ງຄ່າ Time zone ທີ່ໃຊ້ໃນ Weblate, ເບິ່ງ TIME_ZONE.

Note

ເພື່ອປ່ຽນ Time zone ຂອງ Docker container ເອງ, ໃຫ້ໃຊ້ Environment variable TZ.

ຕົວຢ່າງ:

environment:
  WEBLATE_TIME_ZONE: Europe/Prague
WEBLATE_ENABLE_HTTPS

ເຮັດໃຫ້ Weblate ຄິດວ່າຕົນເອງຖືກໃຊ້ງານຢູ່ຫຼັງ Reverse HTTPS proxy, ມັນເຮັດໃຫ້ Weblate ໃຊ້ HTTPS ໃນອີເມວ ແລະ API links ຫຼື ຕັ້ງ Secure flags ໃສ່ໃນ Cookies.

Hint

ກະລຸນາເບິ່ງເອກະສານ ENABLE_HTTPS ສຳລັບຂໍ້ຄວນລະວັງທີ່ອາດຈະເກີດຂຶ້ນ.

Note

ສິ່ງນີ້ບໍ່ໄດ້ເຮັດໃຫ້ Weblate container ຍອມຮັບ HTTPS connections, ເຈົ້າຈຳເປັນຕ້ອງຕັ້ງຄ່າສິ່ງນັ້ນນຳ, ເບິ່ງ Docker container ພ້ອມການຮອງຮັບ HTTPS ສຳລັບຕົວຢ່າງ.

ຕົວຢ່າງ:

environment:
  WEBLATE_ENABLE_HTTPS: 1
WEBLATE_NGINX_IPV6

Added in version 5.17.

ຄວບຄຸມວ່າ Bundled NGINX ຟັງການເຊື່ອມຕໍ່ຢູ່ທີ່ IPv6 addresses ຫຼືບໍ່.

ຄ່າທີ່ຮອງຮັບແມ່ນ:

  • auto ເພື່ອເປີດໃຊ້ IPv6 listeners ສະເພາະເມື່ອມີ IPv6 ໃຫ້ໃຊ້ໃນ Container runtime. ນີ້ແມ່ນຄ່າເລີ່ມຕົ້ນ.

  • on ເພື່ອເປີດໃຊ້ IPv6 listeners ສະເໝີ.

  • off ເພື່ອປິດການໃຊ້ງານ IPv6 listeners.

ຕົວຢ່າງ:

environment:
  WEBLATE_NGINX_IPV6: auto
WEBLATE_IP_PROXY_HEADER

ເຮັດໃຫ້ Weblate ດຶງ IP address ຈາກ HTTP header ໃດໆທີ່ໃຫ້ມາ. ໃຊ້ສິ່ງນີ້ເມື່ອໃຊ້ Reverse proxy ຢູ່ທາງໜ້າ Weblate container.

ເປີດໃຊ້ IP_BEHIND_REVERSE_PROXY ແລະ ຕັ້ງຄ່າ IP_PROXY_HEADER.

ເມື່ອຕັ້ງເປັນ HTTP_X_FORWARDED_FOR, nginx ທີ່ມາພ້ອມກັນຈະຄົ້ນຫາທີ່ຢູ່ຂອງລູກຄ້າໂດຍໃຊ້ WEBLATE_TRUSTED_PROXY_ADDRESSES, ໃຊ້ທີ່ຢູ່ນັ້ນໃນ log ຂອງມັນ, ແລະ ສົ່ງຕໍ່ທີ່ຢູ່ທີ່ປັບໃຫ້ເປັນມາດຕະຖານແລ້ວໜຶ່ງທີ່ຢູ່ໃຫ້ກັບ Weblate.

Changed in version 2026.9: nginx ທີ່ມາພ້ອມກັນຈະບໍ່ໄວ້ວາງໃຈ X-Forwarded-For ຈາກທຸກທີ່ຢູ່ເຄືອຂ່າຍອີກຕໍ່ໄປ. ທີ່ຢູ່ proxy ທີ່ໜ້າເຊື່ອຖືຕ້ອງໄດ້ຮັບການຕັ້ງຄ່າຢ່າງຈະແຈ້ງ.

Note

ຮູບແບບຕ້ອງສອດຄ່ອງກັບຄວາມຄາດຫວັງຂອງ Django. Django ແປງ ຊື່ Raw HTTP header ດັ່ງນີ້:

  • ປ່ຽນຕົວອັກສອນທັງໝົດເປັນຕົວພິມໃຫຍ່

  • ປ່ຽນເຄື່ອງໝາຍ Hyphens ເປັນ Underscores

  • ເຕີມຄຳນຳໜ້າ HTTP_

ດັ່ງນັ້ນ X-Forwarded-For ຈະຖືກແປງເປັນ HTTP_X_FORWARDED_FOR.

ຕົວຢ່າງ:

environment:
  WEBLATE_IP_PROXY_HEADER: HTTP_X_FORWARDED_FOR
  WEBLATE_TRUSTED_PROXY_ADDRESSES: "192.0.2.10 2001:db8::/64 proxy"
WEBLATE_TRUSTED_PROXY_ADDRESSES

Added in version 2026.9.

ຕັ້ງຄ່າທີ່ຢູ່ IPv4 ຫຼື IPv6, ເຄືອຂ່າຍ ຫຼື ຊື່ໂຮສຂອງ reverse proxies ທີ່ nginx ທີ່ມາພ້ອມກັນໄວ້ວາງໃຈ ເພື່ອສົ່ງຄ່າ X-Forwarded-For. ແຍກຫຼາຍຄ່າດ້ວຍການເວັ້ນວ່າງ.

ການຕັ້ງຄ່ານີ້ຈະຖືກໃຊ້ເມື່ອ WEBLATE_IP_PROXY_HEADER ເປັນ HTTP_X_FORWARDED_FOR ເທົ່ານັ້ນ. ຫາກລາຍການຫວ່າງເປົ່າ, nginx ຈະໃຊ້ TCP peer ທີ່ເຊື່ອມຕໍ່ໂດຍກົງໃນ log ຂອງມັນ ແລະ ສົ່ງທີ່ຢູ່ນັ້ນໃຫ້ Weblate.

ໃຫ້ລະບຸສະເພາະ proxy ທີ່ຢູ່ພາຍໃຕ້ການຄວບຄຸມຂອງທ່ານເທົ່ານັ້ນ, ແລະ ຫ້າມເປີດເຜີຍຄອນເທນເນີ Weblate ຜ່ານເສັ້ນທາງທີ່ຂ້າມພວກມັນ.

ຕົວຢ່າງ:

environment:
  WEBLATE_IP_PROXY_HEADER: HTTP_X_FORWARDED_FOR
  WEBLATE_TRUSTED_PROXY_ADDRESSES: "192.0.2.10 2001:db8::/64 proxy"
WEBLATE_IP_PROXY_OFFSET

Added in version 5.0.1.

ຕັ້ງຄ່າ IP_PROXY_OFFSET.

ເມື່ອ WEBLATE_IP_PROXY_HEADER ເປັນ HTTP_X_FORWARDED_FOR, nginx ທີ່ມາພ້ອມກັນຈະສົ່ງຕໍ່ທີ່ຢູ່ມາດຕະຖານໜຶ່ງທີ່ຢູ່ ແລະ ຄອນເທນເນີຈະໃຊ້ offset ທີ່ເປັນ 0.

WEBLATE_USE_X_FORWARDED_PORT

Added in version 5.0.1.

Boolean ທີ່ລະບຸວ່າຈະໃຊ້ Header X-Forwarded-Port ແທນຕົວແປ SERVER_PORT META ຫຼືບໍ່. ສິ່ງນີ້ຄວນເປີດໃຊ້ເມື່ອມີ Proxy ທີ່ຕັ້ງ Header ນີ້ຢູ່ເທົ່ານັ້ນ.

Note

ນີ້ແມ່ນການຕັ້ງຄ່າ Boolean (ໃຊ້ "true" ຫຼື "false").

WEBLATE_SECURE_PROXY_SSL_HEADER

Tuple ທີ່ເປັນຕົວແທນຂອງການປະສົມ HTTP header/value ທີ່ລະບຸວ່າ Request ມີຄວາມປອດໄພ. ສິ່ງນີ້ຈຳເປັນເມື່ອ Weblate ແລ່ນຢູ່ຫຼັງ Reverse proxy ທີ່ເຮັດ SSL termination ເຊິ່ງບໍ່ໄດ້ສົ່ງ Standard HTTPS headers.

ຕົວຢ່າງ:

environment:
  WEBLATE_SECURE_PROXY_SSL_HEADER: HTTP_X_FORWARDED_PROTO,https
WEBLATE_REQUIRE_LOGIN

ເປີດໃຊ້ REQUIRE_LOGIN ເພື່ອກຳນົດການຢືນຢັນຕົວຕົນໃນທົ່ວ Weblate.

ຕົວຢ່າງ:

environment:
  WEBLATE_REQUIRE_LOGIN: 1

ເປີດໃຊ້ໂມດູນ ໂມດູນທາງກົດໝາຍ ໃນ Docker deployments. ໂດຍຄ່າເລີ່ມຕົ້ນ, Integration ຈະຖືກປິດ; ໃຫ້ປ່ອຍໃຫ້ Variable ນີ້ຫວ່າງໄວ້ ຫຼື ບໍ່ຕັ້ງຄ່າເພື່ອປິດມັນ.

ຄ່າທີ່ຮອງຮັບແມ່ນ:

  • tos-confirm ເພື່ອເປີດໃຊ້ໂມດູນທາງກົດໝາຍ ແລະ ບັງຄັບໃຊ້ການຢືນຢັນເອກະສານທາງກົດໝາຍໃນລະຫວ່າງການຢືນຢັນຕົວຕົນຜ່ານສື່ສັງຄົມອອນລາຍ ແລະ ສຳລັບຜູ້ໃຊ້ທີ່ເຂົ້າສູ່ລະບົບແລ້ວ.

  • wllegal ເພື່ອເປີດໃຊ້ Integration ດຽວກັນ ແລະ ໂຫຼດ Legal document templates ຈາກ wllegal. Templates ເຫຼົ່ານີ້ຖືກໃຊ້ໂດຍບໍລິການທີ່ເບິ່ງແຍງໂດຍ Weblate s.r.o. ແລະ ບໍ່ໄດ້ມີໄວ້ສຳລັບການໃຊ້ງານທົ່ວໄປ.

ເພື່ອສະໜອງເອກະສານກົດໝາຍຂອງທ່ານເອງໃນ Docker, ໃຫ້ Override templates ໃນ /app/data/python/customize/templates/legal/documents, ເບິ່ງ ການປ່ຽນໂລໂກ້ ແລະ ໄຟລ໌ static ອື່ນໆ.

ສ້າງ Docker container ໃໝ່ຫຼັງຈາກປ່ຽນແປງ Environment variable ນີ້, ຕົວຢ່າງໂດຍໃຊ້ docker compose up -d. ການ Restart container ທີ່ມີຢູ່ຈະບໍ່ນຳໃຊ້ຄ່າ Environment ທີ່ປ່ຽນແປງໄປ.

ຕົວຢ່າງ:

environment:
  WEBLATE_LEGAL_INTEGRATION: tos-confirm

ຕັ້ງຄ່າ LEGAL_DOCUMENT_CSS_CLASS ໃນ Docker deployments ທີ່ເປີດໃຊ້ WEBLATE_LEGAL_INTEGRATION.

ຕັ້ງຄ່ານີ້ໃຫ້ເປັນຄລາສ (class) ທີ່ກຳນົດໄວ້ໃນໄຟລ໌ຮູບແບບ (stylesheet) ທາງກົດໝາຍແບບກຳນົດເອງຂອງທ່ານ. ຕັ້ງເປັນຄ່າວ່າງຫາກຕ້ອງການສະແດງເອກະສານທາງກົດໝາຍໂດຍບໍ່ມີ wrapper class.

ຕົວຢ່າງ:

environment:
  WEBLATE_LEGAL_DOCUMENT_CSS_CLASS: ""

ຕັ້ງຄ່າ LEGAL_HIDDEN_DOCUMENTS ໃນ Docker deployments ທີ່ເປີດໃຊ້ WEBLATE_LEGAL_INTEGRATION.

ໃຫ້ລະບຸລາຍຊື່ຂອງ Page identifiers ຂອງເອກະສານກົດໝາຍໂດຍແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ.

ເອກະສານທາງກົດໝາຍພາຍນອກຈະຖືກໃຊ້ເປັນຕົວສຳຮອງສຳລັບໜ້າພາຍໃນທີ່ຖືກເຊື່ອງໄວ້. ການຕັ້ງຄ່າຕໍ່ໄປນີ້ຈະເຊື່ອມໂຍງທັງສອງເອກະສານໄປຫາພາຍນອກ ແລະ ຮຽກຮ້ອງໃຫ້ມີການຕົກລົງພຽງຄັ້ງດຽວ ທີ່ຄວບຄຸມທັງເງື່ອນໄຂການບໍລິການ ແລະ ນະໂຍບາຍຄວາມເປັນສ່ວນຕົວ:

ຕົວຢ່າງ:

environment:
  WEBLATE_LEGAL_INTEGRATION: tos-confirm
  WEBLATE_LEGAL_HIDDEN_DOCUMENTS: terms,privacy
  WEBLATE_LEGAL_URL: https://example.com/terms/
  WEBLATE_PRIVACY_URL: https://example.com/privacy/
WEBLATE_PUBLIC_ENGAGE

ເປີດໃຊ້ PUBLIC_ENGAGE.

WEBLATE_GOOGLE_ANALYTICS_ID

ຕັ້ງຄ່າ ID ສຳລັບ Google Analytics ໂດຍການປ່ຽນ GOOGLE_ANALYTICS_ID.

WEBLATE_DEFAULT_PULL_MESSAGE

ຕັ້ງຄ່າ Title ແລະ Message ເລີ່ມຕົ້ນສຳລັບ Pull requests ຜ່ານ API ໂດຍການປ່ຽນ DEFAULT_PULL_MESSAGE.

WEBLATE_SIMPLIFY_LANGUAGES

ຕັ້ງຄ່າ Policy ການເຮັດໃຫ້ພາສາງ່າຍຂຶ້ນ, ເບິ່ງ SIMPLIFY_LANGUAGES.

WEBLATE_HIDE_SHARED_GLOSSARY_COMPONENTS

ຊ່ອນ Glossary components ເມື່ອຖືກແບ່ງປັນໄປຍັງ Project ອື່ນ, ເບິ່ງ HIDE_SHARED_GLOSSARY_COMPONENTS.

WEBLATE_DEFAULT_ACCESS_CONTROL

ຕັ້ງຄ່າ ການຄວບຄຸມການເຂົ້າເຖິງ ເລີ່ມຕົ້ນສຳລັບ Project ໃໝ່, ເບິ່ງ DEFAULT_ACCESS_CONTROL.

WEBLATE_DEFAULT_TRANSLATION_REVIEW

Added in version 5.16.

ກຳນົດຄ່າເລີ່ມຕົ້ນສຳລັບ ເປີດໃຊ້ການກວດສອບ (Reviews), ປິດໄວ້ໂດຍຄ່າເລີ່ມຕົ້ນ.

WEBLATE_DEFAULT_SOURCE_REVIEW

Added in version 5.16.

ກຳນົດຄ່າເລີ່ມຕົ້ນສຳລັບ ເປີດໃຊ້ການກວດສອບຕົ້ນສະບັບ, ປິດໄວ້ໂດຍຄ່າເລີ່ມຕົ້ນ.

WEBLATE_DEFAULT_RESTRICTED_COMPONENT

ຕັ້ງຄ່າຄ່າເລີ່ມຕົ້ນສຳລັບ ການເຂົ້າເຖິງແບບຈໍາກັດ ສຳລັບ Component ໃໝ່, ເບິ່ງ DEFAULT_RESTRICTED_COMPONENT.

WEBLATE_DEFAULT_TRANSLATION_PROPAGATION

ຕັ້ງຄ່າຄ່າເລີ່ມຕົ້ນສຳລັບ ອະນຸຍາດການກະຈາຍການແປ ສຳລັບ Component ໃໝ່, ເບິ່ງ DEFAULT_TRANSLATION_PROPAGATION.

WEBLATE_DEFAULT_COMMITER_EMAIL

ຕັ້ງຄ່າ DEFAULT_COMMITER_EMAIL.

WEBLATE_DEFAULT_COMMITER_NAME

ຕັ້ງຄ່າ DEFAULT_COMMITER_NAME.

WEBLATE_DEFAULT_SHARED_TM

ຕັ້ງຄ່າ DEFAULT_SHARED_TM.

WEBLATE_DEFAULT_AUTOCLEAN_TM

ຕັ້ງຄ່າ DEFAULT_AUTOCLEAN_TM.

WEBLATE_COMMIT_PENDING_HOURS

ຕັ້ງຄ່າຄ່າເລີ່ມຕົ້ນສຳລັບ ອາຍຸຂອງການປ່ຽນແປງທີ່ຈະ commit ສຳລັບ Component ໃໝ່, ເບິ່ງ COMMIT_PENDING_HOURS.

WEBLATE_GPG_IDENTITY

ຕັ້ງຄ່າ GPG signing ຂອງ Commits, ເບິ່ງ WEBLATE_GPG_IDENTITY.

WEBLATE_URL_PREFIX

Configures URL prefix where Weblate is running, see URL_PREFIX. Leave it empty to serve Weblate at the root, or use slash-separated path segments starting with a slash, for example /translations or /tools/translations. Each segment can contain ASCII letters, digits, _, and -.

WEBLATE_STATIC_URL

ຕັ້ງຄ່າ URL prefix ສຳລັບໄຟລ໌ Static ທີ່ໃຫ້ບໍລິການຈາກ CACHE_DIR.

WEBLATE_SILENCED_SYSTEM_CHECKS

ຕັ້ງຄ່າການກວດສອບທີ່ເຈົ້າບໍ່ຕ້ອງການໃຫ້ສະແດງ, ເບິ່ງ 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

ອະນຸຍາດໃຫ້ປັບແຕ່ງ HTTP header Content-Security-Policy.

WEBLATE_LICENSE_FILTER

ຕັ້ງຄ່າ LICENSE_FILTER.

WEBLATE_LICENSE_REQUIRED

ຕັ້ງຄ່າ LICENSE_REQUIRED.

WEBLATE_WEBSITE_REQUIRED

ຕັ້ງຄ່າ WEBSITE_REQUIRED.

WEBLATE_VERSION_DISPLAY

ຕັ້ງຄ່າ VERSION_DISPLAY.

WEBLATE_HIDE_VERSION

ຕັ້ງຄ່າ HIDE_VERSION.

WEBLATE_BASIC_LANGUAGES

ຕັ້ງຄ່າ BASIC_LANGUAGES.

WEBLATE_DEFAULT_AUTO_WATCH

ຕັ້ງຄ່າ DEFAULT_AUTO_WATCH.

WEBLATE_RATELIMIT_ATTEMPTS
WEBLATE_RATELIMIT_LOCKOUT
WEBLATE_RATELIMIT_WINDOW

Added in version 4.6.

ຕັ້ງຄ່າ Rate limiter.

Hint

ເຈົ້າສາມາດຕັ້ງຄ່າສຳລັບ Rate limiter scopes ໃດກໍໄດ້. ເພື່ອເຮັດສິ່ງນັ້ນ ໃຫ້ຕື່ມຄຳນຳໜ້າ WEBLATE_ ໃສ່ໃນ Setting ໃດກໍໄດ້ທີ່ອະທິບາຍໄວ້ໃນ ການຈຳກັດອັດຕາ.

WEBLATE_API_RATELIMIT_ANON
WEBLATE_API_RATELIMIT_USER

Added in version 4.11.

Configures API_RATELIMIT_ANON and API_RATELIMIT_USER. Defaults to 100/day for anonymous and 5000/hour for authenticated users.

WEBLATE_API_RATELIMIT_USER_OVERRIDES
WEBLATE_API_RATELIMIT_IP_OVERRIDES

Added in version 2026.10.

JSON mappings configuring API_RATELIMIT_USER_OVERRIDES and API_RATELIMIT_IP_OVERRIDES. Both default to empty objects. Use JSON null to exempt a user, IP address, or network from API throttling.

For example, in compose.override.yaml:

services:
  weblate:
    environment:
      WEBLATE_API_RATELIMIT_USER_OVERRIDES: '{"automation":"20000/hour"}'
      WEBLATE_API_RATELIMIT_IP_OVERRIDES: '{"192.0.2.42":null,"198.51.100.0/24":"10000/hour"}'

Username rules take precedence over IP rules. See ການຈຳກັດອັດຕາ API for counting behavior and proxy configuration requirements.

WEBLATE_ENABLE_HOOKS

Added in version 4.13.

ຕັ້ງຄ່າ ENABLE_HOOKS.

WEBLATE_ENABLE_AVATARS

Added in version 4.6.1.

ຕັ້ງຄ່າ ENABLE_AVATARS.

WEBLATE_AVATAR_URL_PREFIX

Added in version 4.15.

ຕັ້ງຄ່າ AVATAR_URL_PREFIX.

WEBLATE_AVATAR_URL_TEMPLATE

Added in version 2026.10.

Configures AVATAR_URL_TEMPLATE.

WEBLATE_LIMIT_TRANSLATION_LENGTH_BY_SOURCE_LENGTH

Added in version 4.9.

ຕັ້ງຄ່າ LIMIT_TRANSLATION_LENGTH_BY_SOURCE_LENGTH.

WEBLATE_SSH_EXTRA_ARGS

Added in version 4.9.

ຕັ້ງຄ່າ SSH_EXTRA_ARGS.

WEBLATE_BORG_EXTRA_ARGS

Added in version 4.9.

ຕັ້ງຄ່າ BORG_EXTRA_ARGS ເປັນລາຍຊື່ Args ທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ.

ຕົວຢ່າງ:

environment:
  WEBLATE_BORG_EXTRA_ARGS: --exclude,vcs/
WEBLATE_ENABLE_SHARING

Added in version 4.14.1.

ຕັ້ງຄ່າ ENABLE_SHARING.

WEBLATE_SUPPORT_STATUS_CHECK

Added in version 5.5.

ຕັ້ງຄ່າ SUPPORT_STATUS_CHECK.

WEBLATE_EXTRA_HTML_HEAD

Added in version 4.15.

ຕັ້ງຄ່າ EXTRA_HTML_HEAD.

WEBLATE_INTERNAL_BOT_EMAIL_TEMPLATE

Added in version 2026.7.1.

ຕັ້ງຄ່າ INTERNAL_BOT_EMAIL_TEMPLATE.

WEBLATE_PRIVATE_COMMIT_EMAIL_TEMPLATE

Added in version 4.15.

ຕັ້ງຄ່າ PRIVATE_COMMIT_EMAIL_TEMPLATE.

WEBLATE_PRIVATE_COMMIT_EMAIL_OPT_IN

Added in version 4.15.

ຕັ້ງຄ່າ PRIVATE_COMMIT_EMAIL_OPT_IN.

WEBLATE_PRIVATE_COMMIT_NAME_TEMPLATE

Added in version 5.16.

ຕັ້ງຄ່າ PRIVATE_COMMIT_NAME_TEMPLATE.

WEBLATE_PRIVATE_COMMIT_NAME_OPT_IN

Added in version 5.16.

ຕັ້ງຄ່າ PRIVATE_COMMIT_NAME_OPT_IN.

WEBLATE_UNUSED_ALERT_DAYS

Added in version 4.17.

ຕັ້ງຄ່າ UNUSED_ALERT_DAYS.

WEBLATE_REPORT_EXPIRY

Added in version 2026.8.

ຕັ້ງຄ່າ REPORT_EXPIRY.

WEBLATE_UPDATE_LANGUAGES

Added in version 4.3.2.

ຕັ້ງຄ່າ UPDATE_LANGUAGES.

WEBLATE_VCS_ALLOW_HOSTS

Added in version 5.15.

ຕັ້ງຄ່າ VCS_ALLOW_HOSTS.

WEBLATE_VCS_PRIVATE_ALLOWLIST

Added in version 2026.9.

Configures VCS_PRIVATE_ALLOWLIST.

WEBLATE_VCS_ALLOW_SCHEMES

Added in version 5.15.

ຕັ້ງຄ່າ VCS_ALLOW_SCHEMES.

WEBLATE_VCS_RESTRICT_PRIVATE

Added in version 5.17.

ຕັ້ງຄ່າ VCS_RESTRICT_PRIVATE.

WEBLATE_VCS_CLONE_DEPTH

Added in version 5.4.

ຕັ້ງຄ່າ VCS_CLONE_DEPTH.

WEBLATE_VCS_API_DELAY

Added in version 5.4.

ຕັ້ງຄ່າ VCS_API_DELAY.

WEBLATE_VCS_API_TIMEOUT

Added in version 5.15.

ຕັ້ງຄ່າ VCS_API_TIMEOUT.

WEBLATE_CORS_ALLOWED_ORIGINS

Added in version 4.16.

ອະນຸຍາດ CORS requests ໄປຍັງ API ຈາກ Origins ທີ່ລະບຸ.

ຕົວຢ່າງ:

environment:
  WEBLATE_CORS_ALLOWED_ORIGINS: https://example.com,https://weblate.org
WEBLATE_CORS_ALLOW_ALL_ORIGINS

Added in version 5.6.1: ອະນຸຍາດ CORS requests ໄປຍັງ API ຈາກທຸກ Origins.

WEBLATE_WEBSITE_ALERTS_ENABLED

Added in version 5.17.

ຕັ້ງຄ່າ WEBSITE_ALERTS_ENABLED.

CLIENT_MAX_BODY_SIZE

Added in version 4.16.3.

Configures maximal body size accepted by the built-in web server. Use a non-negative integer with an optional k, m, or g suffix. The suffix is case-insensitive, and 0 disables the request body size limit.

environment:
    CLIENT_MAX_BODY_SIZE: 200m

Hint

ຕົວແປນີ້ບໍ່ມີ WEBLATE_ ນຳໜ້າໂດຍເຈດຕະນາ ເພາະມັນຖືກໃຊ້ຮ່ວມກັບຄອນເທນເນີຂອງພາກສ່ວນທີສາມທີ່ໃຊ້ໃນ ໃບຢັ້ງຢືນ SSL ອັດຕະໂນມັດໂດຍໃຊ້ Let’s Encrypt.

WEBLATE_TRANSLATION_UPLOAD_MAX_SIZE

ຕັ້ງຄ່າ TRANSLATION_UPLOAD_MAX_SIZE.

ຄ່າທີ່ໃຊ້ແມ່ນເປັນໄບຕ໌.

WEBLATE_COMPONENT_ZIP_UPLOAD_MAX_SIZE

ຕັ້ງຄ່າ COMPONENT_ZIP_UPLOAD_MAX_SIZE.

ຄ່າທີ່ໃຊ້ແມ່ນເປັນໄບຕ໌.

WEBLATE_PROJECT_BACKUP_UPLOAD_MAX_SIZE

ຕັ້ງຄ່າ PROJECT_BACKUP_UPLOAD_MAX_SIZE.

ຄ່າທີ່ໃຊ້ແມ່ນເປັນໄບຕ໌. ກວດສອບໃຫ້ແນ່ໃຈວ່າ CLIENT_MAX_BODY_SIZE ມີຂະໜາດໃຫຍ່ພຽງພໍສຳລັບໄຟລ໌ສຳຮອງຂໍ້ມູນທີ່ອັບໂຫຼດ.

WEBLATE_PROJECT_BACKUP_IMPORT_MAX_MEMBERS

Added in version 2026.5.

ຕັ້ງຄ່າ PROJECT_BACKUP_IMPORT_MAX_MEMBERS.

WEBLATE_PROJECT_BACKUP_IMPORT_MAX_TOTAL_UNCOMPRESSED_SIZE

Added in version 2026.5.

ຕັ້ງຄ່າ PROJECT_BACKUP_IMPORT_MAX_TOTAL_UNCOMPRESSED_SIZE.

ຄ່າທີ່ໃຊ້ແມ່ນເປັນໄບຕ໌.

WEBLATE_PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_SIZE

Added in version 2026.5.

ຕັ້ງຄ່າ PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_SIZE.

ຄ່າທີ່ໃຊ້ແມ່ນເປັນໄບຕ໌.

WEBLATE_PROJECT_BACKUP_IMPORT_MIN_RATIO_SIZE

Added in version 2026.5.

ຕັ້ງຄ່າ PROJECT_BACKUP_IMPORT_MIN_RATIO_SIZE.

ຄ່າທີ່ໃຊ້ແມ່ນເປັນໄບຕ໌.

WEBLATE_PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_RATIO

Added in version 2026.5.

ຕັ້ງຄ່າ PROJECT_BACKUP_IMPORT_MAX_COMPRESSED_ENTRY_RATIO.

ຂໍ້ມູນຢືນຢັນຕົວຕົນສຳລັບເວັບໄຊຝາກໂຄ້ດ

ໃນ Docker container, ຂໍ້ມູນຢືນຢັນຕົວຕົນສຳລັບການຝາກໂຄ້ດສາມາດຕັ້ງຄ່າໄດ້ທັງແບບແຍກຕົວປ່ຽນ ຫຼື ໃຊ້ Python dictionary ເພື່ອຕັ້ງຄ່າທັງໝົດໃນເທື່ອດຽວ. ຕົວຢ່າງຕໍ່ໄປນີ້ແມ່ນສຳລັບ GitHub Pull request, ແຕ່ສາມາດໃຊ້ໄດ້ກັບທຸກໆ ການເຊື່ອມຕໍ່ກັບລະບົບຄວບຄຸມເວີຊັນ ໂດຍການປ່ຽນຊື່ຕົວປ່ຽນໃຫ້ເໝາະສົມ.

Important

ຊື່ຕົວແປສະພາບແວດລ້ອມທັງໝົດຕ້ອງມີ WEBLATE_ ນຳໜ້າ. ຕົວຢ່າງ, ເພື່ອຕັ້ງຄ່າຂໍ້ມູນຢັ້ງຢືນຂອງ GitHub, ໃຫ້ໃຊ້ WEBLATE_GITHUB_USERNAME ບໍ່ແມ່ນ GITHUB_USERNAME. ນີ້ໃຊ້ໄດ້ບໍ່ວ່າຈະເປັນການຕັ້ງຄ່າສຳລັບ pull requests ຫຼື ການເຊື່ອມຕໍ່ VCS ອື່ນໆ.

ຕົວຢ່າງການຕັ້ງຄ່າສຳລັບ GitHub pull requests ອາດຈະມີລັກສະນະດັ່ງນີ້:

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

ຈະຖືກໃຊ້ເປັນ:

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

ນອກຈາກນີ້, ຍັງສາມາດລະບຸ Python dictionary ເປັນສະຕຣິງໄດ້:

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

ຫຼື ລະບຸເສັ້ນທາງໄປຫາໄຟລ໌ທີ່ມີ Python dictionary:

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

ຕັ້ງຄ່າ GitHub Pull request ໂດຍການປ່ຽນແປງ GITHUB_CREDENTIALS.

WEBLATE_GITHUB_LEGACY_APP_WEBHOOK_SECRET

Added in version 2026.8.

ຕັ້ງຄ່າ GITHUB_LEGACY_APP_WEBHOOK_SECRET. ຕົວປ່ຽນແບບ _FILE ສາມາດໃຊ້ເພື່ອໂຫຼດຄ່າ secret ຈາກໄຟລ໌ໄດ້.

GitHub Apps ທີ່ລົງທະບຽນຜ່ານລະບົບ manifest ພາຍໃນແອັບຈະຖືກເກັບໄວ້ໃນຖານຂໍ້ມູນ ແລະ ບໍ່ຈຳເປັນຕ້ອງໃຊ້ຕົວປ່ຽນສະພາບແວດລ້ອມ. ເບິ່ງທີ່ ການແຈ້ງເຕືອນ GitHub.

WEBLATE_GITLAB_USERNAME
WEBLATE_GITLAB_TOKEN
WEBLATE_GITLAB_HOST
WEBLATE_GITLAB_CREDENTIALS

ຕັ້ງຄ່າ GitLab Merge request ໂດຍການປ່ຽນແປງ GITLAB_CREDENTIALS.

WEBLATE_GITEA_USERNAME
WEBLATE_GITEA_TOKEN
WEBLATE_GITEA_HOST
WEBLATE_GITEA_CREDENTIALS

ຕັ້ງຄ່າ Gitea Pull request ໂດຍການປ່ຽນແປງ GITEA_CREDENTIALS.

WEBLATE_PAGURE_USERNAME
WEBLATE_PAGURE_TOKEN
WEBLATE_PAGURE_HOST
WEBLATE_PAGURE_CREDENTIALS

ຕັ້ງຄ່າ Pagure Merge request ໂດຍການປ່ຽນແປງ PAGURE_CREDENTIALS.

WEBLATE_BITBUCKETSERVER_USERNAME
WEBLATE_BITBUCKETSERVER_TOKEN
WEBLATE_BITBUCKETSERVER_HOST
WEBLATE_BITBUCKETSERVER_CREDENTIALS

ຕັ້ງຄ່າ Bitbucket Data Center Pull request ໂດຍການປ່ຽນແປງ BITBUCKETSERVER_CREDENTIALS.

WEBLATE_BITBUCKETCLOUD_USERNAME
WEBLATE_BITBUCKETCLOUD_WORKSPACE
WEBLATE_BITBUCKETCLOUD_TOKEN
WEBLATE_BITBUCKETCLOUD_HOST
WEBLATE_BITBUCKETCLOUD_CREDENTIALS

ຕັ້ງຄ່າ Bitbucket Cloud Pull request ໂດຍການປ່ຽນແປງ BITBUCKETCLOUD_CREDENTIALS.

WEBLATE_AZURE_DEVOPS_USERNAME
WEBLATE_AZURE_DEVOPS_ORGANIZATION
WEBLATE_AZURE_DEVOPS_TOKEN
WEBLATE_AZURE_DEVOPS_HOST
WEBLATE_AZURE_DEVOPS_CREDENTIALS

ຕັ້ງຄ່າ Azure DevOps Pull request ໂດຍການປ່ຽນແປງ AZURE_DEVOPS_CREDENTIALS.

ການຕັ້ງຄ່າຄຳແນະນຳອັດຕະໂນມັດ

Changed in version 4.13: ການບໍລິການຄຳແນະນຳອັດຕະໂນມັດໃນປັດຈຸບັນສາມາດຕັ້ງຄ່າໄດ້ໃນອິນເຕີເຟດຜູ້ໃຊ້, ເບິ່ງ ຄຳແນະນຳອັດຕະໂນມັດ.

ຕົວແປສະພາບແວດລ້ອມທີ່ມີຢູ່ຈະຖືກນຳເຂົ້າໃນລະຫວ່າງການຍົກລະດັບໄປສູ່ Weblate 4.13, ແຕ່ການປ່ຽນແປງພວກມັນຈະບໍ່ສົ່ງຜົນໃດໆອີກຕໍ່ໄປ.

ການຕັ້ງຄ່າການຢັ້ງຢືນຕົວຕົນ

Hint

ການຢັ້ງຢືນຕົວຕົນດ້ວຍອີເມວຈະຖືກເປີດໃຊ້ງານ ຍົກເວັ້ນແຕ່ຈະຖືກປິດໂດຍ 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_FILTER
WEBLATE_AUTH_LDAP_USER_SEARCH_UNION
WEBLATE_AUTH_LDAP_USER_SEARCH_UNION_DELIMITER

ການຕັ້ງຄ່າການຢັ້ງຢືນຕົວຕົນດ້ວຍ LDAP.

ຕົວຢ່າງສຳລັບການຜູກມັດໂດຍກົງ (direct bind):

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

ຕົວຢ່າງສຳລັບການຄົ້ນຫາແລະຜູກມັດ (search and bind):

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

ຕົວຢ່າງສຳລັບການຄົ້ນຫາແລະຜູກມັດແບບລວມ (union search and bind):

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

ຕົວຢ່າງກັບການຄົ້ນຫາແລະຜູກມັດຕໍ່ Active Directory:

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

GitHub

WEBLATE_SOCIAL_AUTH_GITHUB_KEY
WEBLATE_SOCIAL_AUTH_GITHUB_SECRET
WEBLATE_SOCIAL_AUTH_GITHUB_ORG_KEY
WEBLATE_SOCIAL_AUTH_GITHUB_ORG_SECRET
WEBLATE_SOCIAL_AUTH_GITHUB_ORG_NAME
WEBLATE_SOCIAL_AUTH_GITHUB_TEAM_KEY
WEBLATE_SOCIAL_AUTH_GITHUB_TEAM_SECRET
WEBLATE_SOCIAL_AUTH_GITHUB_TEAM_ID

ເປີດໃຊ້ ການຢືນຢັນຕົວຕົນ GitHub.

GitHub Enterprise Edition

WEBLATE_SOCIAL_AUTH_GITHUB_ENTERPRISE_KEY
WEBLATE_SOCIAL_AUTH_GITHUB_ENTERPRISE_SECRET
WEBLATE_SOCIAL_AUTH_GITHUB_ENTERPRISE_URL
WEBLATE_SOCIAL_AUTH_GITHUB_ENTERPRISE_API_URL
WEBLATE_SOCIAL_AUTH_GITHUB_ENTERPRISE_SCOPE

ເປີດໃຊ້ ການຢືນຢັນຕົວຕົນ GitHub EE.

Bitbucket

WEBLATE_SOCIAL_AUTH_BITBUCKET_OAUTH2_KEY
WEBLATE_SOCIAL_AUTH_BITBUCKET_OAUTH2_SECRET

ເປີດໃຊ້ ການຢືນຢັນຕົວຕົນ Bitbucket.

Facebook

WEBLATE_SOCIAL_AUTH_FACEBOOK_KEY
WEBLATE_SOCIAL_AUTH_FACEBOOK_SECRET

ເປີດໃຊ້ Facebook OAuth 2.

Google

WEBLATE_SOCIAL_AUTH_GOOGLE_OAUTH2_KEY
WEBLATE_SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET
WEBLATE_SOCIAL_AUTH_GOOGLE_OAUTH2_WHITELISTED_DOMAINS
WEBLATE_SOCIAL_AUTH_GOOGLE_OAUTH2_WHITELISTED_EMAILS

ເປີດໃຊ້ Google OAuth 2.

GitLab

WEBLATE_SOCIAL_AUTH_GITLAB_KEY
WEBLATE_SOCIAL_AUTH_GITLAB_SECRET
WEBLATE_SOCIAL_AUTH_GITLAB_API_URL

ເປີດໃຊ້ GitLab OAuth 2.

Gitea

WEBLATE_SOCIAL_AUTH_GITEA_API_URL
WEBLATE_SOCIAL_AUTH_GITEA_KEY
WEBLATE_SOCIAL_AUTH_GITEA_SECRET

ເປີດໃຊ້ການຢັ້ງຢືນຕົວຕົນ Gitea.

Microsoft Entra ID

WEBLATE_SOCIAL_AUTH_AZUREAD_OAUTH2_KEY
WEBLATE_SOCIAL_AUTH_AZUREAD_OAUTH2_SECRET

ເປີດໃຊ້ການຢັ້ງຢືນຕົວຕົນ Microsoft Entra ID, ເບິ່ງ Microsoft Entra ID.

Microsoft Entra ID ພ້ອມການຮອງຮັບ Tenant

WEBLATE_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_KEY
WEBLATE_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_SECRET
WEBLATE_SOCIAL_AUTH_AZUREAD_TENANT_OAUTH2_TENANT_ID

ເປີດໃຊ້ການຢັ້ງຢືນຕົວຕົນ Microsoft Entra ID ພ້ອມການຮອງຮັບ Tenant, ເບິ່ງ Microsoft Entra ID.

Keycloak

WEBLATE_SOCIAL_AUTH_KEYCLOAK_KEY
WEBLATE_SOCIAL_AUTH_KEYCLOAK_SECRET
WEBLATE_SOCIAL_AUTH_KEYCLOAK_PUBLIC_KEY
WEBLATE_SOCIAL_AUTH_KEYCLOAK_ALGORITHM
WEBLATE_SOCIAL_AUTH_KEYCLOAK_AUTHORIZATION_URL
WEBLATE_SOCIAL_AUTH_KEYCLOAK_ACCESS_TOKEN_URL
WEBLATE_SOCIAL_AUTH_KEYCLOAK_TITLE
WEBLATE_SOCIAL_AUTH_KEYCLOAK_IMAGE

ເປີດໃຊ້ການຢັ້ງຢືນຕົວຕົນ Keycloak, ເບິ່ງ Keycloak - Open Source Red Hat SSO.

WEBLATE_SOCIAL_AUTH_KEYCLOAK_ID_KEY

Added in version 5.17.

ຕັ້ງຄ່າວ່າການອ້າງສິດ (claim) ໃດຖືກໃຊ້ເປັນຕົວລະບຸຜູ້ໃຊ້ທີ່ບໍ່ຊໍ້ກັນຈາກ Keycloak. ຄ່າເລີ່ມຕົ້ນແມ່ນ email.

Hint

ເມື່ອ Keycloak ຖືກຕັ້ງຄ່າໃຫ້ເປັນຕົວແທນ (abstract) ໃຫ້ກັບ IDP ຂອງພາກສ່ວນທີສາມ, ທ່ານຈະຕ້ອງຕັ້ງຄ່າ WEBLATE_CSP_FORM_SRC ສຳລັບໂດເມນ IDP ຂອງພາກສ່ວນທີສາມນັ້ນ.

ຕົວຢ່າງເມື່ອ Keycloak ສົ່ງຕໍ່ການຢັ້ງຢືນຕົວຕົນໄປຍັງ Microsoft.
environment:
  WEBLATE_CSP_FORM_SRC: login.microsoftonline.com

ຜູ້ໃຫ້ບໍລິການ Linux

ທ່ານສາມາດເປີດໃຊ້ການຢັ້ງຢືນຕົວຕົນໂດຍໃຊ້ບໍລິການຢັ້ງຢືນຕົວຕົນຂອງຜູ້ໃຫ້ບໍລິການ Linux ໄດ້ ໂດຍການຕັ້ງຄ່າຕົວແປຕໍ່ໄປນີ້ໃຫ້ເປັນຄ່າໃດກໍໄດ້.

WEBLATE_SOCIAL_AUTH_FEDORA
WEBLATE_SOCIAL_AUTH_OPENSUSE
WEBLATE_SOCIAL_AUTH_OPENINFRA
WEBLATE_SOCIAL_AUTH_UBUNTU

Slack

WEBLATE_SOCIAL_AUTH_SLACK_KEY
WEBLATE_SOCIAL_AUTH_SLACK_SECRET

ເປີດໃຊ້ການຢັ້ງຢືນຕົວຕົນ Slack, ເບິ່ງ 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
WEBLATE_SOCIAL_AUTH_OIDC_TITLE
WEBLATE_SOCIAL_AUTH_OIDC_IMAGE

ຕັ້ງຄ່າການເຊື່ອມຕໍ່ OpenID Connect ທົ່ວໄປ.

Fedora OpenID Connect

Added in version 5.15.

WEBLATE_SOCIAL_AUTH_FEDORA_OIDC_KEY
WEBLATE_SOCIAL_AUTH_FEDORA_OIDC_SECRET

ຕັ້ງຄ່າການເຊື່ອມຕໍ່ Fedora OpenID Connect.

See also

Fedora

SAML

ຄີ SAML ແບບ Self-signed ຈະຖືກສ້າງຂຶ້ນອັດຕະໂນມັດເມື່ອເລີ່ມຕົ້ນຄອນເທນເນີເປັນຄັ້ງທຳອິດ. ໃນກໍລະນີທີ່ທ່ານຕ້ອງການໃຊ້ຄີຂອງຕົນເອງ, ໃຫ້ວາງໄຟລ໌ໃບຢັ້ງຢືນ ແລະ ໄຟລ໌ຄີສ່ວນຕົວໄວ້ໃນ /app/data/ssl/saml.crt ແລະ /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

ການຕັ້ງຄ່າ SAML Identity Provider, ເບິ່ງ ການຢືນຢັນຕົວຕົນ SAML.

WEBLATE_SAML_SECURITY_CONFIG

Added in version 2026.6.

ການຕັ້ງຄ່າຄວາມປອດໄພ SAML ໃນຮູບແບບ JSON object, ເຊິ່ງຈະຖືກສົ່ງໄປຍັງ SOCIAL_AUTH_SAML_SECURITY_CONFIG. ຕົວຢ່າງ, ເພື່ອປິດການໃຊ້ງານ requestedAuthnContext (ທີ່ຈຳເປັນສຳລັບບາງ Identity Providers ເຊັ່ນ Microsoft Entra ID ທີ່ມີການຢັ້ງຢືນຕົວຕົນຫຼາຍຂັ້ນຕອນ):

environment:
  WEBLATE_SAML_SECURITY_CONFIG: '{"requestedAuthnContext": false}'
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.

ການຈັບຄູ່ຄຸນລັກສະນະ (attributes) ຂອງ SAML.

ການຕັ້ງຄ່າການຢັ້ງຢືນຕົວຕົນອື່ນໆ

WEBLATE_NO_EMAIL_AUTH

ປິດການຢັ້ງຢືນຕົວຕົນດ້ວຍອີເມວເມື່ອຖືກຕັ້ງຄ່າເປັນຄ່າໃດກໍໄດ້. ເບິ່ງ ການປິດການຢືນຢັນຕົວຕົນດ້ວຍລະຫັດຜ່ານ.

WEBLATE_MIN_PASSWORD_SCORE

ຄະແນນຄວາມປອດໄພລະຫັດຜ່ານຂັ້ນຕ່ຳທີ່ປະເມີນໂດຍເຄື່ອງມືປະເມີນຄວາມແຂງແກ່ນຂອງລະຫັດຜ່ານ zxcvbn. ຄ່າເລີ່ມຕົ້ນແມ່ນ 3, ຕັ້ງເປັນ 0 ເພື່ອປິດການກວດສອບຄວາມແຂງແກ່ນ.

ການຕັ້ງຄ່າຖານຂໍ້ມູນ PostgreSQL

ຖານຂໍ້ມູນຖືກສ້າງຂຶ້ນໂດຍ docker-compose.yml, ດັ່ງນັ້ນການຕັ້ງຄ່າເຫຼົ່ານີ້ຈະສົ່ງຜົນຕໍ່ທັງຄອນເທນເນີ Weblate ແລະ PostgreSQL.

POSTGRES_PASSWORD

ລະຫັດຜ່ານ PostgreSQL.

POSTGRES_USER

ຊື່ຜູ້ໃຊ້ PostgreSQL.

POSTGRES_DB

ຊື່ຖານຂໍ້ມູນ PostgreSQL.

POSTGRES_HOST

ຊື່ໂຮສຕ໌ ຫຼື ໄອພີແອັດເດຣສ໌ຂອງເຊີບເວີ PostgreSQL. ຄ່າເລີ່ມຕົ້ນແມ່ນ database.

POSTGRES_PORT

ພອດຂອງເຊີບເວີ PostgreSQL. ຄ່າເລີ່ມຕົ້ນແມ່ນບໍ່ມີ (ໃຊ້ຄ່າເລີ່ມຕົ້ນ).

POSTGRES_SSL_MODE

ຕັ້ງຄ່າວິທີການທີ່ PostgreSQL ຈັດການ SSL ໃນການເຊື່ອມຕໍ່ກັບເຊີບເວີ, ສຳລັບທາງເລືອກທີ່ເປັນໄປໄດ້ໃຫ້ເບິ່ງ ຄຳອະທິບາຍໂໝດ SSL.

POSTGRES_ALTER_ROLE

ຕັ້ງຄ່າຊື່ຂອງ PostgreSQL role ທີ່ຈະປ່ຽນແປງໃນລະຫວ່າງການຍົກລະດັບຖານຂໍ້ມູນ, ເບິ່ງ ການຕັ້ງຄ່າ Weblate ໃຫ້ໃຊ້ PostgreSQL.

ຄ່າເລີ່ມຕົ້ນແມ່ນ POSTGRES_USER.

POSTGRES_CONN_MAX_AGE

Added in version 4.8.1.

ໄລຍະເວລາຂອງການເຊື່ອມຕໍ່ຖານຂໍ້ມູນ, ເປັນຈຳນວນເຕັມຂອງວິນາທີ. ໃຊ້ 0 ເພື່ອປິດການເຊື່ອມຕໍ່ຖານຂໍ້ມູນໃນຕອນທ້າຍຂອງແຕ່ລະຄຳຮ້ອງຂໍ.

Changed in version 5.1: ພຶດຕິກຳເລີ່ມຕົ້ນແມ່ນມີການເຊື່ອມຕໍ່ຖານຂໍ້ມູນແບບຖາວອນແບບບໍ່ຈຳກັດ.

ການເປີດໃຊ້ການເຊື່ອມຕໍ່ແບບຖາວອນ ໂດຍປົກກະຕິແລ້ວຈະເຮັດໃຫ້ມີການເຊື່ອມຕໍ່ທີ່ເປີດຢູ່ຫຼາຍຂຶ້ນກັບຖານຂໍ້ມູນ. ກະລຸນາປັບການຕັ້ງຄ່າຖານຂໍ້ມູນຂອງທ່ານກ່ອນການເປີດໃຊ້ງານ.

ຕົວຢ່າງການຕັ້ງຄ່າ:

environment:
    POSTGRES_CONN_MAX_AGE: 3600
POSTGRES_DISABLE_SERVER_SIDE_CURSORS

Added in version 4.9.1.

ປິດການໃຊ້ງານ server side cursors ໃນຖານຂໍ້ມູນ. ສິ່ງນີ້ຈຳເປັນໃນບາງການຕັ້ງຄ່າ pgbouncer.

ຕົວຢ່າງການຕັ້ງຄ່າ:

environment:
    POSTGRES_DISABLE_SERVER_SIDE_CURSORS: 1
WEBLATE_DATABASES

Added in version 5.1.

ຕັ້ງເປັນ false ເພື່ອປິດການຕັ້ງຄ່າການເຊື່ອມຕໍ່ຖານຂໍ້ມູນໂດຍອີງໃສ່ສະພາບແວດລ້ອມ. ໃຊ້ ການປັບປ່ຽນການຕັ້ງຄ່າຈາກ data volume ເພື່ອຕັ້ງຄ່າການເຊື່ອມຕໍ່ຖານຂໍ້ມູນດ້ວຍຕົນເອງ.

ການຕັ້ງຄ່າການສຳຮອງຖານຂໍ້ມູນ

WEBLATE_DATABASE_BACKUP

ຕັ້ງຄ່າການດິມ (dump) ຖານຂໍ້ມູນປະຈຳວັນໂດຍໃຊ້ DATABASE_BACKUP. ຄ່າເລີ່ມຕົ້ນແມ່ນ plain.

ການຕັ້ງຄ່າເຊີບເວີ Datastore

ການໃຊ້ Valkey ຫຼື Redis ແມ່ນຈຳເປັນສຳລັບຄອນເທນເນີ Weblate ແລະ ທ່ານຕ້ອງໃຫ້ພາຣາມິເຕີການເຊື່ອມຕໍ່ເມື່ອຮັນ Weblate ໃນ Docker.

REDIS_HOST

ຊື່ໂຮສຕ໌ ຫຼື ໄອພີແອັດເດຣສ໌ຂອງເຊີບເວີ Datastore. ຄ່າເລີ່ມຕົ້ນແມ່ນ cache.

REDIS_PORT

ພອດຂອງເຊີບເວີ Datastore. ຄ່າເລີ່ມຕົ້ນແມ່ນ 6379.

REDIS_DB

ເລກຖານຂໍ້ມູນ Datastore, ຄ່າເລີ່ມຕົ້ນແມ່ນ 1.

REDIS_USER

Added in version 5.13: ຜູ້ໃຊ້ຖານຂໍ້ມູນ Datastore, ບໍ່ໄດ້ຖືກໃຊ້ໂດຍເລີ່ມຕົ້ນ.

REDIS_PASSWORD

ລະຫັດຜ່ານເຊີບເວີ Datastore, ບໍ່ໄດ້ຖືກໃຊ້ໂດຍເລີ່ມຕົ້ນ.

REDIS_TLS

ເປີດໃຊ້ການໃຊ້ SSL ສຳລັບການເຊື່ອມຕໍ່ Datastore.

REDIS_VERIFY_SSL

ສາມາດໃຊ້ເພື່ອປິດການຢັ້ງຢືນໃບຢັ້ງຢືນ SSL ສຳລັບການເຊື່ອມຕໍ່ Datastore.

ການຕັ້ງຄ່າເຊີບເວີອີເມວ

ເພື່ອໃຫ້ການສົ່ງອີເມວອອກເຮັດວຽກໄດ້, ທ່ານຈຳເປັນຕ້ອງມີເຊີບເວີອີເມວ.

ຕົວຢ່າງການຕັ້ງຄ່າ TLS:

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

ຕົວຢ່າງການຕັ້ງຄ່າ SSL:

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

ຊື່ໂຮສຕ໌ ຫຼື ໄອພີແອັດເດຣສ໌ຂອງເຊີບເວີອີເມວ.

WEBLATE_EMAIL_PORT

ພອດຂອງເຊີບເວີອີເມວ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 25.

See also

EMAIL_PORT

WEBLATE_EMAIL_HOST_USER

ຜູ້ໃຊ້ສຳລັບການຢັ້ງຢືນຕົວຕົນທາງອີເມວ.

See also

EMAIL_HOST_USER

WEBLATE_EMAIL_HOST_PASSWORD

ລະຫັດຜ່ານສຳລັບການຢັ້ງຢືນຕົວຕົນທາງອີເມວ.

WEBLATE_EMAIL_USE_SSL

ຈະໃຊ້ການເຊື່ອມຕໍ່ແບບ implicit TLS (ປອດໄພ) ເມື່ອຕິດຕໍ່ກັບເຊີບເວີ SMTP ຫຼືບໍ່. ໃນເອກະສານອີເມວສ່ວນຫຼາຍ, ການເຊື່ອມຕໍ່ TLS ປະເພດນີ້ຖືກເອີ້ນວ່າ SSL. ໂດຍທົ່ວໄປແລ້ວມັນຈະໃຊ້ໃນພອດ 465. ຖ້າທ່ານພົບບັນຫາ, ໃຫ້ເບິ່ງການຕັ້ງຄ່າ explicit TLS ທີ່ WEBLATE_EMAIL_USE_TLS.

Changed in version 4.11: ການຮອງຮັບ SSL/TLS ຈະຖືກເປີດໃຊ້ງານໂດຍອັດຕະໂນມັດໂດຍອີງໃສ່ WEBLATE_EMAIL_PORT.

WEBLATE_EMAIL_USE_TLS

ຈະໃຊ້ການເຊື່ອມຕໍ່ TLS (ປອດໄພ) ເມື່ອຕິດຕໍ່ກັບເຊີບເວີ SMTP ຫຼືບໍ່. ນີ້ໃຊ້ສຳລັບການເຊື່ອມຕໍ່ແບບ explicit TLS, ໂດຍທົ່ວໄປແລ້ວໃນພອດ 587 ຫຼື 25. ຖ້າທ່ານພົບການເຊື່ອມຕໍ່ທີ່ຄ້າງ, ໃຫ້ເບິ່ງການຕັ້ງຄ່າ implicit TLS ທີ່ WEBLATE_EMAIL_USE_SSL.

Changed in version 4.11: ການຮອງຮັບ SSL/TLS ຈະຖືກເປີດໃຊ້ງານໂດຍອັດຕະໂນມັດໂດຍອີງໃສ່ WEBLATE_EMAIL_PORT.

WEBLATE_EMAIL_BACKEND

ຕັ້ງຄ່າ Django back-end ທີ່ຈະໃຊ້ສຳລັບການສົ່ງອີເມວ.

ຕັ້ງເປັນ django_ses.SESBackend ເພື່ອໃຊ້ AWS SES.

WEBLATE_AWS_SES_REGION_NAME

ພາກພື້ນ AWS (Region) ສຳລັບ SES (ເຊັ່ນ: us-east-1). ຈະຕັ້ງຄ່າ AWS_SES_REGION_NAME ແລະ ດຶງຄ່າ WEBLATE_AWS_SES_REGION_ENDPOINT ໂດຍອັດຕະໂນມັດ ເວັ້ນເສຍແຕ່ຈະມີການຕັ້ງຄ່າ ຕົວປ່ຽນນັ້ນໄວ້ຢ່າງຈະແຈ້ງ. ຫາກບໍ່ໄດ້ຕັ້ງຄ່າ, ພາກພື້ນຕ້ອງມີໃຫ້ໃຊ້ຜ່ານ boto3 credential chain ມາດຕະຖານ (ເຊັ່ນ: AWS_DEFAULT_REGION ຫຼື ໂປຣໄຟລ໌ AWS).

WEBLATE_AWS_SES_REGION_ENDPOINT

ຊື່ໂຮສ endpoint ຂອງ SES. ເມື່ອຕັ້ງຄ່າ, ມັນຈະຖືກສົ່ງໄປໃຫ້ django-ses ໂດຍກົງ ໂດຍບໍ່ສົນໃຈ WEBLATE_AWS_SES_REGION_NAME. ເມື່ອບໍ່ໄດ້ຕັ້ງຄ່າແຕ່ມີການລະບຸ WEBLATE_AWS_SES_REGION_NAME, ຈະເລີ່ມຕົ້ນທີ່ email.<region>.amazonaws.com. ໃຫ້ຂຽນທັບເມື່ອໃຊ້ VPC ຫຼື endpoint ທີ່ກຳນົດເອງ.

WEBLATE_USE_SES_V2

ຕັ້ງເປັນ true ເພື່ອໃຊ້ SES v2 API (SendEmail) ແທນການເອີ້ນໃຊ້ SendRawEmail ແບບເກົ່າ. ການຕັ້ງຄ່າແບບບູລີນ (ໃຊ້ "true" ຫຼື "false").

WEBLATE_AUTO_UPDATE

ຕັ້ງຄ່າວ່າ Weblate ຄວນອັບເດດ repository ຫຼືບໍ່ ແລະ ຢ່າງໃດ.

The default, "false", fetches remote changes daily without merging them into the working copy; it does not disable daily updates. Set to "true" to also merge remote changes into the working copy.

See also

AUTO_UPDATE for details on how updates are scheduled throughout the day.

Note

ນີ້ແມ່ນການຕັ້ງຄ່າແບບ Boolean (ໃຊ້ "true" ຫຼື "false").

ການເຊື່ອມໂຍງເວັບໄຊ

WEBLATE_GET_HELP_URL

ຕັ້ງຄ່າ GET_HELP_URL.

WEBLATE_STATUS_URL

ຕັ້ງຄ່າ STATUS_URL.

ຕັ້ງຄ່າ LEGAL_URL.

WEBLATE_PRIVACY_URL

ຕັ້ງຄ່າ PRIVACY_URL.

WEBLATE_PASSWORD_RESET_URL

ຕັ້ງຄ່າ PASSWORD_RESET_URL.

ການເກັບລາຍງານຂໍ້ຜິດພາດ ແລະ ການຕິດຕາມປະສິດທິພາບ

ແນະນຳໃຫ້ເກັບກຳຂໍ້ຜິດພາດຈາກການຕິດຕັ້ງຢ່າງເປັນລະບົບ, ເບິ່ງ ການເກັບລາຍງານຂໍ້ຜິດພາດ ແລະ ການຕິດຕາມປະສິດທິພາບ.

ເພື່ອເປີດໃຊ້ການຮອງຮັບ Rollbar, ໃຫ້ຕັ້ງຄ່າຕໍ່ໄປນີ້:

ROLLBAR_KEY

Rollbar post server access token ຂອງທ່ານ.

ROLLBAR_ENVIRONMENT

Rollbar environment ຂອງທ່ານ, ຄ່າເລີ່ມຕົ້ນແມ່ນ production.

ເພື່ອເປີດໃຊ້ການຮອງຮັບ Sentry, ໃຫ້ຕັ້ງຄ່າຕໍ່ໄປນີ້:

SENTRY_DSN

Sentry DSN ຂອງທ່ານ, ເບິ່ງ SENTRY_DSN.

SENTRY_ENVIRONMENT

Sentry Environment ຂອງທ່ານ (ທາງເລືອກ), ຄ່າເລີ່ມຕົ້ນແມ່ນ WEBLATE_SITE_DOMAIN.

SENTRY_MONITOR_BEAT_TASKS

ຈະຕິດຕາມ Celery Beat tasks ດ້ວຍ Sentry ຫຼືບໍ່, ຄ່າເລີ່ມຕົ້ນແມ່ນ True.

SENTRY_TRACES_SAMPLE_RATE

ຕັ້ງຄ່າ SENTRY_TRACES_SAMPLE_RATE.

ຕົວຢ່າງ:

environment:
  SENTRY_TRACES_SAMPLE_RATE: 0.5
SENTRY_PROFILES_SAMPLE_RATE

ຕັ້ງຄ່າ SENTRY_PROFILES_SAMPLE_RATE.

ຕົວຢ່າງ:

environment:
  SENTRY_PROFILES_SAMPLE_RATE: 0.5
SENTRY_SEND_PII

ຕັ້ງຄ່າ SENTRY_SEND_PII.

ເພື່ອເປີດໃຊ້ການຮອງຮັບ Google Cloud Error Reporting, ໃຫ້ຕັ້ງຄ່າຕໍ່ໄປນີ້:

GOOGLE_CLOUD_ERROR_REPORTING_ENABLED

ເປີດໃຊ້ GOOGLE_CLOUD_ERROR_REPORTING, ຄ່າເລີ່ມຕົ້ນແມ່ນ False.

GOOGLE_CLOUD_ERROR_REPORTING_PROJECT

ໂປຣເຈັກ Google Cloud ທີ່ຕ້ອງການລາຍງານຂໍ້ຜິດພາດ. ຖ້າລະເວັ້ນໄວ້, Google client ຈະໃຊ້ application default credentials ເພື່ອກວດຫາໂປຣເຈັກນັ້ນ.

GOOGLE_CLOUD_ERROR_REPORTING_SERVICE

ຊື່ການບໍລິການທີ່ຈະໃຊ້ໃນ Google Cloud Error Reporting, ຄ່າເລີ່ມຕົ້ນແມ່ນ weblate.

ເພື່ອເປີດໃຊ້ການຮອງຮັບ OpenTelemetry tracing, ໃຫ້ຕັ້ງຄ່າຕໍ່ໄປນີ້:

OPENTELEMETRY_ENABLED

ເປີດໃຊ້ OPENTELEMETRY_ENABLED, ຄ່າເລີ່ມຕົ້ນແມ່ນ False.

OPENTELEMETRY_EXPORTER_OTLP_ENDPOINT

ຕັ້ງຄ່າ OPENTELEMETRY_EXPORTER_OTLP_ENDPOINT.

ຕົວຢ່າງ:

environment:
  OPENTELEMETRY_ENABLED: true
  OPENTELEMETRY_EXPORTER_OTLP_ENDPOINT: https://collector.example.com/v1/traces
  OPENTELEMETRY_TRACES_SAMPLE_RATE: 0.1
OPENTELEMETRY_EXPORTER_OTLP_HEADERS

ຕັ້ງຄ່າ OPENTELEMETRY_EXPORTER_OTLP_HEADERS ເປັນການຈັບຄູ່ແບບ name:value ທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ.

OPENTELEMETRY_EXTRA_RESOURCE_ATTRIBUTES

ຕັ້ງຄ່າ OPENTELEMETRY_EXTRA_RESOURCE_ATTRIBUTES ເປັນການຈັບຄູ່ແບບ name:value ທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ.

OPENTELEMETRY_SERVICE_NAME

ຕັ້ງຄ່າ OPENTELEMETRY_SERVICE_NAME.

OPENTELEMETRY_TRACES_SAMPLE_RATE

ຕັ້ງຄ່າ OPENTELEMETRY_TRACES_SAMPLE_RATE.

Localization CDN

WEBLATE_LOCALIZE_CDN_URL
WEBLATE_LOCALIZE_CDN_PATH

Added in version 4.2.1.

ການຕັ້ງຄ່າສຳລັບ CDN add-ons, ລວມທັງ CDN ສຳລັບການແປພາສາ JavaScript ແລະ CDN ສຳລັບໄຟລ໌ການແປ.

WEBLATE_LOCALIZE_CDN_PATH ແມ່ນເສັ້ນທາງພາຍໃນຄອນເທນເນີ. ມັນຄວນຈະຖືກຈັດເກັບໄວ້ໃນ persistent volume ບໍ່ແມ່ນໃນ transient storage.

ຄວາມເປັນໄປໄດ້ໜຶ່ງຄືການຈັດເກັບໄວ້ພາຍໃນໄດເລັກທໍຣີຂໍ້ມູນຂອງ Weblate:

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

Note

ທ່ານມີໜ້າທີ່ຮັບຜິດຊອບໃນການຕັ້ງຄ່າການໃຫ້ບໍລິການໄຟລ໌ທີ່ສ້າງຂຶ້ນໂດຍ Weblate, Weblate ພຽງແຕ່ຈັດເກັບໄຟລ໌ໄວ້ໃນຕຳແໜ່ງທີ່ຕັ້ງຄ່າໄວ້ເທົ່ານັ້ນ. ເບິ່ງ Localization CDN ສຳລັບຄຳແນະນຳການໃຫ້ບໍລິການຢ່າງປອດໄພ.

ການປ່ຽນແປງແອັບ, ການກວດສອບ, ຮູບແບບ, add-ons, ເຄື່ອງຈັກ, ຫຼື autofixes ທີ່ເປີດໃຊ້ງານ

ການຕັ້ງຄ່າໃນຕົວຂອງການກວດສອບ, ຮູບແບບໄຟລ໌, add-ons, ເຄື່ອງຈັກ, ຫຼື autofixes ທີ່ເປີດໃຊ້ງານ ສາມາດປັບປ່ຽນໄດ້ໂດຍຕົວແປຕໍ່ໄປນີ້:

WEBLATE_ADD_APPS
WEBLATE_REMOVE_APPS
WEBLATE_ADD_CHECK
WEBLATE_REMOVE_CHECK
WEBLATE_ADD_AUTOFIX
WEBLATE_REMOVE_AUTOFIX
WEBLATE_ADD_FORMATS
WEBLATE_REMOVE_FORMATS
WEBLATE_ADD_ADDONS
WEBLATE_REMOVE_ADDONS
WEBLATE_ADD_MACHINERY

Added in version 5.6.1.

WEBLATE_REMOVE_MACHINERY

Added in version 5.6.1.

ຕົວຢ່າງ:

environment:
  WEBLATE_REMOVE_AUTOFIX: weblate.trans.autofixes.whitespace.SameBookendingWhitespace
  WEBLATE_REMOVE_FORMATS: weblate.formats.ttkit.PoFormat
  WEBLATE_ADD_ADDONS: customize.addons.MyAddon,customize.addons.OtherAddon

ການຕັ້ງຄ່າຄອນເທນເນີ

WEBLATE_WORKERS

Added in version 4.6.1.

ຈຳນວນພື້ນຖານຂອງ worker processes ທີ່ແລ່ນຢູ່ໃນຄອນເທນເນີ. ເມື່ອບໍ່ໄດ້ຕັ້ງຄ່າ, ມັນຈະຖືກກຳນົດອັດຕະໂນມັດເມື່ອເລີ່ມຕົ້ນຄອນເທນເນີໂດຍອີງໃສ່ຈຳນວນ CPU cores ທີ່ມີຢູ່.

It is used to determine CELERY_MAIN_OPTIONS, CELERY_COMBINED_OPTIONS, CELERY_NOTIFY_OPTIONS, CELERY_MEMORY_OPTIONS, CELERY_TRANSLATE_OPTIONS, CELERY_BACKUP_OPTIONS, WEB_WORKERS, and WEB_BLOCKING_THREADS. You can use these settings to fine-tune.

CELERY_WORKER_MODE

Added in version 2026.9.1.

Selects how Celery workers are run in the container. Supported modes are:

combined

Runs one prefork worker for all queues. This is the default and reduces memory usage by sharing the application startup memory. Its concurrency defaults to three times WEBLATE_WORKERS, and its prefetch multiplier defaults to one.

split

Runs a separate prefork worker for each queue. This matches the behavior of container versions before 2026.9.1 and allows each queue to be tuned independently.

single

Runs all queues in one process using the solo pool. This minimizes memory usage, but noticeably reduces task throughput.

Explicit WEBLATE_SERVICE selection takes precedence over this setting in horizontally scaled deployments.

CELERY_COMBINED_OPTIONS

Added in version 2026.9.1.

Configures the worker used by CELERY_WORKER_MODE=combined. By default, its concurrency is three times WEBLATE_WORKERS. The worker uses a prefetch multiplier of one unless overridden here.

environment:
  CELERY_COMBINED_OPTIONS: --concurrency 12 --prefetch-multiplier 1
CELERY_MAIN_OPTIONS
CELERY_NOTIFY_OPTIONS
CELERY_MEMORY_OPTIONS
CELERY_TRANSLATE_OPTIONS
CELERY_BACKUP_OPTIONS

These variables allow you to adjust Celery worker options in CELERY_WORKER_MODE=split. It can be useful to adjust concurrency (--concurrency 16), prefetching (--prefetch-multiplier 4), or use different pool implementation (--pool=gevent). Command-line options take precedence over corresponding Celery settings, allowing each worker category to use a different prefetch multiplier. When any of these variables is set in combined or single mode, the container logs a startup warning that it is ignored.

ໂດຍເລີ່ມຕົ້ນ, ຈຳນວນຂອງ concurrent workers ຈະອີງໃສ່ WEBLATE_WORKERS.

ຕົວຢ່າງ:

environment:
  CELERY_MAIN_OPTIONS: --concurrency 16 --prefetch-multiplier 1
CELERY_BEAT_OPTIONS

Configures the Celery beat scheduler in all worker modes.

CELERY_SINGLE_OPTIONS

Configures the worker used by CELERY_WORKER_MODE=single.

CELERY_SINGLE_PROCESS

Added in version 5.7.1.

Deprecated since version 2026.9.1.

Compatibility alias for CELERY_WORKER_MODE=single. When set to 1 without CELERY_WORKER_MODE, the container starts in single mode and logs a warning asking you to update the setting. If both variables are set, CELERY_WORKER_MODE takes precedence.

WEBLATE_ASGI

Added in version 2026.8.

ຕັ້ງເປັນ 1 ເພື່ອລັນເວັບແອັບພລິເຄຊັນດ້ວຍ ASGI ແທນ WSGI. ນີ້ແມ່ນການຕັ້ງຄ່າໃຫ້ເລືອກໃຊ້ ເພື່ອທົດສອບການປ່ຽນຜ່ານໄປຫາ ASGI. ໃນຕອນນີ້ WSGI ຍັງຄົງເປັນຄ່າເລີ່ມຕົ້ນ, ແຕ່ໃນເວີຊັນອະນາຄົດ ຈະໃຊ້ ASGI ເທົ່ານັ້ນ ແລະ ຈະເອົາການຕັ້ງຄ່ານີ້ອອກ.

environment:
  WEBLATE_ASGI: 1
WEB_WORKERS

ຕັ້ງຄ່າວ່າຄວນໃຫ້ມີເວັບແອັບພລິເຄຊັນ worker ຈຳນວນເທົ່າໃດທີ່ເຮັດວຽກ.

ຄ່າເລີ່ມຕົ້ນແມ່ນເຄິ່ງໜຶ່ງຂອງ WEBLATE_WORKERS, ແຕ່ຢ່າງໜ້ອຍຕ້ອງເປັນ 2.

ຕົວຢ່າງ:

environment:
  WEB_WORKERS: 4

Changed in version 5.13: WEB_WORKERS ຕັ້ງຄ່າຈຳນວນຂະບວນການເຮັດວຽກ (worker processes) ທີ່ຈະຖືກໃຊ້ໂດຍ granian.

WEB_BLOCKING_THREADS

ຕັ້ງຄ່າວ່າແຕ່ລະ granian worker ສາມາດໃຊ້ blocking WSGI threads ໄດ້ຈຳນວນເທົ່າໃດ. ຄ່າເລີ່ມຕົ້ນແມ່ນສອງເທົ່າຂອງ WEBLATE_WORKERS ແລະ ຈະຖືກລະເວັ້ນເມື່ອເປີດໃຊ້ WEBLATE_ASGI.

ຈຳນວນສູງສຸດຂອງການຮ້ອງຂໍ WSGI ພ້ອມກັນແມ່ນປະມານ WEB_WORKERS ຄູນດ້ວຍ WEB_BLOCKING_THREADS. ແຕ່ລະ thread ສາມາດຖືການເຊື່ອມຕໍ່ຖານຂໍ້ມູນຂອງຕົນເອງໄດ້, ດັ່ງນັ້ນຄວນຮັກສາຜົນລວມທັງໝົດໃຫ້ຢູ່ໃນຂີດຈຳກັດການເຊື່ອມຕໍ່ຖານຂໍ້ມູນ.

ຕົວຢ່າງ:

environment:
  WEB_WORKERS: 2
  WEB_BLOCKING_THREADS: 8
WEBLATE_SERVICE

ກຳນົດວ່າບໍລິການໃດຄວນຖືກປະຕິບັດພາຍໃນຄອນເທນເນີ. ໃຊ້ສິ່ງນີ້ສຳລັບ ການຂະຫຍາຍລະບົບອອກທາງຂ້າງ (Horizontal scaling).

ມີການກຳນົດບໍລິການຕໍ່ໄປນີ້:

celery-beat

Celery task scheduler, ຄວນມີພຽງໜຶ່ງ instance ເທົ່ານັ້ນທີ່ແລ່ນຢູ່. ຄອນເທນເນີນີ້ຍັງຮັບຜິດຊອບຕໍ່ການຍົກລະດັບໂຄງສ້າງຖານຂໍ້ມູນ ແລະ ຄວນຈະຖືກເລີ່ມຕົ້ນກ່ອນບໍລິການອື່ນໆ.

celery-backup

Celery worker ສຳລັບການສຳຮອງຂໍ້ມູນ, ຄວນມີພຽງໜຶ່ງ instance ເທົ່ານັ້ນທີ່ແລ່ນຢູ່.

celery-combined

Combined Celery worker for all task queues.

celery-celery

Generic Celery worker.

celery-memory

Celery worker ສຳລັບ translation memory.

celery-notify

Celery worker ສຳລັບການແຈ້ງເຕືອນ.

celery-single

Single-process Celery worker for all task queues.

celery-translate

Celery worker ສຳລັບການແປອັດຕະໂນມັດ.

web

Web server.

WEBLATE_ANUBIS_URL

Added in version 5.11.4.

URL ຂອງເຊີບເວີ Anubis ເພື່ອຈັດການການຢັ້ງຢືນຕົວຕົນແບບ subrequest. ສິ່ງນີ້ສາມາດເປັນປະໂຫຍດໃນການກັ່ນຕອງຄຳຮ້ອງຂໍ HTTP ທີ່ເຂົ້າມາໂດຍໃຊ້ proof-of-work ເພື່ອຢຸດ AI crawlers. ທ່ານຈຳເປັນຕ້ອງຕັ້ງຄ່າ Anubis for Subrequest Authentication ເພື່ອເຮັດໃຫ້ມັນເຮັດວຽກໄດ້.

Use an http:// or https:// URL with a valid hostname or IPv4 address. The URL can include a port and a simple slash-separated path using ASCII letters, digits, _, and -. Credentials, queries, fragments, and IPv6 addresses are not supported.

Docker container volumes

ມີສອງ volumes (data ແລະ cache) ທີ່ຖືກສົ່ງອອກໂດຍຄອນເທນເນີ Weblate.

Note

ຄອນເທນເນີບໍລິການອື່ນໆ (ເຊັ່ນ PostgreSQL ຫຼື Valkey) ກໍມີ data volumes ຂອງຕົນເອງເຊັ່ນກັນ ແລະ ຈຳເປັນເພື່ອຮັກສາຄວາມຖາວອນຂອງ Weblate.

ຄອນເທນເນີ PostgreSQL ຈັດເກັບຖານຂໍ້ມູນໄວ້ໃນ volume /var/lib/postgresql ແລະ Valkey ໃນ volume /data. ຄອນເທນເນີ Valkey ບໍ່ໄດ້ບັນທຶກຂໍ້ມູນໂດຍເລີ່ມຕົ້ນ ແລະ ຕ້ອງການການຕັ້ງຄ່າເພີ່ມເຕີມເພື່ອເປີດໃຊ້ຄວາມຖາວອນ.

ໃຫ້ອີງໃສ່ການຕັ້ງຄ່າຂອງທ່ານຈາກຕົວຢ່າງທີ່ Weblate ໃຫ້ມາ ຫຼື ເບິ່ງເອກະສານຂອງພວກເຂົາສຳລັບຂໍ້ມູນເພີ່ມເຕີມ.

Volume data ຖືກເຊື່ອມຕໍ່ເປັນ /app/data ແລະ ຖືກໃຊ້ເພື່ອເກັບຂໍ້ມູນຖາວອນຂອງ Weblate ເຊັ່ນ ຄັງເກັບທີ່ໂຄລນມາ ຫຼື ເພື່ອປັບແຕ່ງການຕິດຕັ້ງ Weblate. DATA_DIR ຈະອະທິບາຍລາຍລະອຽດເພີ່ມເຕີມກ່ຽວກັບສິ່ງທີ່ຖືກເກັບໄວ້ທີ່ນີ້.

Volume data ຍັງເປັນບ່ອນສຳລັບເກັບການປັບແຕ່ງ Weblate ເຊັ່ນ ການປັບປ່ຽນການຕັ້ງຄ່າຈາກ data volume, ການປ່ຽນໂລໂກ້ ແລະ ໄຟລ໌ static ອື່ນໆ ຫຼື ການປັບແຕ່ງລະຫັດ.

ຕຳແໜ່ງຂອງ Docker volume ໃນລະບົບ host ຂຶ້ນກັບການຕັ້ງຄ່າ Docker ຂອງທ່ານ, ແຕ່ໂດຍທົ່ວໄປແລ້ວມັນຈະຖືກຈັດເກັບໄວ້ໃນ /var/lib/docker/volumes/weblate-docker_weblate-data/_data/ (ເສັ້ນທາງປະກອບດ້ວຍຊື່ໄດເລັກທໍຣີ docker-compose, ຄອນເທນເນີ, ແລະ ຊື່ volume).

Volume cache ຖືກເຊື່ອມຕໍ່ເປັນ /app/cache ແລະ ຖືກໃຊ້ເພື່ອເກັບໄຟລ໌ຄົງທີ່ (static) ແລະ CACHE_DIR. ເນື້ອໃນຂອງມັນຈະຖືກສ້າງໃໝ່ທຸກຄັ້ງທີ່ container ເລີ່ມເຮັດວຽກ ແລະ volume ສາມາດເຊື່ອມຕໍ່ໂດຍໃຊ້ລະບົບໄຟລ໌ຊົ່ວຄາວເຊັ່ນ tmpfs ໄດ້, ແຕ່ການເຊື່ອມຕໍ່ນັ້ນ ຕ້ອງອະນຸຍາດໃຫ້ມີການລັນຄຳສັ່ງ (execution) ເພາະ Weblate ຈະເກັບໄຟລ໌ຊ່ວຍເຫຼືອທີ່ສ້າງຂຶ້ນໄວ້ທີ່ນັ້ນ.

ເມື່ອ mount /app/cache ຢ່າງຊັດເຈນເປັນ tmpfs ໃນ Docker Compose, ໃຫ້ເປີດໃຊ້ execution:

tmpfs:
  - /app/cache:exec

ເມື່ອຕັ້ງຄ່າ ownership options, ໃຫ້ຮັກສາທາງເລືອກ exec ໄວ້:

tmpfs:
  - /app/cache:exec,uid=1000,gid=1000

ເມື່ອສ້າງ volumes ດ້ວຍຕົນເອງ, ໄດເລັກທໍຣີຄວນຖືກເປັນເຈົ້າຂອງໂດຍ UID 1000 ເພາະນັ້ນແມ່ນຜູ້ໃຊ້ທີ່ຖືກໃຊ້ພາຍໃນຄອນເທນເນີ.

ຄອນເທນເນີ Weblate ສາມາດຖືກປະຕິບັດດ້ວຍ read-only root file system ໄດ້ເຊັ່ນກັນ. ໃນກໍລະນີນີ້, ຄວນ mount ສອງ tmpfs volumes ເພີ່ມເຕີມ: /tmp ແລະ /run.

Read-only root filesystem

Added in version 4.18.

ເມື່ອຮັນຄອນເທນເນີດ້ວຍ read-only root filesystem, ຈຳເປັນຕ້ອງມີ tmpfs volumes ເພີ່ມເຕີມສອງອັນ - /tmp ແລະ /run.

ການຕັ້ງຄ່ານອກເໜືອຈາກຕົວແປສະພາບແວດລ້ອມ

ຕົວແປສະພາບແວດລ້ອມ Docker ມີຈຸດປະສົງເພື່ອເປີດເຜີຍ ການຕັ້ງຄ່າຕ່າງໆ ສ່ວນໃຫຍ່ທີ່ກ່ຽວຂ້ອງກັບການຕິດຕັ້ງ Weblate.

ຖ້າທ່ານພົບການຕັ້ງຄ່າທີ່ບໍ່ໄດ້ຖືກເປີດເຜີຍເປັນຕົວແປສະພາບແວດລ້ອມ, ແລະ ທ່ານເຊື່ອວ່າມັນຄວນຈະເປັນ, ຢ່າລັງເລທີ່ຈະ ຮ້ອງຂໍໃຫ້ມີການເປີດເຜີຍໃນເວີຊັນອະນາຄົດຂອງ Weblate.

ຖ້າທ່ານຈຳເປັນຕ້ອງແກ້ໄຂການຕັ້ງຄ່າທີ່ບໍ່ໄດ້ຖືກເປີດເຜີຍເປັນຕົວແປສະພາບແວດລ້ອມ Docker, ທ່ານຍັງສາມາດເຮັດໄດ້, ໂດຍຜ່ານ data volume ຫຼື ການຂະຫຍາຍ Docker image.

ການປັບປ່ຽນການຕັ້ງຄ່າຈາກ data volume

ທ່ານສາມາດສ້າງໄຟລ໌ທີ່ /app/data/settings-override.py, ນັ້ນຄືທີ່ root ຂອງ data volume, ເພື່ອຂະຫຍາຍ ຫຼື ປັບປ່ຽນການຕັ້ງຄ່າທີ່ກຳນົດໄວ້ຜ່ານຕົວແປສະພາບແວດລ້ອມ.

ການປັບປ່ຽນການຕັ້ງຄ່າໂດຍການຂະຫຍາຍ Docker image

ເພື່ອປັບປ່ຽນການຕັ້ງຄ່າທີ່ລະດັບ Docker image ແທນທີ່ຈະເປັນຈາກ data volume:

  1. ສ້າງ Python package ແບບກຳນົດເອງ.

  2. ເພີ່ມໂມດູນໃຫ້ກັບ package ຂອງທ່ານທີ່ນຳເຂົ້າການຕັ້ງຄ່າທັງໝົດຈາກ weblate.settings_docker.

    ຕົວຢ່າງ, ພາຍໃນໂຄງສ້າງ package ຕົວຢ່າງທີ່ກຳນົດໄວ້ທີ່ ການສ້າງໂມດູນ Python, ທ່ານສາມາດສ້າງໄຟລ໌ທີ່ weblate_customization/weblate_customization/settings.py ດ້ວຍລະຫັດເລີ່ມຕົ້ນດັ່ງນີ້:

    from weblate.settings_docker import *
    
  3. ສ້າງ Dockerfile ແບບກຳນົດເອງທີ່ສືບທອດມາຈາກ Weblate Docker image ທາງການ, ແລ້ວຕິດຕັ້ງ package ຂອງທ່ານ ແລະ ຊີ້ຕົວແປສະພາບແວດລ້ອມ DJANGO_SETTINGS_MODULE ໄປຍັງໂມດູນການຕັ້ງຄ່າຂອງທ່ານ:

    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. ແທນທີ່ຈະໃຊ້ Weblate Docker image ທາງການ, ໃຫ້ build image ແບບກຳນົດເອງຈາກໄຟລ໌ Dockerfile ນີ້.

    ບໍ່ມີ ວິທີທີ່ສະອາດ ທີ່ຈະເຮັດສິ່ງນີ້ດ້ວຍ docker-compose.override.yml. ທ່ານ ສາມາດ ເພີ່ມ build: . ໃສ່ໂນດ weblate ໃນໄຟລ໌ນັ້ນ, ແຕ່ image ແບບກຳນົດເອງຂອງທ່ານຈະຖືກແທັກເປັນ weblate/weblate ໃນລະບົບຂອງທ່ານ, ເຊິ່ງອາດເຮັດໃຫ້ເກີດບັນຫາ.

    ດັ່ງນັ້ນ, ແທນທີ່ຈະໃຊ້ docker-compose.yml ໂດຍກົງຈາກ repository ທາງການ, ໂດຍບໍ່ໄດ້ດັດແກ້, ແລະ ຂະຫຍາຍມັນຜ່ານ docker-compose.override.yml, ທ່ານອາດຈະຕ້ອງການສຳເນົາໄຟລ໌ docker-compose.yml ທາງການ, ແລະ ແກ້ໄຂສຳເນົາຂອງທ່ານເພື່ອປ່ຽນ image: weblate/weblate ເປັນ build: ..

    ເບິ່ງ Compose file build reference ສຳລັບລາຍລະອຽດໃນການ build images ຈາກ source ເມື່ອໃຊ້ docker-compose.

  5. ຂະຫຍາຍໂມດູນການຕັ້ງຄ່າແບບກຳນົດເອງຂອງທ່ານເພື່ອລະບຸ ຫຼື ກຳນົດການຕັ້ງຄ່າໃໝ່.

    ທ່ານສາມາດລະບຸການຕັ້ງຄ່າກ່ອນ ຫຼື ຫຼັງຄຳສັ່ງ import ຂ້າງເທິງ ເພື່ອກຳນົດວ່າການຕັ້ງຄ່າໃດມີຄວາມສຳຄັນກວ່າ. ການຕັ້ງຄ່າທີ່ລະບຸກ່ອນຄຳສັ່ງ import ສາມາດຖືກປັບປ່ຽນໂດຍຕົວແປສະພາບແວດລ້ອມ ແລະ ການປັບປ່ຽນການຕັ້ງຄ່າທີ່ລະບຸໄວ້ໃນ data volume. ການຕັ້ງຄ່າທີ່ລະບຸຫຼັງຄຳສັ່ງ import ຈະບໍ່ສາມາດປັບປ່ຽນໄດ້.

    ທ່ານຍັງສາມາດເຮັດໃຫ້ຫຼາຍກວ່ານັ້ນ. ຕົວຢ່າງ, ທ່ານສາມາດເຮັດຊ້ຳບາງສິ່ງທີ່ weblate.docker_settings ເຮັດ, ເຊັ່ນການເປີດເຜີຍການຕັ້ງຄ່າເປັນຕົວແປສະພາບແວດລ້ອມ, ຫຼື ອະນຸຍາດໃຫ້ປັບປ່ຽນການຕັ້ງຄ່າຈາກໄຟລ໌ Python ໃນ data volume.

ການປ່ຽນໂລໂກ້ ແລະ ໄຟລ໌ static ອື່ນໆ

ໄຟລ໌ static ທີ່ມາພ້ອມກັບ Weblate ສາມາດຖືກປັບປ່ຽນໄດ້ໂດຍການວາງໄວ້ໃນ /app/data/python/customize/static (ເບິ່ງ Docker container volumes). ຕົວຢ່າງ, ການສ້າງ /app/data/python/customize/static/favicon.ico ຈະປ່ຽນ favicon.

Hint

ໄຟລ໌ເຫຼົ່ານີ້ຈະຖືກສຳເນົາໄປຍັງຕຳແໜ່ງທີ່ສອດຄ້ອງກັນເມື່ອເລີ່ມຕົ້ນຄອນເທນເນີ, ດັ່ງນັ້ນຈຶ່ງຈຳເປັນຕ້ອງ restart Weblate ຫຼັງຈາກປ່ຽນເນື້ອຫາຂອງ volume.

ວິທີການນີ້ຍັງສາມາດໃຊ້ເພື່ອຂ້າມ (override) ເທັມເພລດ (templates) ຂອງ Weblate ໄດ້. ຕົວຢ່າງ, ສາມາດສະໜອງເອກະສານ ໂມດູນທາງກົດໝາຍ ແລະ ຮູບແບບແບບກຳນົດເອງໄດ້ຕາມທີ່ອະທິບາຍໄວ້ໃນ ການປັບແຕ່ງເອກະສານ ແລະ ຮູບແບບທາງກົດໝາຍ.

ນອກຈາກນີ້, ທ່ານຍັງສາມາດລວມໂມດູນຂອງທ່ານເອງ (ເບິ່ງ ການປັບແຕ່ງ Weblate) ແລະ ເພີ່ມມັນເປັນ volume ແຍກຕ່າງຫາກໃສ່ Docker container, ຕົວຢ່າງ:

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

ການປັບແຕ່ງລະຫັດ

Note

Weblate API ພາຍໃນອາດຈະປ່ຽນແປງຢ່າງຫຼວງຫຼາຍລະຫວ່າງເວີຊັນ ແລະ ບໍ່ໄດ້ມີຈຸດປະສົງໃຫ້ມີຄວາມສະຖຽນ. ກະລຸນາທົບທວນລະຫັດທີ່ກຳນົດເອງຂອງທ່ານທີ່ຕິດຕໍ່ກັບລະບົບພາຍໃນຂອງ Weblate ໃນທຸກຄັ້ງທີ່ມີການຍົກລະດັບ.

ທ່ານສາມາດວາງ Python code ເພີ່ມເຕີມໄວ້ໃນ /app/data/python/customize (ເບິ່ງ Docker container volumes). ມັນຖືກຕິດຕັ້ງໄວ້ແລ້ວໃນຖານະ Django application ພາຍໃນ Weblate (ນີ້ແມ່ນໃຊ້ສຳລັບປັບແຕ່ງ templates ແລະ ໄຟລ໌ static ຕາມທີ່ໄດ້ອະທິບາຍຂ້າງເທິງ).

ສິ່ງນີ້ສາມາດໃຊ້ເພື່ອວາງລະຫັດໃດກໍໄດ້ (ຕົວຢ່າງ ການຂຽນການກວດສອບຂອງທ່ານເອງ) ຫຼື ເພື່ອງານບຳລຸງຮັກສາແບບກຳນົດເອງໃສ່ Celery task scheduler.

An example of custom scheduled tasks in /app/data/python/customize/tasks.py.
"""Custom scheduled task."""

from __future__ import annotations

# ruff: ignore[suspicious-subprocess-import]
import subprocess
from typing import TYPE_CHECKING

from celery.schedules import crontab

from weblate.utils.celery import app

if TYPE_CHECKING:
    from celery import Celery


@app.task
def custom_task() -> None:
    """Execute custom task code."""
    # ruff: ignore[start-process-with-partial-path]
    subprocess.run(["sleep", "1"], check=True)


@app.on_after_finalize.connect
def setup_periodic_tasks(sender: Celery, **kwargs: object) -> None:
    """Configure when periodic task is triggered."""
    sender.add_periodic_task(
        crontab(hour=1, minute=0), custom_task.s(), name="custom-task"
    )

ການເຊື່ອມໂຍງຄອນເທນເນີຂອງພາກສ່ວນທີສາມ

ການຕັ້ງຄ່າ Weblate Docker ສາມາດຂະຫຍາຍໄດ້ດ້ວຍຄອນເທນເນີເພີ່ມເຕີມເພື່ອໃຫ້ບໍລິການເສີມ ເຊັ່ນ ການແປດ້ວຍເຄື່ອງຈັກ, ການກວດສອບການສະກົດຄຳ, ຫຼື ເຄື່ອງມືອື່ນໆທີ່ຊ່ວຍເພີ່ມປະສິດທິພາບໃນຂັ້ນຕອນການແປ. ບໍລິການເຫຼົ່ານີ້ສາມາດຖືກເຊື່ອມໂຍງເຂົ້າໃນການຕັ້ງຄ່າ Docker Compose ຂອງທ່ານ ແລະ ເຮັດວຽກຮ່ວມກັບ Weblate.

ເມື່ອເພີ່ມຄອນເທນເນີຂອງພາກສ່ວນທີສາມ, ໃຫ້ພິຈາລະນາຕໍ່ໄປນີ້:

  • ການເຊື່ອມຕໍ່ເຄືອຂ່າຍ: ຮັບປະກັນວ່າຄອນເທນເນີສາມາດສື່ສານກັນໄດ້ໂດຍການວາງໄວ້ໃນ Docker network ດຽວກັນ

  • ຄວາມຖາວອນຂອງຂໍ້ມູນ: ໃຊ້ volumes ສຳລັບບໍລິການທີ່ຈຳເປັນຕ້ອງເກັບຂໍ້ມູນໄວ້ຢ່າງຖາວອນ

  • ຄວາມປອດໄພ: ຕັ້ງຄ່າການຄວບຄຸມການເຂົ້າເຖິງທີ່ເໝາະສົມ ແລະ ຫຼີກເວັ້ນການເປີດພອດທີ່ບໍ່ຈຳເປັນ

ການເຊື່ອມໂຍງ LibreTranslate Docker container

LibreTranslate ແມ່ນບໍລິການແປດ້ວຍເຄື່ອງຈັກທີ່ບໍ່ເສຍຄ່າ ແລະ ເປັນ open-source ເຊິ່ງສາມາດ self-hosted ໄດ້. ການເຊື່ອມໂຍງມັນກັບ Weblate ໃຫ້ຄວາມສາມາດໃນການແປດ້ວຍເຄື່ອງຈັກແບບອອຟໄລໂດຍບໍ່ຕ້ອງອີງໃສ່ບໍລິການພາຍນອກ.

ທ່ານສາມາດລວມບໍລິການ LibreTranslate ເຂົ້າໃນການຕິດຕັ້ງ Weblate ຂອງທ່ານໂດຍການລວມມັນໄວ້ໃນໄຟລ໌ docker-compose.override.yml. ເນື່ອງຈາກມັນແລ່ນພາຍໃນ Docker network, ມັນສາມາດເຂົ້າເຖິງໄດ້ໂດຍ Weblate ເທົ່ານັ້ນ ແລະ ບໍ່ໄດ້ຖືກເປີດເຜີຍຕໍ່ອິນເຕີເນັດສາທາລະນະ.

ການຕັ້ງຄ່າພື້ນຖານໂດຍໃຊ້ 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:

ສຳລັບການແປແບບເລັ່ງດ້ວຍ GPU (ຖ້າທ່ານມີ NVIDIA GPU):

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:

ຫຼັງຈາກເລີ່ມຕົ້ນບໍລິການດ້ວຍ docker compose down && docker compose up -d, ໃຫ້ຕັ້ງຄ່າ LibreTranslate ໃນ Weblate:

  1. ເຂົ້າເຖິງ Weblate admin interface

  2. ໄປທີ່ ການແປດ້ວຍເຄື່ອງຈັກ (Machine translation) → ຄຳແນະນຳອັດຕະໂນມັດ (Automatic suggestions)

  3. ເພີ່ມບໍລິການ LibreTranslate ໃໝ່ດ້ວຍ:

    ບໍລິການ:

    LibreTranslate

    API URL:

    http://libretranslate:5000

    API key:

    ປ່ອຍຫວ່າງໄວ້

LibreTranslate ໄດ້ຖືກຕັ້ງຄ່າແລ້ວ ແລະ ພ້ອມໃຊ້ງານສຳລັບການແປດ້ວຍເຄື່ອງຈັກໃນ Weblate.

Note

  • ບໍລິການ LibreTranslate ແລ່ນໂດຍບໍ່ມີ web UI (--disable-web-ui) ແລະ ສາມາດເຂົ້າເຖິງໄດ້ຜ່ານ API ພາຍໃນ Docker network ເທົ່ານັ້ນ.

  • Models ຈະຖືກອັບເດດອັດຕະໂນມັດເມື່ອຄອນເທນເນີເລີ່ມຕົ້ນ. (LT_UPDATE_MODELS: true)

  • ຂໍ້ມູນຖືກຈັດເກັບໄວ້ຢ່າງຖາວອນໂດຍໃຊ້ Docker volumes ເພື່ອປະສິດທິພາບທີ່ດີທີ່ສຸດ ແລະ ຄວາມປອດໄພຂອງຂໍ້ມູນ.

  • Health checks ຮັບປະກັນວ່າ Docker engine ຕິດຕາມສະຖານະຂອງການບໍລິການໄດ້ຢ່າງຖືກຕ້ອງ.

  • ສຳລັບ GPU acceleration, ໃຫ້ໃຊ້ CUDA image variant ແລະ ຮັບປະກັນວ່າລະບົບຂອງທ່ານມີການຮອງຮັບ NVIDIA Docker. ຄອນເທນເນີນີ້ແລ່ນໃນຖານະຜູ້ໃຊ້ທີ່ມີສິດທິພິເສດເພື່ອໃຫ້ສາມາດໃຊ້ GPU ໄດ້.

  • ບໍ່ມີພອດພາຍນອກໃດໆຖືກເປີດເຜີຍ, ເຮັດໃຫ້ການຕັ້ງຄ່າປອດໄພໂດຍເລີ່ມຕົ້ນ.

ການເຊື່ອມໂຍງ Anubis Docker container

Anubis ແມ່ນເຄື່ອງມື web AI firewall ເພື່ອບລັອກ AI scrapers ແລະ ທຣາຟິກອື່ນໆທີ່ລົບກວນໃນເຊີບເວີ. ໂດຍທົ່ວໄປແລ້ວມັນຈຳເປັນສຳລັບການຕິດຕັ້ງ Weblate ທີ່ເປີດສາທາລະນະເພື່ອຫຼີກເວັ້ນການໂຫຼດເກີນທີ່ເກີດຈາກການ scraping.

Anubis ສາມາດຖືກ deploy ໂດຍໃຊ້ 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:

Note

Volume anubis-data ໃນການຕັ້ງຄ່າຂ້າງເທິງນັ້ນ ຄວນຈະມີໄຟລ໌ botPolicies.yaml ພ້ອມກັບນະໂຍບາຍບັອດ (bot policy) ທີ່ຕັ້ງຄ່າຕາມຄວາມຕ້ອງການຂອງທ່ານ.

ຢ່າງໜ້ອຍ, ທ່ານຈຳເປັນຕ້ອງປັບລະຫັດສະຖານະຕາມທີ່ອະທິບາຍໄວ້ໃນ https://anubis.techaro.lol/docs/admin/configuration/subrequest-auth.

ຍັງແນະນຳໃຫ້ຕັ້ງຄ່າ persistent storage backend ຕາມທີ່ອະທິບາຍໄວ້ໃນ https://anubis.techaro.lol/docs/admin/policies/#storage-backends.

ຈາກນັ້ນທ່ານສາມາດເປີດໃຊ້ການໃຊ້ Anubis ໃນ Weblate ໂດຍໃຊ້:

environment:
   WEBLATE_ANUBIS_URL: http://anubis:8923

ການຕັ້ງຄ່າເຊີບເວີ PostgreSQL

ຄອນເທນເນີ PostgreSQL ໃຊ້ການຕັ້ງຄ່າ PostgreSQL ເລີ່ມຕົ້ນ ແລະ ມັນຈະບໍ່ໃຊ້ CPU cores ຫຼື ໜ່ວຍຄວາມຈຳຂອງທ່ານຢ່າງມີປະສິດທິພາບ. ແນະນຳໃຫ້ປັບແຕ່ງການຕັ້ງຄ່າເພື່ອເພີ່ມປະສິດທິພາບ.

ການຕັ້ງຄ່າສາມາດປັບປ່ຽນໄດ້ຕາມທີ່ອະທິບາຍໄວ້ໃນ Database Configuration ທີ່ https://hub.docker.com/_/postgres. ການຕັ້ງຄ່າທີ່ກົງກັບສະພາບແວດລ້ອມຂອງທ່ານສາມາດຖືກສ້າງຂຶ້ນໂດຍໃຊ້ https://pgtune.leopard.in.ua/.

ສ່ວນພາຍໃນຄອນເທນເນີ

ຄອນເທນເນີກຳລັງໃຊ້ supervisor ເພື່ອເລີ່ມຕົ້ນບໍລິການແຕ່ລະຢ່າງ. ໃນກໍລະນີຂອງ ການຂະຫຍາຍລະບົບອອກທາງຂ້າງ (Horizontal scaling), ມັນຈະເລີ່ມຕົ້ນພຽງໜຶ່ງບໍລິການໃນຄອນເທນເນີເທົ່ານັ້ນ.

ເພື່ອຕວດສອບສະຖານະບໍລິການ ໃຫ້ໃຊ້:

docker compose exec --user weblate weblate supervisorctl status

The Celery services depend on CELERY_WORKER_MODE. The default combined mode runs celery-combined, while single mode runs celery-single. You can stop all task processing in the default mode using:

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

The split mode runs an individual service for each Celery queue (see ວຽກງານເບື້ອງຫຼັງໂດຍໃຊ້ Celery for details). In this mode, you can stop processing some tasks by stopping the appropriate worker:

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