Skip to content

blissful-infra dashboard

blissful-infra dashboard starts the local web UI for managing all your blissful-infra projects in one place. It also starts the shared Jenkins CI server if it is not already running.

Terminal window
blissful-infra dashboard [options]
FlagShortDefaultDescription
--port <port>-p3002Port for the dashboard API server
--no-openopens browserSkip automatic browser open
--no-jenkinsstarts JenkinsDo not start Jenkins CI server
--dir <directory>-dcwdWorking directory to scan for projects

The dashboard is a React application backed by a local API server that connects to your running Docker containers. It runs at http://localhost:5173 (Vite dev server) and communicates with the API at http://localhost:3002.

TabWhat it does
LogsReal-time log streaming from all containers via WebSocket. Filter by service, log level, or search text. Loki-backed for historical search.
MetricsLive CPU, memory, HTTP request rates, latency percentiles (p50/p95/p99), and error rates. Sourced from Prometheus.
AgentChat interface to the AI debugging agent. Ask about errors, request root cause analysis, or get recommendations. The agent has read access to logs, metrics, and container state.
PipelineJenkins CI/CD pipeline status — current stage, last build result, build history. Trigger new builds from the UI.
EnvironmentsDeploy and rollback across environments (local, staging, production via Argo CD).
SettingsConfigure alert thresholds, log retention, and notification preferences.

Running blissful-infra dashboard starts two things:

  1. The API server on --port (default 3002) — a Node.js HTTP + WebSocket server that proxies Docker, Prometheus, Loki, and Jenkins APIs
  2. The Jenkins CI server — starts the shared blissful-jenkins Docker container if it is not already running. Jenkins persists at ~/.blissful-infra/jenkins/ so it retains all jobs, build history, and configuration between restarts

The Vite dev server for the dashboard UI starts after both are ready and the browser opens automatically.

The dashboard API is also the backend for the MCP server, which lets Claude orchestrate your infrastructure directly.

Start the MCP server after the dashboard is running:

Terminal window
# In a separate terminal, after blissful-infra dashboard is running
blissful-infra mcp --api http://localhost:3002

Or configure it permanently in Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
"mcpServers": {
"blissful-infra": {
"command": "npx",
"args": ["-y", "blissful-infra", "mcp"],
"env": {}
}
}
}

Once connected, you can ask Claude things like:

  • “What’s the health of all my running projects?”
  • “Show me ERROR logs from the backend in my-app”
  • “Why is the backend restarting? Check the logs and diagnose.”
  • “Deploy my-app to staging”
  • “Roll back my-app in production to the previous revision”

Running the dashboard in a specific directory

Section titled “Running the dashboard in a specific directory”

By default the dashboard scans the current working directory for projects (directories with a blissful-infra.yaml). Use --dir to point it at a different location:

Terminal window
blissful-infra dashboard --dir ~/projects

This is useful if you keep all your blissful-infra projects in a dedicated directory.

Jenkins runs with default credentials:

Jenkins is configured with the Jenkins Configuration as Code (JCasC) plugin, so the initial setup is fully automated. All jobs created by blissful-infra jenkins add-project land in a blissful-projects folder.

Press Ctrl+C. The API server shuts down cleanly. Jenkins is intentionally left running so any in-progress builds can complete. Stop Jenkins explicitly with:

Terminal window
blissful-infra jenkins stop