---
title: "Weblate Docker Compose und Hosting mit einem Klick"
description: "Weblate selbst hosten: Open-Source-Lokalisierungsplattform. Übersetze Apps und Dokumentation im Team, synchron mit Git. Mit PostgreSQL, mit einem Klick."
---

[← Alle Vorlagen](https://pethost.dev/de/templates/) · [Entwickler-Tools](https://pethost.dev/de/templates/developer-tools/)

# Weblate mit einem Klick deployen

Eine Lokalisierungsplattform: Übersetze Apps und Dokumentation mit deinem Team, synchron mit Git

Eine selbst gehostete Alternative zu Crowdin, Transifex und Lokalise.

[Auf Pethost deployen](https://console.pethost.dev/?template=weblate)

## Was ist Weblate?

Weblate ist eine webbasierte Open-Source-Plattform für Lokalisierung. Entwicklungsteams, Übersetzungsprofis und Freiwillige übersetzen dort Software, Websites und Dokumentation an einem Ort, mit Rollen dafür, wer übersetzen, überprüfen und verwalten darf. Michal Čihař hat Weblate 2012 ins Leben gerufen; es ist freie Software mit Copyleft unter der GNU GPL, und das Weblate-Team betreibt es als Hosted Weblate auch für andere.

Weblate ist für kontinuierliche Lokalisierung gebaut. Es hält einen Klon deines Git-Repositorys, übernimmt neue Zeichenketten, wenn du pushst, und committet die Übersetzungen zurück, mit Nennung jeder Person, die übersetzt hat, um sie auf deinen Branch zu pushen oder einen Pull Request zu öffnen. Es liest und schreibt die Dateien, die dein Projekt schon hat: GNU gettext, XLIFF, JSON für i18next, Vue I18n oder go-i18n, Android- und Apple-Strings, Java Properties, YAML, Markdown und Dutzende mehr. Wer übersetzt, bekommt Kontext, Bildschirmfotos, ein Glossar, einen Übersetzungsspeicher und Qualitätsprüfungen; maschinelle Übersetzung und LLMs sind optional, als Vorschläge oder Entwürfe, die Menschen prüfen.

Diese Vorlage startet das offizielle Image von Weblate, die Versionsreihe 2026.10, mit einer Postgres-18- und einer Valkey-9-Datenbank, die „Neues Projekt“ daneben erstellt, verbunden vor dem ersten Start von Weblate; statt der neuen Postgres-Datenbank kannst du eine deiner wählen. Dieser Start legt den Admin mit der E-Mail-Adresse und dem Passwort an, die du angibst, bevor Weblate irgendwem antwortet, und die Registrierung bleibt geschlossen. Celery, das die Hintergrundarbeit von Weblate erledigt, läuft in einem einzigen Prozess: So spart Weblate laut seiner Dokumentation RAM. E-Mails, für Einladungen, Benachrichtigungen und das Zurücksetzen von Passwörtern, gehen über Resend, SendGrid oder Amazon SES, je nachdem, welchen Anbieter du in „Neues Projekt“ wählst, und gar keine, solange du keinen wählst.

## Weblate-Hosting auf Pethost

1. Du meldest dich bei Pethost an, mit Passkey, GitHub oder Google. Noch keine Maschine? Du wählst einen Tarif, und der Link wartet, bis sie bereit ist.
2. „Neues Projekt“ öffnet sich bei Weblate. Du füllst aus, was die App braucht, und klickst auf „Projekt erstellen“: **E-Mail**, **Admin-Passwort**.
3. E-Mail ist optional: Damit Weblate E-Mails sendet, wählst du in „Neues Projekt“ **Resend**, **SendGrid** oder **Amazon SES** und fügst ein, was der Anbieter dir gibt.
4. „Neues Projekt“ erstellt außerdem neue Datenbanken für Weblate und verbindet sie vor dem ersten Start der App: **[Postgres](https://pethost.dev/de/postgres/)** (512 MB) und **Valkey** (256 MB). Oder du wählst eine deiner **Postgres**-Datenbanken: Weblate bekommt darin einen eigenen Benutzer und eine eigene Datenbank, die die anderen Apps dort nicht lesen können, und alle Apps darin werden zusammen gesichert und wiederhergestellt.
5. In ein, zwei Minuten läuft Weblate unter eigener Adresse mit HTTPS. Die Secrets werden zufällig erzeugt, und die Daten sind im nächtlichen Backup.
6. Es ist ein Projekt wie jedes andere: Du oder dein Agent könnt es ändern, zurückrollen oder wiederherstellen.

## Fragen zu Weblate

**Ist Weblate kostenlos und Open Source?**

Ja. Weblate ist freie Software unter der GNU GPL, Version 3 oder neuer, du kannst es also kostenlos betreiben, untersuchen, ändern und selbst hosten. Hosted Weblate ist der kostenpflichtige Dienst des Weblate-Teams, mit einer 14-tägigen Testphase, und öffentliche freie Projekte können dort das Paket „Freies Hosting“ kostenlos beantragen.

**Wie arbeitet Weblate mit Git?**

Weblate hält einen Klon jedes Repositorys, das du hinzufügst. Neue Zeichenketten holt es, sobald dein Code-Host ihm einen Push meldet, und es committet Übersetzungen zurück, mit Nennung jeder Person, die übersetzt hat, und pusht sie dann oder öffnet einen Pull Request. Ist ein Repository privat, trag dort den Public Key aus „Verwalten → SSH-Schlüssel“ ein oder verbinde GitHub, GitLab und andere Hosts unter „Verwalten → Code-Hosting-Verbindungen“.

**Welche Dateiformate unterstützt Weblate?**

Dutzende: GNU gettext PO, XLIFF, JSON (i18next, Vue I18n, go-i18n, Format.JS und einfaches JSON), Android String Resources, Apple .strings und .stringsdict, ARB, Java- und GWT-Properties, .NET RESX, Qt Linguist, YAML, TOML, PHP- und Laravel-Strings, CSV, Markdown, HTML, Untertitel und mehr. Die Dokumentation von Weblate nennt die Varianten und Grenzen jedes Formats.

**Kann Weblate maschinelle Übersetzung oder KI nutzen?**

Ja, wenn du willst. Weblate kann DeepL, Google Cloud Translation, Azure AI Translator, Amazon Translate, LibreTranslate, OpenAI, Anthropic, Ollama und andere Dienste nach Vorschlägen fragen; jeden davon richtest du unter „Automatische Vorschläge“ ein. Der eingebaute Übersetzungsspeicher von Weblate braucht keinen externen Dienst, und generierter Text kann ein Vorschlag bleiben, bis eine Person ihn annimmt.

**Wie viel RAM braucht Weblate?**

Die Dokumentation von Weblate nennt 3 GB RAM und 2 CPU-Kerne als Minimum für Weblate, seine Datenbank und einen Webserver auf einem Host, und 4 GB für Hunderte Komponenten. Diese Vorlage führt die Hintergrundaufgaben von Weblate in einem einzigen Prozess aus, wie es die Dokumentation zum RAM-Sparen beschreibt: Auf unserer Testmaschine brauchte Weblate etwa 1 GB im Leerlauf und bis zu 1,5 GB beim Import eines Projekts, dazu etwa 70 MB für Postgres und 12 MB für Valkey.

**Wie viel RAM und Speicherplatz braucht Weblate?**

Weblate ist mittelschwer: etwa 1 GB RAM im Leerlauf und bis zu 1,5 GB beim Import eines Projekts, neben seiner Postgres-Datenbank mit 512 MB und seiner Valkey-Datenbank mit 256 MB; auf seiner Disk liegt ein Klon jedes Repositorys, das es übersetzt. „Neues Projekt“ gibt jeder Datenbank der App den Arbeitsspeicher, den die Vorlage empfiehlt, wenn du ihn nicht änderst: Postgres (512 MB) und Valkey (256 MB). Auf Pethost reicht dafür der Tarif Starter, mit Platz für weitere Apps daneben.

## Weblate: die Docker-Compose-Datei

Die Vorlage ist diese compose.yaml und die Variablen, die beim Erstellen in die .env des Projekts geschrieben werden. Pethost führt die Datei so aus, wie sie geschrieben ist. Wie sich die App bei ihren Datenbanken anmeldet, schreibt die Maschine dort hinein, wenn sie sie verbindet. Die E-Mail-Einstellungen schreibt „Neues Projekt“ so hinein, wie du sie dort wählst, oder lässt sie leer, wenn die App keine E-Mails sendet.

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

**Datenbanken, jede ein eigenes Projekt:** [Postgres](https://pethost.dev/de/postgres/) (512 MB), Valkey (256 MB).

**Volumes, im nächtlichen Backup:** 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)[Auf GitHub ansehen](https://github.com/pethost-dev/templates/tree/main/weblate)

## [Mehr in Entwickler-Tools](https://pethost.dev/de/templates/developer-tools/)

- [**Gitea**Git-Hosting mit Pull-Requests und Issues](https://pethost.dev/de/templates/gitea/)
- [**code-server**VS Code im Browser](https://pethost.dev/de/templates/code-server/)
- [**Kroki**Diagramme aus Text: PlantUML, Mermaid, Graphviz und mehr](https://pethost.dev/de/templates/kroki/)
- [**Coder**Entfernte Entwicklungsumgebungen aus Terraform-Vorlagen, geöffnet in VS Code, JetBrains, im Browser oder per SSH](https://pethost.dev/de/templates/coder/)
- [**Hasura**Sofortige GraphQL- und REST-APIs über einer Postgres-Datenbank, mit Berechtigungen, Events und einer Web-Konsole](https://pethost.dev/de/templates/hasura/)
- [**InsForge**Ein Backend für Apps, die Coding-Agenten bauen: Postgres, Auth, Speicher und Edge Functions](https://pethost.dev/de/templates/insforge/)

Pethost · Stephan Gomer · NIP 1133096755

Pethost

- [Vorlagen](https://pethost.dev/de/templates/)
- [Über uns](https://pethost.dev/about/)
- [Doku](https://pethost.dev/docs/)
- [Blog](https://pethost.dev/de/blog/)
- [API](https://pethost.dev/docs/api/)
- [CLI](https://pethost.dev/docs/cli/)
- [Plugin](https://github.com/pethost-dev/plugin)
- [AGB](https://pethost.dev/terms/)
- [Datenschutz](https://pethost.dev/privacy/)
- [Erstattung](https://pethost.dev/refunds/)
- [support@pethost.dev](mailto:support@pethost.dev)

Datenbanken

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

Vergleiche

- [Coolify vs Dokploy vs CapRover vs Dokku](https://pethost.dev/de/blog/coolify-vs-dokploy-vs-caprover-vs-dokku/)
- [Coolify Cloud vs Dokploy Cloud](https://pethost.dev/de/blog/coolify-cloud-vs-dokploy-cloud/)
- [Railway vs Render vs Fly.io Preise](https://pethost.dev/de/blog/railway-vs-render-vs-fly-io-pricing/)
- [Managed Hosting für Docker Compose](https://pethost.dev/de/blog/managed-docker-compose-hosting/)

Alternativen

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