Open-source localization platform. Self-host the whole Tolgee server in one container.
1M+
An open-source alternative to Crowdin, Phrase and Lokalise. This image runs the Tolgee server (web app, REST API and background workers) against a PostgreSQL database.
linux/amd64 · linux/arm64 · JRE 25 on Alpine

Create docker-compose.yaml:
services:
app:
image: tolgee/tolgee:latest
volumes:
- ./data:/data
- ./config.yaml:/config.yaml
ports:
- '8080:8080'
environment:
spring.config.additional-location: file:///config.yaml
depends_on:
- db
db:
image: postgres:17
environment:
POSTGRES_PASSWORD: change_me
volumes:
- ./data/postgres:/var/lib/postgresql/data
and config.yaml next to it:
tolgee:
authentication:
enabled: true
jwt-secret: change_me # keeps sessions valid across restarts
spring:
datasource:
url: jdbc:postgresql://db:5432/postgres
username: postgres
password: change_me
Then:
docker compose up -d
Tolgee is on http://localhost:8080. Sign in as admin. The initial password is
generated on first boot and written into the data directory:
cat data/initial.pwd
Full walkthrough: Running with Docker.
| Tag | Use it for |
|---|---|
latest | Tracks the newest release. Fine for trying Tolgee out. |
v3.218.6, one per release | Immutable. Pin one of these in production. |
Every tag is a multi-arch manifest for linux/amd64 and linux/arm64.
Releases go out several times a week. See the
changelog.
| Port 8080 | Web app + REST API |
Volume /data | Uploaded screenshots, initial.pwd |
| Healthcheck | GET /actuator/health (already declared in the image) |
| Runtime | Alpine, Eclipse Temurin JRE 25 |
| Config | A YAML file mounted into the container, pointed at by spring.config.additional-location, or environment variables. |
Everything below goes into the config.yaml mounted in the quick start, under the
prefix shown. Full list, with the .env and application.properties equivalents:
configuration reference.
| Property | What it does |
|---|---|
spring.datasource.url | Your database, e.g. jdbc:postgresql://db:5432/postgres. |
spring.datasource.username / .password | Database user and password. |
tolgee.front-end-url | Public URL where Tolgee is reachable. Set it: if it is missing, password reset links are built from the incoming request, which allows account takeover. |
tolgee.authentication.enabled | Turn authentication on (do this). |
tolgee.authentication.initial-username | First admin account. Defaults to admin. |
tolgee.authentication.initial-password | Set it yourself, or read the generated one from /data/initial.pwd. |
tolgee.authentication.jwt-secret | Signs sessions. Set it, or everyone is logged out on restart. |
tolgee.smtp.host, .port, .username, .password, .from | Outgoing mail server. Needed for invitations and password resets to work. |
tolgee.file-storage.s3.* | Store screenshots in S3 instead of the volume. |
server.port | Port inside the container. Defaults to 8080. |
One setting is not a Spring property: OTEL_JAVAAGENT_ENABLED=true starts the bundled
OpenTelemetry agent for traces. The container start script reads it, so it is always an
environment variable.
Translating Web editor with comments, translation history and an activity log · translation memory with similarity scoring · glossaries · machine translation via DeepL, Google Translate, AWS Translate and LLM providers · auto-translation of new keys · review and task workflows.
In your app In-context editing: ALT-click a string in your running app and edit it, production included · one-click screenshots with the phrases highlighted · SDKs for React, Vue, Svelte, Angular, Next.js, Nuxt, i18next and more · content delivery to a CDN · webhooks · a CLI · a Figma plugin, a VS Code extension and a Chrome extension.
For teams Organizations, granular permissions and SSO/SAML · branching, so translations follow your feature branches · batch operations across thousands of keys · an MCP server so AI coding assistants can manage translations directly.
The platform is Apache 2.0. The ee/ directory is covered by the
Tolgee Enterprise License
and its features need a license key. Everything else in this image is free to
self-host, with no seat or key limit. Details:
self-hosted licensing.
Documentation · GitHub · Report a bug · Slack community · Tolgee Cloud
Content type
Image
Digest
sha256:29dc78d96…
Size
410 MB
Last updated
about 3 hours ago
docker pull tolgee/tolgee