Skip to content

Releases: zrougamed/portainer-cli

Release list

v0.1.0

Choose a tag to compare

@zrougamed zrougamed released this 28 Feb 00:22

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.1.0 - 2026-02-27

Initial Release

First public release of portainer-tui — a full-featured Terminal User Interface for managing Portainer CE from the command line.


Added

Authentication

  • JWT token authentication via username/password login
  • Community Edition X-API-Key support
  • Automatic session management with re-authentication on token expiry
  • Graceful redirect to login screen on 401 Unauthorized without restarting the app
  • Config stored at ~/.config/portainer-tui/config.yaml with environment variable and CLI flag overrides

CLI Commands

  • portainer-tui — launch the interactive TUI
  • portainer-tui login — authenticate and save token to config
  • portainer-tui open — open Portainer web UI in the default browser (macOS/Linux/Windows)
  • portainer-tui config — display current configuration
  • portainer-tui version — show version info

Environments

  • Browse and switch between Portainer endpoints/environments
  • Display endpoint type (Docker, Kubernetes, Azure, Edge, etc.)
  • Set active environment for all subsequent operations

Containers

  • List all containers with status, name, image, and uptime
  • Toggle between running-only and all containers (a)
  • Start, stop, and restart containers (S / s / R)
  • View scrollable container logs (l)
  • Expand log tail in increments (+)
  • Docker log header stripping for clean output

Stacks

  • List all stacks with status and type (Swarm/Compose)
  • Deploy new stacks with an inline Docker Compose editor (n)
  • Start and stop existing stacks (S / s)
  • Delete stacks with confirmation dialog (d)

Images

  • Browse Docker images with repository tags and sizes
  • Human-readable size formatting (B / KB / MB / GB)

Volumes

  • Browse Docker volumes with driver, scope, and mountpoint
  • Truncation of long paths for clean display

Error Handling

  • Scrollable error modal for long error messages
  • Cross-platform clipboard support for copying error details
  • Detailed API error messages surfaced in the TUI

Testing

  • 178 unit tests across all modules
  • httptest-based mock server for full API client coverage
  • TUI model tests for all screens and key bindings
  • make test, make test-v, make test-cover, make test-race targets

Developer Experience

  • Docker Compose setup for local Portainer CE with automated admin bootstrap
  • Automated API token generation script for development
  • Makefile with build, install, tidy, test, lint targets
  • Portainer-themed Lipgloss UI (cyan/teal palette)

Keyboard Reference

Key Action
↑ / ↓ Navigate list
enter Select / confirm
esc Go back
r Refresh current view
q Quit
a Toggle show all containers
S Start container / stack
s Stop container / stack
R Restart container
l View container logs
n New stack (deploy)
d Delete stack
+ Load more log lines
ctrl+s Submit / deploy stack
y / n Confirm dialog

Known Limitations

  • Portainer's API rejects requests containing both Bearer and X-API-Key headers simultaneously; the client handles this by sending only one auth header per request type
  • No multi-select for bulk container operations yet