Tracegoblins is the top-of-the-line Ansible & AWX log parser and viewer. It turns a wall of raw playbook output into a color-graded Status Map — every task, every host — so you find the failure in seconds, not minutes. Then your whole team annotates, discusses and remembers the fix.
When a 600-line playbook fails on host 7 of 12, you scroll. Tracegoblins turns that wall into a triageable map — failures pulsing red — so you find the break in seconds.
Every play and task laid out with per-host status dots — ok · changed · skipped · failed · unreachable. The whole run, color-graded, on one screen.
Click any task for the full failure detail, affected hosts and the raw output in a pop-out viewer. Then bring the team in — right next to the break.
Promote any failure into a generalized KB entry. Tracegoblins extracts a normalized signature — host-stripped, secret-collapsed — and fuzzy-matches future errors to it with pg_trgm.
fatal: [api-01.prod]: FAILED! => {"msg": "Failed to start service nginx: Unit nginx.service not found"}
FAILED start service <svc>: Unit <unit> not found
Designed for a TLS-terminating reverse proxy. Configuration is environment-only. Your AWX tokens and logs stay yours.
argon2id password hashing with httpOnly / Secure, server-side sessions you can revoke at any time.
TOTP 2FA — opt-in for users, enforceable for admins — with one-time hashed recovery codes.
AWX tokens encrypted at rest; base URLs validated to http(s) and pinned to the controller origin.
Admin-invite-only onboarding (no public signup) and a complete audit trail of who did what, when.
CSRF double-submit, login rate-limiting and a strict Content-Security-Policy with hardened headers.
CodeQL + Trivy + OpenSSF Scorecard + Dependabot, with SHA-pinned GitHub Actions.
No Redis, no Celery. Background AWX sync and retention run on APScheduler with a Postgres advisory-lock leader.
| Backend | Python · FastAPI · SQLAlchemy 2.0 async · Alembic · Pydantic v2 · APScheduler |
| Database | PostgreSQL 16 — JSONB + pg_trgm / full-text |
| Frontend | Vite · React 19 · TypeScript · TanStack Query · self-hosted IBM Plex |
| Packaging | One multi-stage Docker image — Node builds the SPA, Python serves it |
| Auth | argon2id · revocable sessions · CSRF · TOTP 2FA |
# 1) clone & generate strong secrets into .env
git clone https://github.com/VladoPortos/tracegoblins.git
cd tracegoblins
./bootstrap.sh
# 2) pull the prebuilt image & run both containers
docker compose pull && docker compose up -d
# 3) open the one-time setup wizard
# → http://localhost:8000/setup (create the first admin)
Image: ghcr.io/vladoportos/tracegoblins · :latest or a pinned :vX.Y.Z. Behind a proxy, keep COOKIE_SECURE=true.
Tracegoblins is free and open source. A GitHub star helps other AWX teams find it — and a coffee keeps the goblins building.
Read the source, file an issue, send a PR — or just drop a star so more AWX & Ansible teams discover it.
github.com/VladoPortos/tracegoblinsNo paywalls, no telemetry, no SaaS tier. If Tracegoblins saved you an afternoon of scrolling, a Ko-fi keeps development caffeinated.
Support on Ko-fi