Skip to content

Deploying a Traduora App

Introduction

Traduora is an open-source localization management platform with a web UI and API. This guide shows how to containerize Traduora, connect it to PostgreSQL, configure admin credentials, and deploy it to Klutch.sh over HTTP.

Prerequisites

  • GitHub repository containing your Dockerfile.
  • PostgreSQL instance (managed or deployed separately).
  • Klutch.sh project ready in klutch.sh/app.

Project structure

.
└── Dockerfile

Sample Dockerfile

FROM traduora/traduora:latest
# Default Traduora port
ENV PORT=8080
EXPOSE 8080

Required environment variables

  • DATABASE_URL – e.g., postgres://USER:PASSWORD@HOST:PORT/DB
  • JWT_SECRET – strong secret for signing tokens
  • DEFAULT_ADMIN_EMAIL – initial admin account
  • DEFAULT_ADMIN_PASSWORD – initial admin password
  • APP_URL – public URL, e.g., https://example-app.klutch.sh

Optional environment variables

  • PORT – override if you change the internal port
  • LOG_LEVEL – e.g., info or warn
  • CORS_ORIGINS – comma-separated origins for API/UI

Persistence

Primary data lives in PostgreSQL. If you need to persist uploads/exports, attach a volume:

  • Mount path: /app/storage
  • Size: based on expected asset footprint

Networking

  • Protocol: HTTP
  • Internal port: 8080
  • Users reach https://example-app.klutch.sh while Klutch.sh routes to port 8080 in the container.
Terminal window
curl -I http://localhost:8080

Deployment on Klutch.sh

  1. Push your Dockerfile to GitHub.
  2. In klutch.sh/app, create a new app and choose GitHub as the source.
  3. Klutch.sh automatically detects the Dockerfile in the repository root.
  4. Select HTTP traffic and set the internal port to 8080.
  5. Add environment variables for DATABASE_URL, JWT_SECRET, admin credentials, and APP_URL. Mark secrets as sensitive.
  6. Optionally attach a persistent volume at /app/storage if storing files locally.
  7. Deploy. After the first boot, log in with the default admin and finalize workspace settings.

Verification

  • UI: open https://example-app.klutch.sh and confirm the Traduora dashboard loads.

  • API health:

    Terminal window
    curl -I https://example-app.klutch.sh/api/health

Next steps

  • Rotate the admin password after initial setup.
  • Enable TLS and backups for your PostgreSQL database.
  • Configure CORS and OAuth providers if you integrate SSO.