---
title: "Weblate: Docker Compose і хостинг в один клік"
description: "Self-hosted Weblate — платформа локалізації з відкритим кодом: перекладайте застосунки й документацію командою, синхронно з Git. З PostgreSQL в один клік."
---

[← Усі шаблони](https://pethost.dev/uk/templates/) · [Інструменти розробника](https://pethost.dev/uk/templates/developer-tools/)

# Задеплойте Weblate в один клік

Платформа локалізації: перекладайте застосунки й документацію разом із командою, синхронно з Git

Альтернатива Crowdin, Transifex і Lokalise на вашій машині.

[Задеплоїти на Pethost](https://console.pethost.dev/?template=weblate)

## Що таке Weblate?

Weblate — це вебплатформа для локалізації з відкритим кодом. Розробники, професійні перекладачі й волонтери перекладають програми, сайти й документацію в одному місці, а ролі визначають, хто може перекладати, перевіряти й керувати. Проєкт започаткував Michal Čihař у 2012 році; це вільне програмне забезпечення за копілефт-ліцензією GNU GPL, а його розробники також запускають його для інших як сервіс Hosted Weblate.

Weblate створено для безперервної локалізації. Він тримає клон вашого Git-репозиторію, забирає нові рядки після кожного пушу й комітить переклади назад, зазначаючи авторство кожного перекладача, щоб запушити їх у вашу гілку або відкрити pull request. Він читає й записує ті файли, які вже є у вашому проєкті: GNU gettext, XLIFF, JSON для i18next, Vue I18n або go-i18n, рядки Android і Apple, properties-файли Java, YAML, Markdown і ще десятки форматів. Перекладачі мають контекст, знімки екрана, глосарій, пам’ять перекладів і перевірки якості; машинний переклад і LLM — за бажанням, у вигляді пропозицій або чернеток, які перевіряють люди.

Цей шаблон запускає офіційний образ Weblate лінійки 2026.10 з базами даних Postgres 18 і Valkey 9, які «Новий проєкт» створює поруч і підключає до першого запуску Weblate; замість нової бази Postgres можна обрати одну з ваших. Під час цього запуску створюється адміністратор із поштою та паролем, які ви вкажете, ще до того, як Weblate комусь відповість, а реєстрація лишається закритою. Celery, на якому працюють фонові завдання Weblate, запущено в одному процесі: так документація Weblate радить заощаджувати пам’ять. Листи із запрошеннями, сповіщеннями й скиданням пароля Weblate надсилає через Resend, SendGrid або Amazon SES — який сервіс ви оберете у вікні «Новий проєкт», а поки сервіс не обрано, не надсилає зовсім.

## Хостинг Weblate на Pethost

1. Ви входите в Pethost — з ключем доступу, через GitHub або Google. Машини ще немає? Ви обираєте тариф, і посилання чекає, доки машина не буде готова.
2. Вікно «Новий проєкт» відкривається на застосунку Weblate. Ви заповнюєте те, що він просить, і натискаєте «Створити проєкт»: **Електронна пошта**, **Пароль адміністратора**.
3. Надсилання пошти необов’язкове: щоб застосунок Weblate надсилав листи, ви обираєте у вікні «Новий проєкт» **Resend**, **SendGrid** або **Amazon SES** і вставляєте те, що видає провайдер.
4. Вікно «Новий проєкт» також створює для застосунку Weblate нові бази даних і підключає їх до першого запуску застосунку: **[Postgres](https://pethost.dev/uk/postgres/)** (512 MB) і **Valkey** (256 MB). Або ви обираєте одну зі своїх баз **Postgres**: застосунок Weblate отримує в ній окремого користувача й окрему базу даних, яких інші застосунки там не можуть прочитати, а всі застосунки цієї бази потрапляють в один бекап і відновлюються разом.
5. За хвилину-дві Weblate працює за власною адресою з HTTPS. Секрети створюються випадково, а дані потрапляють у щонічний бекап.
6. Це проєкт як будь-який інший: ви або ваш агент можете його змінити, відкотити або відновити.

## Питання про Weblate

**Weblate безплатний і з відкритим кодом?**

Так. Weblate — вільне програмне забезпечення за ліцензією GNU GPL версії 3 або новішої, тож його можна безкоштовно запускати, вивчати, змінювати й хостити у себе. Hosted Weblate — платний сервіс його розробників із пробним періодом на 14 днів, а публічні вільні проєкти можуть безкоштовно попросити його тариф Libre.

**Як Weblate працює з Git?**

Weblate тримає клон кожного репозиторію, який ви додасте. Він забирає нові рядки, коли хостинг коду повідомляє йому про пуш, і комітить переклади назад, зазначаючи авторство кожного перекладача, а потім пушить їх або відкриває pull request. До приватного репозиторію додайте публічний ключ із розділу «Управління» → «Ключі SSH» або підключіть GitHub, GitLab та інші хостинги коду в розділі «Управління» → «З'єднання із сховищами програмного коду».

**Які формати файлів підтримує Weblate?**

Десятки: GNU gettext PO, XLIFF, JSON (i18next, Vue I18n, go-i18n, Format.JS і звичайний), рядки ресурсів Android, .strings і .stringsdict від Apple, ARB, properties-файли Java і GWT, .NET RESX, Qt Linguist, YAML, TOML, рядки PHP і Laravel, CSV, Markdown, HTML, субтитри та інші. У документації Weblate перелічено варіанти й обмеження кожного формату.

**Чи може Weblate використовувати машинний переклад або ШІ?**

Так, якщо ви цього хочете. Weblate може запитувати пропозиції в DeepL, Google Cloud Translation, Azure AI Translator, Amazon Translate, LibreTranslate, OpenAI, Anthropic, Ollama та інших сервісів; кожен налаштовують у розділі «Автоматичні пропозиції». Власній пам’яті перекладів Weblate зовнішній сервіс не потрібен, а згенерований текст може лишатися пропозицією, доки його не прийме людина.

**Скільки пам’яті потрібно Weblate?**

Документація Weblate називає мінімумом для Weblate, його бази даних і вебсервера на одному хості 3 GB пам’яті та 2 ядра CPU, а для сотень складників — 4 GB. Цей шаблон виконує фонові завдання Weblate в одному процесі, як радить документація, щоб заощадити пам’ять: на нашій тестовій машині Weblate займав близько 1 GB без навантаження й до 1,5 GB під час імпорту проєкту, а Postgres і Valkey поруч із ним — близько 70 MB і 12 MB.

**Скільки пам’яті й диска потрібно Weblate?**

Weblate має помірні вимоги: близько 1 GB пам’яті без навантаження й до 1,5 GB під час імпорту проєкту, поруч із його базами Postgres на 512 MB і Valkey на 256 MB; на диску лежить клон кожного репозиторію, який перекладають у Weblate. Вікно «Новий проєкт» дає кожній базі даних застосунку стільки пам’яті, скільки радить шаблон, якщо ви це не зміните: Postgres (512 MB) і Valkey (256 MB). На Pethost йому вистачить тарифу Starter, і поруч залишиться місце для інших застосунків.

## Weblate: файл Docker Compose

Шаблон — це цей compose.yaml і змінні, які записуються в .env проєкту під час його створення. Pethost запускає файл так, як його написано. Машина записує туди, як застосунок входить у свої бази даних, коли підключає їх. Вікно «Новий проєкт» записує туди вибрані в ньому налаштування пошти або залишає їх порожніми, якщо застосунок не надсилає листів.

**Контейнери:** weblate (weblate/weblate:2026.10).

**Бази даних, кожна — окремий проєкт:** [Postgres](https://pethost.dev/uk/postgres/) (512 MB), Valkey (256 MB).

**Томи, у щонічному бекапі:** data, cache.

```
services:
  weblate:
    image: weblate/weblate:2026.10
    restart: unless-stopped
    environment:
      WEBLATE_SITE_DOMAIN: ${HOST}
      # The admin account, made at the first start before Weblate answers anyone. Weblate sets
      # its email and password again from these at every start.
      WEBLATE_ADMIN_EMAIL: ${ADMIN_EMAIL}
      WEBLATE_ADMIN_PASSWORD: ${ADMIN_PASSWORD}
      WEBLATE_REGISTRATION_OPEN: "0"
      # TLS ends at the machine's proxy, which says so in X-Forwarded-Proto and gives the
      # visitor's address in X-Forwarded-For. It reaches the project from the machine's networks,
      # 10.192.0.0/10, the one source Weblate's nginx takes that header from.
      WEBLATE_ENABLE_HTTPS: "1"
      WEBLATE_SECURE_PROXY_SSL_HEADER: HTTP_X_FORWARDED_PROTO,https
      WEBLATE_IP_PROXY_HEADER: HTTP_X_FORWARDED_FOR
      WEBLATE_TRUSTED_PROXY_ADDRESSES: 10.192.0.0/10
      # Celery's queues in one process: Weblate's documented way to save memory on a small
      # machine.
      CELERY_WORKER_MODE: single
      # Its translations, users and history, in the Postgres database linked to the project.
      POSTGRES_HOST: ${DATABASE_HOST:?reload New project to link a Postgres database, or send link_databases with env_prefix DATABASE}
      POSTGRES_PORT: ${DATABASE_PORT:?reload New project to link a Postgres database, or send link_databases with env_prefix DATABASE}
      POSTGRES_DB: ${DATABASE_NAME:?reload New project to link a Postgres database, or send link_databases with env_prefix DATABASE}
      POSTGRES_USER: ${DATABASE_USER:?reload New project to link a Postgres database, or send link_databases with env_prefix DATABASE}
      POSTGRES_PASSWORD: ${DATABASE_PASSWORD:?reload New project to link a Postgres database, or send link_databases with env_prefix DATABASE}
      # Its task queue and cache, in the Valkey database linked to the project.
      REDIS_HOST: ${REDIS_HOST:?reload New project to link a Valkey database, or send link_databases with env_prefix REDIS}
      REDIS_PORT: ${REDIS_PORT:?reload New project to link a Valkey database, or send link_databases with env_prefix REDIS}
      REDIS_PASSWORD: ${REDIS_PASSWORD:?reload New project to link a Valkey database, or send link_databases with env_prefix REDIS}
      REDIS_DB: "0"
      # The mail provider picked in New project, by STARTTLS on its port. With none, Weblate's
      # mail goes nowhere, and its host stays set, which Weblate requires.
      WEBLATE_EMAIL_BACKEND: ${SMTP_BACKEND:-django.core.mail.backends.dummy.EmailBackend}
      WEBLATE_EMAIL_HOST: ${SMTP_HOST:-localhost}
      WEBLATE_EMAIL_PORT: ${SMTP_PORT:-25}
      WEBLATE_EMAIL_HOST_USER: ${SMTP_USER}
      WEBLATE_EMAIL_HOST_PASSWORD: ${SMTP_PASSWORD}
      WEBLATE_EMAIL_USE_TLS: "1"
      WEBLATE_EMAIL_USE_SSL: "0"
      WEBLATE_SERVER_EMAIL: ${SMTP_FROM}
      WEBLATE_DEFAULT_FROM_EMAIL: ${SMTP_FROM_HEADER}
    volumes:
      # The repositories Weblate translates, its settings and media.
      - data:/app/data
      - cache:/app/cache
    tmpfs:
      - /run
      - /tmp

volumes:
  data:
  cache:
```

[compose.yaml](https://pethost.dev/templates/weblate/compose.yaml)[Відкрити на GitHub](https://github.com/pethost-dev/templates/tree/main/weblate)

## [Ще в категорії «Інструменти розробника»](https://pethost.dev/uk/templates/developer-tools/)

- [**Gitea**Git-хостинг із пул-реквестами й задачами](https://pethost.dev/uk/templates/gitea/)
- [**code-server**VS Code у браузері](https://pethost.dev/uk/templates/code-server/)
- [**Kroki**Діаграми з тексту: PlantUML, Mermaid, Graphviz та інші](https://pethost.dev/uk/templates/kroki/)
- [**Coder**Віддалені середовища розробки з шаблонів Terraform, які відкриваються у VS Code, JetBrains, браузері або через SSH](https://pethost.dev/uk/templates/coder/)
- [**Hasura**Готові GraphQL- і REST-API поверх бази Postgres, із правами доступу, подіями й вебконсоллю](https://pethost.dev/uk/templates/hasura/)
- [**InsForge**Бекенд для застосунків, які пишуть AI-агенти: Postgres, авторизація, файли та edge functions](https://pethost.dev/uk/templates/insforge/)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Шаблони](https://pethost.dev/uk/templates/)
- [Про нас](https://pethost.dev/about/)
- [Документація](https://pethost.dev/docs/)
- [Блог](https://pethost.dev/uk/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Плагін](https://github.com/pethost-dev/plugin)
- [Умови](https://pethost.dev/terms/)
- [Конфіденційність](https://pethost.dev/privacy/)
- [Повернення коштів](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Бази даних

- [Postgres](https://pethost.dev/uk/postgres/)

Порівняння

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/uk/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/uk/blog/coolify-cloud-vs-dokploy-cloud/)
- [Ціни Railway vs Render vs Fly.io](https://pethost.dev/uk/blog/railway-vs-render-vs-fly-io-pricing/)
- [Керований хостинг Docker Compose](https://pethost.dev/uk/blog/managed-docker-compose-hosting/)

Альтернативи

- [Альтернативи Railway](https://pethost.dev/uk/blog/railway-alternatives/)
- [Альтернативи Heroku](https://pethost.dev/uk/blog/heroku-alternatives/)
- [Альтернативи Dokploy](https://pethost.dev/uk/blog/dokploy-alternatives/)
- [Альтернативи Coolify](https://pethost.dev/uk/blog/coolify-alternatives/)
- [Альтернативи Render](https://pethost.dev/uk/blog/render-alternatives/)
- [Альтернативи Sliplane](https://pethost.dev/uk/blog/sliplane-alternatives/)
