Console Access

Overview

Tapitalee gives you two ways to run ad-hoc commands against your app: background tasks and interactive console sessions. Both spin up an ephemeral container that has full access to the same add-ons, environment variables, and resources as your running app.

Background Tasks

tapit create task 'rails db:migrate'

A background task runs a command to completion without user interaction. It is the right choice for:

  • Database migrations
  • Data import / export scripts
  • Batch processing jobs
  • Any one-off operation that does not need live input

Tasks stream their output to logs and then terminate. You can add --wait to block until the task finishes and tail the output in your terminal.

See the Tasks reference for the full list of options.

Interactive Console Sessions

tapit run 'bash'
tapit run 'rails console'

A console session attaches your terminal directly to a running container, giving you a live interactive shell. It is the right choice for:

  • Debugging and investigation
  • Running framework consoles (rails console, python manage.py shell, iex -S mix, etc.)
  • Manual data fixes where you want to inspect results as you go
  • System inspection (environment, connectivity, files)

The container is discarded as soon as you exit the session.

See the Console Session reference for the full list of options.

Web UI

Both background tasks and console sessions are also accessible from the Tapitalee web UI. Navigate to your app and select Task Runs from the menu to:

  • Launch a new background task or console session
  • View the status and resource usage of current and past runs
  • Browse task logs

Logs and Session Recording

Task logs are captured for every background task run and are available in the web UI under Task Runs, as well as via the CLI:

tapit show logs task=<task_id>

Console session recording is available on Enterprise plans. Sessions are recorded in full and can be played back at any time from the Task Runs view in the web UI, providing a complete audit trail of interactive activity against your app.