Skip to content

Deploying a Traggo App

Introduction

Traggo is a self-hosted time tracking tool with a clean web UI. This guide walks through containerizing Traggo, configuring credentials, persisting your data, and deploying it to Klutch.sh over HTTP.

Prerequisites

  • GitHub repository containing your Traggo Dockerfile.
  • Klutch.sh project ready in klutch.sh/app.

Project structure

.
└── Dockerfile

Sample Dockerfile

FROM traggo/server:latest
# Default Traggo port
ENV TRAGGO_PORT=3030
EXPOSE 3030

Required environment variables

  • TRAGGO_PORT – internal port (default 3030).
  • TRAGGO_USERNAME – initial admin username.
  • TRAGGO_PASSWORD – initial admin password.
  • TRAGGO_SECRET – secret for JWT and session signing (use a strong random string).

Optional environment variables

  • TRAGGO_LANGUAGE – default language (e.g., en).
  • TRAGGO_TIMEZONE – default timezone (e.g., UTC).

Persistence

Store user data and entries on a volume:

  • Mount path: /opt/traggo/data
  • Size: match expected log and attachment growth

Networking

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

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 3030.
  5. Add environment variables for TRAGGO_USERNAME, TRAGGO_PASSWORD, TRAGGO_SECRET, and any locale/timezone preferences. Mark sensitive values as secrets.
  6. Attach a persistent volume at /opt/traggo/data sized for your workspace.
  7. Deploy. Sign in with the admin credentials you configured and set up your teams and projects.

Verification

  • UI: open https://example-app.klutch.sh and confirm the login screen appears.

  • Quick API check (if enabled):

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

Next steps

  • Rotate admin credentials after first login.
  • Configure backups for the data volume.
  • Set timezone and language defaults for your team.