TotalApp Docs

Containers

Monitor and manage Docker containers and images from TotalApp.

Overview

The Containers screen connects to the Docker daemon on the host machine and gives you a browser-based dashboard for monitoring and managing containers and images. View real-time CPU and memory usage, start and stop containers, stream logs, and browse a Dockerfile template library — all without leaving TotalApp.

Requires Docker Daemon

The Containers screen requires Docker to be installed and running on the same machine as the TotalApp server process. The server communicates with the Docker daemon via the Docker socket (/var/run/docker.sock on Linux/macOS, named pipe on Windows).

Container Dashboard

The dashboard shows all containers returned by docker ps -a — both running and stopped. Each row in the container table displays:

ColumnDescription
NameContainer name (set by Docker or --name flag)
ImageImage name and tag (e.g. nginx:latest)
StatusRunning, Exited, Paused, Restarting — colour-coded badge
CPU %Current CPU usage as a percentage of allocated cores (running containers only)
MemoryCurrent RSS memory usage and limit (e.g. 128 MB / 512 MB)
PortsPublished port mappings (e.g. 0.0.0.0:8080→80/tcp)
CreatedTime since container was created

The dashboard auto-refreshes every 5 seconds. Disable auto-refresh with the toggle in the toolbar if you need a static snapshot.

Managing Containers

Click a container row to expand its detail panel. The following actions are available from the action buttons in the detail panel or the row context menu:

Start

Starts a stopped container. Equivalent to docker start <name>. Available only for exited containers.

Stop

Sends SIGTERM then SIGKILL after a 10-second grace period. Equivalent to docker stop <name>.

Restart

Stops then starts the container. Useful for applying configuration changes without removing and recreating the container.

Remove

Removes the container (docker rm). Only available for stopped containers. Requires confirmation to prevent accidental deletion.

Force Remove Running Containers

To remove a running container, stop it first. The UI does not expose docker rm -f to prevent accidental destruction of running services.

Image Management

Switch to the Images tab to see all locally available Docker images. Each image row shows the repository, tag, image ID, size, and creation date.

Image Actions

  • Pull — Pull a new image by entering a full image reference (e.g. postgres:16). Progress is streamed in real time.
  • Inspect — View the full image manifest JSON including layers, environment variables, and exposed ports.
  • Remove — Delete the image (docker rmi). Blocked if any container (running or stopped) uses the image.

Dangling Images

Images with <none> repository and tag are dangling images — build artifacts no longer referenced by any tag. Use the Prune Dangling button to remove them all at once and free disk space.

Log Streaming

Click Logs in the container detail panel to open a real-time log stream for that container. The log viewer:

  • Tails the last 200 lines on open, then streams new output in real time.
  • Supports search with regex — matching lines are highlighted in yellow.
  • Colour-codes lines containing ERROR (red), WARN (yellow), INFO (blue).
  • Auto-scrolls to the bottom as new lines arrive. Click Pause to freeze the view.
  • Includes both stdout and stderr streams merged into one view.

Dockerfile Templates

The Templates tab provides a library of ready-to-use Dockerfiles for common stacks. Click a template to view it, then copy it to your clipboard or download it as a Dockerfile.

TemplateBase ImageDescription
Node.js (production)node:20-alpineMulti-stage build — deps in builder, runtime in slim Alpine image
Python / FastAPIpython:3.12-slimpip install from requirements.txt, uvicorn entrypoint
PostgreSQL with init scriptpostgres:16Copies init.sql into the init scripts directory
Nginx static sitenginx:alpineCopies build output into /usr/share/nginx/html
Go (multi-stage)golang:1.22-alpinescratchBuilds a statically-linked binary, runs in a minimal scratch image

FAQ

The container list is empty — what does that mean?
Either Docker is not running on the host, TotalApp does not have permission to access the Docker socket, or no containers have been created yet. On Linux, add the TotalApp server process user to the docker group: sudo usermod -aG docker $USER. On macOS with Docker Desktop, ensure Docker Desktop is running before starting TotalApp.
Can I manage containers on a remote Docker host?
Yes. Set the DOCKER_HOST environment variable before starting TotalApp to point to a remote Docker daemon (e.g. DOCKER_HOST=tcp://192.168.1.100:2376). TotalApp inherits this variable and all container operations go to the remote host. Use TLS certificates for secure remote Docker connections.
Does the Containers screen support Docker Compose?
The Containers screen manages individual Docker containers via the Docker API. Docker Compose projects are shown as regular containers (grouped by the com.docker.compose.project label if present). Direct docker compose up/down operations from the UI are not yet supported — use the CI/CD Pipeline screen to run Compose commands as pipeline steps.