Skip to main content

A TUI dashboard for Traefik

Project description

tt-tui-for-traefik

tt is a console TUI dashboard for Traefik.

This program is a third party companion tool for Traefik. Traefik is a trademark of Traefik Labs.

Install

  • Install uv
uv tool install tt-tui-for-traefik
  • Make sure your PATH environment variable (e.g., in ~/.bashrc) includes the directory ${HOME}/.local/bin.

Usage

The tt tool is installed at ${HOME}/.local/bin/tt.

usage: tt [-h] [--link LINK] [--url URL] [--username USERNAME] [--password PASSWORD]
          [--ssh-host SSH_HOST] [--ssh-remote-host SSH_REMOTE_HOST] [--ssh-remote-port SSH_REMOTE_PORT]

`tt` is a console TUI dashboard for Traefik

options:
  -h, --help                        show this help message and exit
  --link, -l LINK                   Deep link to a resource (e.g., entrypoint#websecure,
                                    middleware#mtls@file, router:tcp#myrouter)
  --url, -u URL                     Direct connection URL (disables Settings tab)
  --username USERNAME               HTTP basic auth username (requires --url)
  --password PASSWORD               HTTP basic auth password (requires --url)
  --ssh-host SSH_HOST               SSH host from ~/.ssh/config for tunnel (requires --url)
  --ssh-remote-host SSH_REMOTE_HOST Remote host for tunnel (default: localhost)
  --ssh-remote-port SSH_REMOTE_PORT Remote port for tunnel (default: 8080)

Keyboard navigation

  • Press Tab to cycle through the panels that can be focussed.
  • Use the arrow keys to select elements in the focussed pane.
  • Press Enter to descend the focus into the selected tab.
  • Press ESC to ascend the focus back to the tab bar.
  • Press q to quit.
  • Press / to search.
  • Press Ctrl + P to bring up the Pallete.
    • Select the Keys command to show a help screen with all of the contextual keybindings.
    • Select the Theme command to change the inteface theme.

Mouse navigation

In modern terminals, mouse / pointer support is enabled by default. You can click on tabs and buttons in the terminal window to navigate the app.

Configure Traefik API

The connection information must be set one of two ways:

  • On the Settings tab, enter the URL with port, username, and password.
  • Via the --url, --username and --password command line options (this disables the Settings tab for this session).

All settings are saved to the file ${HOME}/.local/share/tt-tui-for-traefik/config.toml. WARNING: This config file includes Traefik API credentials!

SSH Tunnel Support

tt can connect to remote Traefik instances via SSH tunnels. This is useful when your Traefik API is only accessible from a server and not exposed publicly.

Prerequisites

Configure your SSH connection in ~/.ssh/config. For example:

Host myserver
    HostName server.example.com
    User admin
    IdentityFile ~/.ssh/id_ed25519
    Port 22

The SSH tunnel feature reads settings from your SSH config, including HostName, User, Port, and IdentityFile.

Command Line Usage

Use the --ssh-host argument along with --url to connect via an SSH tunnel:

tt --url http://localhost:8080 --ssh-host myserver

The --url should specify the address of Traefik as seen from the remote server. The SSH tunnel will forward this connection through myserver.

Additional SSH options:

Option Default Description
--ssh-host (required) SSH host name from ~/.ssh/config
--ssh-remote-host localhost Traefik host as seen from the SSH server
--ssh-remote-port 8080 Traefik port as seen from the SSH server

Example connecting to Traefik on a non-default port:

tt --url http://localhost:9090 --ssh-host myserver \
   --ssh-remote-host localhost --ssh-remote-port 9090

Manual Setup via Settings Tab

You can also configure SSH tunnels through the Settings tab UI:

  1. Create or select a profile on the Settings tab
  2. Enter the Traefik URL (as seen from the remote server, e.g., http://localhost:8080)
  3. Check the Enable SSH tunnel checkbox
  4. Fill in the SSH settings:
    • SSH Host: The host name from your ~/.ssh/config (e.g., myserver)
    • Remote Host: The hostname where Traefik is running, as seen from the SSH server (default: localhost)
    • Remote Port: The port Traefik is listening on (default: 8080)
    • Local Port: Leave empty for automatic port selection, or specify a fixed local port
  5. The tunnel status will show "Tunnel: Open (port XXXXX)" when connected successfully

The SSH tunnel settings are saved with the profile and will automatically reconnect when you select that profile.

Development

Put this in ~/.bashrc to create a tt alias for development purposes:

alias tt="uv --project ${HOME}/git/vendor/enigmacurry/tt-tui-for-traefik run tt

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tt_tui_for_traefik-0.1.3.tar.gz (139.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tt_tui_for_traefik-0.1.3-py3-none-any.whl (48.3 kB view details)

Uploaded Python 3

File details

Details for the file tt_tui_for_traefik-0.1.3.tar.gz.

File metadata

  • Download URL: tt_tui_for_traefik-0.1.3.tar.gz
  • Upload date:
  • Size: 139.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tt_tui_for_traefik-0.1.3.tar.gz
Algorithm Hash digest
SHA256 127b42a53fad287d2144c022546f2b06be4adc70e4bd586eecb5e49a9b7b4bf9
MD5 f12eb3313a240bdda9f9a33ae9be3fbd
BLAKE2b-256 97dde6965b51bfff96059a12b3757fdaf5c51f694ac70b9082e1cf80ca295bc8

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_tui_for_traefik-0.1.3.tar.gz:

Publisher: release.yml on EnigmaCurry/tt-tui-for-traefik

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tt_tui_for_traefik-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for tt_tui_for_traefik-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f8556ae16d9e945b1517ccbcec208cf0df427eac0546cd1c1d1d654714257cd8
MD5 34ac9e615a1f5965d67844500ffbf18a
BLAKE2b-256 6d9099128a830f8043e8e5ee89d7d858c5db849a550998e5cac117741f7fc629

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_tui_for_traefik-0.1.3-py3-none-any.whl:

Publisher: release.yml on EnigmaCurry/tt-tui-for-traefik

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page