Sign inSign up

tolgee/tolgee

By tolgee

•Updated about 9 hours ago

Open-source localization platform. Self-host the whole Tolgee server in one container.

Image
Developer tools
7

1M+

tolgee/tolgee repository overview

Docker Image Version GitHub Release License github stars github stars

Read the Docs Slack YouTube LinkedIn

⁠Tolgee: open-source localization platform

Tolgee

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

The Tolgee translation editor


⁠Quick start

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⁠.

⁠Tags

TagUse it for
latestTracks the newest release. Fine for trying Tolgee out.
v3.218.6, one per releaseImmutable. 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⁠.

⁠Image reference

Port 8080Web app + REST API
Volume /dataUploaded screenshots, initial.pwd
HealthcheckGET /actuator/health (already declared in the image)
RuntimeAlpine, Eclipse Temurin JRE 25
ConfigA YAML file mounted into the container, pointed at by spring.config.additional-location, or environment variables.

⁠Common configuration

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⁠.

PropertyWhat it does
spring.datasource.urlYour database, e.g. jdbc:postgresql://db:5432/postgres.
spring.datasource.username / .passwordDatabase user and password.
tolgee.front-end-urlPublic 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.enabledTurn authentication on (do this).
tolgee.authentication.initial-usernameFirst admin account. Defaults to admin.
tolgee.authentication.initial-passwordSet it yourself, or read the generated one from /data/initial.pwd.
tolgee.authentication.jwt-secretSigns sessions. Set it, or everyone is logged out on restart.
tolgee.smtp.host, .port, .username, .password, .fromOutgoing mail server. Needed for invitations and password resets to work.
tolgee.file-storage.s3.*Store screenshots in S3 instead of the volume.
server.portPort 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.

⁠What you get

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.

⁠Licensing

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⁠

Tag summary

Content type

Image

Digest

sha256:c589bddc1…

Size

410.8 MB

Last updated

about 9 hours ago

docker pull tolgee/tolgee