ການຕິດຕັ້ງໂດຍໃຊ້ 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).
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 ທີ່ປັບແຕ່ງແລ້ວ.
ສ້າງໄຟລ໌
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ເພື່ອປ່ຽນແປງມັນ.ເລີ່ມຕົ້ນ Weblate containers:
docker compose up
ເພີດເພີນກັບການ Deploy Weblate ຂອງທ່ານ, ມັນສາມາດເຂົ້າເຖິງໄດ້ທາງ Port 80 ຂອງ weblate container.
See also
ການເລືອກ Docker image registry¶
Weblate containers ຖືກເຜີຍແຜ່ໄປຍັງ Registry ຕໍ່ໄປນີ້:
Docker Hub, ເບິ່ງ https://hub.docker.com/r/weblate/weblate
GitHub Packages registry, ເບິ່ງ https://github.com/WeblateOrg/docker/pkgs/container/weblate
Note
ຕົວຢ່າງທັງໝົດໃນປັດຈຸບັນຈະດຶງ Images ຈາກ Docker Hub, ກະລຸນາປັບການຕັ້ງຄ່າໃຫ້ສອດຄ່ອງເພື່ອໃຊ້ Registry ອື່ນ.
ການເລືອກ Docker image tag¶
ກະລຸນາເລືອກ Tag ທີ່ກົງກັບສະພາບແວດລ້ອມ ແລະ ຄວາມຄາດຫວັງຂອງທ່ານ:
ຊື່ Tag |
ຄຳອະທິບາຍ |
ກໍລະນີການໃຊ້ງານ |
|---|---|---|
|
Weblate stable release, ກົງກັບ Release ລ່າສຸດທີ່ຖືກ Tag |
ການອັບເດດແບບ Rolling ໃນສະພາບແວດລ້ອມທີ່ໃຊ້ງານຈິງ |
|
Weblate stable release |
ການອັບເດດແບບ Rolling ພາຍໃນປີປະຕິທິນໃນສະພາບແວດລ້ອມທີ່ໃຊ້ງານຈິງ |
|
Weblate stable release |
ການອັບເດດແບບ Rolling ພາຍໃນ Release ປະຈຳເດືອນໃນສະພາບແວດລ້ອມທີ່ໃຊ້ງານຈິງ |
|
Weblate stable release |
ການ Deploy ທີ່ກຳນົດໄວ້ຢ່າງຊັດເຈນໃນສະພາບແວດລ້ອມທີ່ໃຊ້ງານຈິງ |
|
Weblate stable release ທີ່ມີການປ່ຽນແປງທາງການພັດທະນາໃນ Docker container (ຕົວຢ່າງ: Dependency ທີ່ຖືກອັບເດດ) |
ການອັບເດດແບບ Rolling ໃນສະພາບແວດລ້ອມ Staging |
|
Weblate stable release ທີ່ມີການປ່ຽນແປງທາງການພັດທະນາໃນ Docker container (ຕົວຢ່າງ: Dependency ທີ່ຖືກອັບເດດ) |
ການ Deploy ທີ່ກຳນົດໄວ້ຢ່າງຊັດເຈນໃນສະພາບແວດລ້ອມ Staging |
|
Weblate ຮຸ່ນພັດທະນາຈາກ Git |
ການອັບເດດແບບ Rolling ເພື່ອທົດສອບຟີເຈີໃໝ່ໆຂອງ Weblate |
|
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).
location / {
proxy_pass http://127.0.0.1:8080;
proxy_read_timeout 3600s;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
WEBLATE_ENABLE_HTTPS=1
WEBLATE_IP_PROXY_HEADER=HTTP_X_FORWARDED_FOR
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 ບໍ່ຮອງຮັບການອັບເດດອັດຕະໂນມັດລະຫວ່າງເວີຊັ່ນ, ເຈົ້າຈຳເປັນຕ້ອງເຮັດການອັບເດດດ້ວຍຕົນເອງ. ຂັ້ນຕອນຕໍ່ໄປນີ້ສະແດງໜຶ່ງໃນທາງເລືອກຂອງການອັບເດດ.
ຢຸດ Weblate container:
docker compose stop weblate cache
ສຳຮອງຂໍ້ມູນຖານຂໍ້ມູນ:
docker compose exec database pg_dumpall --clean --if-exists --username weblate > backup.sql
ຢຸດ Database container:
docker compose stop database
ລຶບ PostgreSQL volume:
docker compose rm -v database docker volume remove weblate-docker_postgres-data
Hint
ຊື່ Volume ປະກອບມີຊື່ຂອງ Docker Compose project, ເຊິ່ງໂດຍຄ່າເລີ່ມຕົ້ນແມ່ນຊື່ໄດເຣັກທໍຣີ ເຊິ່ງໃນເອກະສານນີ້ແມ່ນ
weblate-docker.ປັບແຕ່ງ
docker-compose.ymlເພື່ອໃຊ້ PostgreSQL ເວີຊັ່ນໃໝ່.ເລີ່ມຕົ້ນ Database container:
docker compose up -d database
ກູ້ຄືນຖານຂໍ້ມູນຈາກການສຳຮອງຂໍ້ມູນ:
cat backup.sql | docker compose exec -T database psql --username weblate --dbname weblate
Hint
ກະລຸນາກວດສອບວ່າຊື່ຖານຂໍ້ມູນກົງກັບ
POSTGRES_DB.(ທາງເລືອກ) ອັບເດດລະຫັດຜ່ານສຳລັບ 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.ເລີ່ມຕົ້ນ 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
See also
ການຕັ້ງຄ່າທົ່ວໄປ¶
- WEBLATE_DEBUG¶
ຕັ້ງຄ່າ Django debug mode ໂດຍໃຊ້
DEBUG.ຕົວຢ່າງ:
environment: WEBLATE_DEBUG: 1
See also
- 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 ແລະ ປິດສິ່ງນີ້.
See also
- WEBLATE_SERVER_EMAIL¶
ທີ່ຢູ່ອີເມວທີ່ຂໍ້ຄວາມຂໍ້ຜິດພາດຖືກສົ່ງມາຈາກ.
See also
- WEBLATE_DEFAULT_FROM_EMAIL¶
ຕັ້ງຄ່າທີ່ຢູ່ສຳລັບອີເມວຂາອອກ.
See also
- 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 ນີ້ຢູ່ເທົ່ານັ້ນ.
See also
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
- WEBLATE_LEGAL_INTEGRATION¶
ເປີດໃຊ້ໂມດູນ ໂມດູນທາງກົດໝາຍ ໃນ 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
- WEBLATE_LEGAL_DOCUMENT_CSS_CLASS¶
ຕັ້ງຄ່າ
LEGAL_DOCUMENT_CSS_CLASSໃນ Docker deployments ທີ່ເປີດໃຊ້WEBLATE_LEGAL_INTEGRATION.ຕັ້ງຄ່ານີ້ໃຫ້ເປັນຄລາສ (class) ທີ່ກຳນົດໄວ້ໃນໄຟລ໌ຮູບແບບ (stylesheet) ທາງກົດໝາຍແບບກຳນົດເອງຂອງທ່ານ. ຕັ້ງເປັນຄ່າວ່າງຫາກຕ້ອງການສະແດງເອກະສານທາງກົດໝາຍໂດຍບໍ່ມີ wrapper class.
ຕົວຢ່າງ:
environment: WEBLATE_LEGAL_DOCUMENT_CSS_CLASS: ""
- WEBLATE_LEGAL_HIDDEN_DOCUMENTS¶
ຕັ້ງຄ່າ
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.See also
- 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.See also
- 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/translationsor/tools/translations. Each segment can contain ASCII letters, digits,_, and-.
- 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_ANONandAPI_RATELIMIT_USER. Defaults to100/dayfor anonymous and5000/hourfor authenticated users.See also
- WEBLATE_API_RATELIMIT_USER_OVERRIDES¶
- WEBLATE_API_RATELIMIT_IP_OVERRIDES¶
Added in version 2026.10.
JSON mappings configuring
API_RATELIMIT_USER_OVERRIDESandAPI_RATELIMIT_IP_OVERRIDES. Both default to empty objects. Use JSONnullto 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.
- 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, orgsuffix. The suffix is case-insensitive, and0disables 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.
ຂໍ້ມູນຢືນຢັນຕົວຕົນສຳລັບເວັບໄຊຝາກໂຄ້ດ¶
ໃນ 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¶
- 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)
See also
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¶
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 ທົ່ວໄປ.
See also
Fedora OpenID Connect¶
Added in version 5.15.
- WEBLATE_SOCIAL_AUTH_FEDORA_OIDC_KEY¶
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}'
See also
- 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¶
ປິດການຢັ້ງຢືນຕົວຕົນດ້ວຍອີເມວເມື່ອຖືກຕັ້ງຄ່າເປັນຄ່າໃດກໍໄດ້. ເບິ່ງ ການປິດການຢືນຢັນຕົວຕົນດ້ວຍລະຫັດຜ່ານ.
ການຕັ້ງຄ່າຖານຂໍ້ມູນ PostgreSQL¶
ຖານຂໍ້ມູນຖືກສ້າງຂຶ້ນໂດຍ docker-compose.yml, ດັ່ງນັ້ນການຕັ້ງຄ່າເຫຼົ່ານີ້ຈະສົ່ງຜົນຕໍ່ທັງຄອນເທນເນີ Weblate ແລະ PostgreSQL.
See also
- POSTGRES_PASSWORD¶
ລະຫັດຜ່ານ PostgreSQL.
See also
- 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
See also
- 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 ເພື່ອຕັ້ງຄ່າການເຊື່ອມຕໍ່ຖານຂໍ້ມູນດ້ວຍຕົນເອງ.
ການຕັ້ງຄ່າການສຳຮອງຖານຂໍ້ມູນ¶
See also
- WEBLATE_DATABASE_BACKUP¶
ຕັ້ງຄ່າການດິມ (dump) ຖານຂໍ້ມູນປະຈຳວັນໂດຍໃຊ້
DATABASE_BACKUP. ຄ່າເລີ່ມຕົ້ນແມ່ນplain.
ການຕັ້ງຄ່າເຊີບເວີ Datastore¶
ການໃຊ້ Valkey ຫຼື Redis ແມ່ນຈຳເປັນສຳລັບຄອນເທນເນີ Weblate ແລະ ທ່ານຕ້ອງໃຫ້ພາຣາມິເຕີການເຊື່ອມຕໍ່ເມື່ອຮັນ Weblate ໃນ Docker.
See also
- REDIS_HOST¶
ຊື່ໂຮສຕ໌ ຫຼື ໄອພີແອັດເດຣສ໌ຂອງເຊີບເວີ Datastore. ຄ່າເລີ່ມຕົ້ນແມ່ນ
cache.
- REDIS_PORT¶
ພອດຂອງເຊີບເວີ Datastore. ຄ່າເລີ່ມຕົ້ນແມ່ນ
6379.
- REDIS_DB¶
ເລກຖານຂໍ້ມູນ Datastore, ຄ່າເລີ່ມຕົ້ນແມ່ນ
1.
- REDIS_USER¶
Added in version 5.13: ຜູ້ໃຊ້ຖານຂໍ້ມູນ Datastore, ບໍ່ໄດ້ຖືກໃຊ້ໂດຍເລີ່ມຕົ້ນ.
- REDIS_PASSWORD¶
ລະຫັດຜ່ານເຊີບເວີ Datastore, ບໍ່ໄດ້ຖືກໃຊ້ໂດຍເລີ່ມຕົ້ນ.
See also
- 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
See also
- WEBLATE_EMAIL_HOST¶
ຊື່ໂຮສຕ໌ ຫຼື ໄອພີແອັດເດຣສ໌ຂອງເຊີບເວີອີເມວ.
- WEBLATE_EMAIL_PORT¶
ພອດຂອງເຊີບເວີອີເມວ, ຄ່າເລີ່ມຕົ້ນແມ່ນ 25.
See also
- WEBLATE_EMAIL_HOST_USER¶
ຜູ້ໃຊ້ສຳລັບການຢັ້ງຢືນຕົວຕົນທາງອີເມວ.
See also
- WEBLATE_EMAIL_HOST_PASSWORD¶
ລະຫັດຜ່ານສຳລັບການຢັ້ງຢືນຕົວຕົນທາງອີເມວ.
See also
- 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.See also
- 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_UPDATEfor 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.
- 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, andWEB_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:
combinedRuns 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.splitRuns 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.
singleRuns all queues in one process using the solo pool. This minimizes memory usage, but noticeably reduces task throughput.
Explicit
WEBLATE_SERVICEselection 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 timesWEBLATE_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 incombinedorsinglemode, 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 to1withoutCELERY_WORKER_MODE, the container starts insinglemode and logs a warning asking you to update the setting. If both variables are set,CELERY_WORKER_MODEtakes precedence.See also
- 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-beatCelery task scheduler, ຄວນມີພຽງໜຶ່ງ instance ເທົ່ານັ້ນທີ່ແລ່ນຢູ່. ຄອນເທນເນີນີ້ຍັງຮັບຜິດຊອບຕໍ່ການຍົກລະດັບໂຄງສ້າງຖານຂໍ້ມູນ ແລະ ຄວນຈະຖືກເລີ່ມຕົ້ນກ່ອນບໍລິການອື່ນໆ.
celery-backupCelery worker ສຳລັບການສຳຮອງຂໍ້ມູນ, ຄວນມີພຽງໜຶ່ງ instance ເທົ່ານັ້ນທີ່ແລ່ນຢູ່.
celery-combinedCombined Celery worker for all task queues.
celery-celeryGeneric Celery worker.
celery-memoryCelery worker ສຳລັບ translation memory.
celery-notifyCelery worker ສຳລັບການແຈ້ງເຕືອນ.
celery-singleSingle-process Celery worker for all task queues.
celery-translateCelery worker ສຳລັບການແປອັດຕະໂນມັດ.
webWeb server.
See also
- 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://orhttps://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.
See also
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.
See also
ການປັບປ່ຽນການຕັ້ງຄ່າຈາກ data volume¶
ທ່ານສາມາດສ້າງໄຟລ໌ທີ່ /app/data/settings-override.py, ນັ້ນຄືທີ່ root ຂອງ data volume, ເພື່ອຂະຫຍາຍ ຫຼື ປັບປ່ຽນການຕັ້ງຄ່າທີ່ກຳນົດໄວ້ຜ່ານຕົວແປສະພາບແວດລ້ອມ.
ການປັບປ່ຽນການຕັ້ງຄ່າໂດຍການຂະຫຍາຍ Docker image¶
ເພື່ອປັບປ່ຽນການຕັ້ງຄ່າທີ່ລະດັບ Docker image ແທນທີ່ຈະເປັນຈາກ data volume:
ເພີ່ມໂມດູນໃຫ້ກັບ package ຂອງທ່ານທີ່ນຳເຂົ້າການຕັ້ງຄ່າທັງໝົດຈາກ
weblate.settings_docker.ຕົວຢ່າງ, ພາຍໃນໂຄງສ້າງ package ຕົວຢ່າງທີ່ກຳນົດໄວ້ທີ່ ການສ້າງໂມດູນ Python, ທ່ານສາມາດສ້າງໄຟລ໌ທີ່
weblate_customization/weblate_customization/settings.pyດ້ວຍລະຫັດເລີ່ມຕົ້ນດັ່ງນີ້:from weblate.settings_docker import *
ສ້າງ
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
ແທນທີ່ຈະໃຊ້ 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.ຂະຫຍາຍໂມດູນການຕັ້ງຄ່າແບບກຳນົດເອງຂອງທ່ານເພື່ອລະບຸ ຫຼື ກຳນົດການຕັ້ງຄ່າໃໝ່.
ທ່ານສາມາດລະບຸການຕັ້ງຄ່າກ່ອນ ຫຼື ຫຼັງຄຳສັ່ງ 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.
/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:
ເຂົ້າເຖິງ Weblate admin interface
ໄປທີ່ ການແປດ້ວຍເຄື່ອງຈັກ (Machine translation) → ຄຳແນະນຳອັດຕະໂນມັດ (Automatic suggestions)
ເພີ່ມບໍລິການ 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
See also
ການຕັ້ງຄ່າເຊີບເວີ 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