---
title: "Weblate: Docker Compose i hosting jednym kliknięciem"
description: "Hostuj u siebie Weblate, platformę lokalizacji open source: tłumacz z zespołem aplikacje i dokumentację na bieżąco z Gitem, z PostgreSQL, w jeden klik."
---

[← Wszystkie szablony](https://pethost.dev/pl/templates/) · [Narzędzia dla programistów](https://pethost.dev/pl/templates/developer-tools/)

# Wdróż Weblate jednym kliknięciem

Platforma lokalizacji: tłumacz z zespołem aplikacje i dokumentację na bieżąco z Gitem

Alternatywa dla Crowdin, Transifex i Lokalise, hostowana u siebie.

[Wdróż na Pethost](https://console.pethost.dev/?template=weblate)

## Czym jest Weblate?

Weblate to webowa platforma lokalizacji typu open source. Programiści, zawodowi tłumacze i wolontariusze tłumaczą w jednym miejscu oprogramowanie, strony internetowe i dokumentację, a role określają, kto może tłumaczyć, przeglądać i zarządzać. Michal Čihař zaczął go tworzyć w 2012 roku; to wolne oprogramowanie z copyleftem na licencji GNU GPL, a jego twórcy prowadzą go też dla innych jako Hosted Weblate.

Weblate powstał z myślą o ciągłej lokalizacji. Trzyma klon twojego repozytorium Git, przyjmuje nowe ciągi, gdy robisz push, i zapisuje tłumaczenia z powrotem w commitach, z wymienieniem każdego tłumacza, a potem robi push na twój branch albo otwiera pull request. Czyta i zapisuje pliki, które twój projekt już ma: GNU gettext, XLIFF, JSON dla i18next, Vue I18n lub go-i18n, ciągi Androida i Apple, properties Javy, YAML, Markdown i dziesiątki innych. Tłumacze dostają kontekst, zrzuty ekranu, słownik, pamięć tłumaczeniową i sprawdzenia jakości; tłumaczenie maszynowe i LLM-y są opcjonalne, jako sugestie albo szkice, które przeglądają ludzie.

Ten szablon uruchamia oficjalny obraz Weblate z serii 2026.10 z bazą danych Postgres 18 i bazą Valkey 9, które Nowy projekt tworzy obok niego, podłączonymi przed pierwszym startem Weblate; zamiast nowej bazy Postgres możesz wybrać jedną ze swoich. Ten start tworzy admina z adresu e-mail i hasła, które podasz, zanim Weblate komukolwiek odpowie, a rejestracja pozostaje zamknięta. Celery, który wykonuje pracę Weblate w tle, działa w jednym procesie: to opisany w dokumentacji Weblate sposób na oszczędzanie pamięci. E-maile, do zaproszeń, powiadomień i resetu hasła, idą przez Resend, SendGrid albo Amazon SES, zależnie od wyboru w oknie „Nowy projekt”, a dopóki żadnego nie wybierzesz, nie wychodzą wcale.

## Hosting Weblate na Pethost

1. Logujesz się do Pethost kluczem dostępu, przez GitHub albo Google. Nie masz jeszcze maszyny? Wybierasz plan, a link czeka, aż będzie gotowa.
2. Okno „Nowy projekt” otwiera się na aplikacji Weblate. Wypełniasz to, o co prosi, i klikasz „Utwórz projekt”: **E-mail**, **Hasło administratora**.
3. E-mail jest opcjonalny: żeby aplikacja Weblate go wysyłała, wybierasz w oknie „Nowy projekt” **Resend**, **SendGrid** lub **Amazon SES** i wklejasz to, co daje ci dostawca.
4. Okno „Nowy projekt” tworzy też nowe bazy danych dla aplikacji Weblate i podłącza je przed pierwszym uruchomieniem aplikacji: **[Postgres](https://pethost.dev/pl/postgres/)** (512 MB) i **Valkey** (256 MB). Albo wybierasz jedną ze swoich baz **Postgres**: aplikacja Weblate dostaje w niej własnego użytkownika i własną bazę danych, których inne aplikacje tam nie odczytają, a wszystkie aplikacje tej bazy mają wspólny backup i są przywracane razem.
5. Za minutę czy dwie aplikacja Weblate działa pod własnym adresem z HTTPS. Jej sekrety są tworzone losowo, a dane trafiają do nocnego backupu.
6. To projekt jak każdy inny: ty albo twój agent możecie go zmienić, cofnąć do wcześniejszej wersji albo przywrócić.

## Pytania o Weblate

**Czy Weblate jest darmowy i open source?**

Tak. Weblate to wolne oprogramowanie na licencji GNU GPL w wersji 3 lub nowszej, więc możesz je uruchamiać, analizować, zmieniać i hostować u siebie bez opłat. Hosted Weblate to płatna usługa jego twórców z 14-dniowym okresem próbnym, a publiczne wolne projekty mogą poprosić tam o hosting Libre za darmo.

**Jak Weblate współpracuje z Gitem?**

Weblate trzyma klon każdego repozytorium, które dodasz. Pobiera nowe ciągi, gdy twój hosting kodu powiadomi go o pushu, i zapisuje tłumaczenia z powrotem w commitach, z wymienieniem każdego tłumacza, a potem robi push albo otwiera pull request. Do prywatnego repozytorium dodaj klucz publiczny ze strony Zarządzaj → Klucze SSH albo połącz GitHub, GitLab i inne hostingi na stronie Zarządzaj → Połączenia z hostingiem kodu.

**Jakie formaty plików obsługuje Weblate?**

Dziesiątki: GNU gettext PO, XLIFF, JSON (i18next, Vue I18n, go-i18n, Format.JS i zwykły), Android String Resources, Apple .strings i .stringsdict, ARB, properties Javy i GWT, .NET RESX, Qt Linguist, YAML, TOML, ciągi PHP i Laravela, CSV, Markdown, HTML, napisy i inne. Dokumentacja Weblate opisuje warianty i ograniczenia każdego formatu.

**Czy Weblate może używać tłumaczenia maszynowego albo AI?**

Tak, jeśli chcesz. Weblate może pytać o sugestie DeepL, Google Cloud Translation, Azure AI Translator, Amazon Translate, LibreTranslate, OpenAI, Anthropic, Ollama i inne usługi; każdą ustawiasz w sekcji Automatyczne sugestie. Wbudowana pamięć tłumaczeniowa Weblate nie potrzebuje żadnej zewnętrznej usługi, a wygenerowany tekst może pozostać sugestią, dopóki człowiek go nie zaakceptuje.

**Ile pamięci potrzebuje Weblate?**

Dokumentacja Weblate podaje 3 GB pamięci i 2 rdzenie CPU jako minimum dla Weblate, jego bazy danych i serwera WWW na jednym hoście, a 4 GB dla setek komponentów. Ten szablon uruchamia zadania Weblate w tle w jednym procesie, co według dokumentacji oszczędza pamięć: na naszej maszynie testowej Weblate zajmował około 1 GB w spoczynku i do 1,5 GB podczas importu projektu, obok około 70 MB dla bazy Postgres i 12 MB dla bazy Valkey.

**Ile pamięci i miejsca na dysku potrzebuje Weblate?**

Weblate ma średnie wymagania: około 1 GB pamięci w spoczynku i do 1,5 GB podczas importu projektu, obok bazy Postgres z 512 MB i bazy Valkey z 256 MB; na dysku trzyma klon każdego repozytorium, które tłumaczy. Okno „Nowy projekt” daje każdej bazie danych aplikacji tyle pamięci, ile zaleca szablon, chyba że to zmienisz: Postgres (512 MB) i Valkey (256 MB). Na Pethost wystarczy mu plan Starter, z miejscem na inne aplikacje obok.

## Weblate: plik Docker Compose

Szablon to ten compose.yaml i zmienne zapisywane do .env projektu przy jego tworzeniu. Pethost uruchamia plik dokładnie tak, jak jest napisany. Maszyna zapisuje tam, jak aplikacja loguje się do swoich baz danych, gdy je podłącza. Okno „Nowy projekt” zapisuje tam wybrane w nim ustawienia e-maila albo zostawia je puste, gdy aplikacja nie wysyła e-maili.

**Kontenery:** weblate (weblate/weblate:2026.10).

**Bazy danych, każda jako osobny projekt:** [Postgres](https://pethost.dev/pl/postgres/) (512 MB), Valkey (256 MB).

**Wolumeny, w nocnym backupie:** 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)[Zobacz na GitHubie](https://github.com/pethost-dev/templates/tree/main/weblate)

## [Więcej w kategorii Narzędzia dla programistów](https://pethost.dev/pl/templates/developer-tools/)

- [**Gitea**Hosting Git z pull requestami i zgłoszeniami](https://pethost.dev/pl/templates/gitea/)
- [**code-server**VS Code w przeglądarce](https://pethost.dev/pl/templates/code-server/)
- [**Kroki**Diagramy z tekstu: PlantUML, Mermaid, Graphviz i inne](https://pethost.dev/pl/templates/kroki/)
- [**Coder**Zdalne środowiska programistyczne z szablonów Terraform, otwierane w VS Code, JetBrains, przeglądarce albo przez SSH](https://pethost.dev/pl/templates/coder/)
- [**Hasura**Natychmiastowe API GraphQL i REST nad bazą Postgres, z uprawnieniami, zdarzeniami i konsolą w przeglądarce](https://pethost.dev/pl/templates/hasura/)
- [**InsForge**Backend dla aplikacji, które budują agenci kodujący: Postgres, uwierzytelnianie, pliki i edge functions](https://pethost.dev/pl/templates/insforge/)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Szablony](https://pethost.dev/pl/templates/)
- [O nas](https://pethost.dev/about/)
- [Dokumentacja](https://pethost.dev/docs/)
- [Blog](https://pethost.dev/pl/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Plugin](https://github.com/pethost-dev/plugin)
- [Regulamin](https://pethost.dev/terms/)
- [Prywatność](https://pethost.dev/privacy/)
- [Zwroty](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Bazy danych

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

Porównania

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/pl/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/pl/blog/coolify-cloud-vs-dokploy-cloud/)
- [Cennik Railway vs Render vs Fly.io](https://pethost.dev/pl/blog/railway-vs-render-vs-fly-io-pricing/)
- [Zarządzany hosting Docker Compose](https://pethost.dev/pl/blog/managed-docker-compose-hosting/)

Alternatywy

- [Alternatywy dla Railway](https://pethost.dev/pl/blog/railway-alternatives/)
- [Alternatywy dla Heroku](https://pethost.dev/pl/blog/heroku-alternatives/)
- [Alternatywy dla Dokploy](https://pethost.dev/pl/blog/dokploy-alternatives/)
- [Alternatywy dla Coolify](https://pethost.dev/pl/blog/coolify-alternatives/)
- [Alternatywy dla Render](https://pethost.dev/pl/blog/render-alternatives/)
- [Alternatywy dla Sliplane](https://pethost.dev/pl/blog/sliplane-alternatives/)
