// IT INCIDENT TRACKING SYSTEM
A lightweight, self-hosted ops tracker built for IT generalists. Log break/fix work, track assets, document maintenance, and keep a searchable record of everything you've touched — years into the future.
// INSIDE THE BUNKER
Dark olive, amber signal lights, monospaced status lines. Desktop for the desk. Mobile command for the rack aisle.
Operational overview — SLA breaches, live events, outages, licenses, and urgent tasks on one screen.
Filterable inventory with health grades, warranty status, and quick status toggles.
Assignment, vendor support, topology notes, QR code, and the full incident timeline.
Phone-first status strip — breaches, live incidents, outages, and tasks. Installable as a PWA with offline read cache.
// DEPLOY IN MINUTES
# Clone and configure git clone https://github.com/devkhelms/Fieldlog.git cd Fieldlog cp .env.example .env # Edit .env — set credentials and SMTP # Build and start docker compose up -d --build docker exec issuetrack python migrate.py # Open http://<host>:5000
// CAPABILITIES
Live incidents, SLA breach alerts, maintenance due, warranty warnings, active outages, and tasks — all on one screen.
Full hardware inventory with status, assignment, condition, warranty tracking, health scoring, custom fields, and QR print sheets.
Break/fix, upgrades, maintenance, and notes. Live-event workflow with running notes, close-out, severity, and optional RCA with PDF export.
Notify contacts on incident close, weekly digest, aging alerts, maintenance reminders, and automated monthly PDF reports.
Full-text search across assets, incidents, knowledge base articles, and tasks. Press / from anywhere.
Searchable Markdown articles with tags and file attachments. Link articles to assets or incident types for quick reference.
Linked task board with priority, due dates, and status. Create an incident directly from a completed task.
Stripped-down mobile interface for fast incident logging in the field. Template picker, searchable asset selector, immediate close option.
Recurring maintenance tasks per asset with staggered start dates, overdue tracking, and dashboard alerts.
Month-end PDF report and time-tracking breakdown by asset and incident type. Auto-email on a configurable schedule.
Every create, update, and close-out logged with field-level before/after diffs. Filterable audit log page.
Token-protected REST API, outgoing webhooks (Slack, Teams, ntfy), asset ping monitor, and CSV export.
// STACK
No Node.js build step. No external SaaS. Runs as a single Docker container on any Linux host.
| Layer | Choice | Notes |
|---|---|---|
| App | Python 3.12 + Flask | Single app.py, no blueprints |
| Database | SQLite | File on a Docker volume |
| Server | Gunicorn | gthread worker, 1 process |
| WeasyPrint | RCA reports, month-end report | |
| Scheduler | APScheduler | Digests, pings, reminders |
| SMTP / STARTTLS | Works with Zoho or any provider | |
| UI | Jinja2 + hand-written CSS | Chart.js for dashboard charts |
// EASTER EGGS
Two small games are built into the desktop UI. Type the activation word anywhere on a page — not inside a search box or form field.
Type SNAKE for classic snake (arrows / WASD, Esc to exit).
Type BOOM for minesweeper (medium board; best time saved locally).
// DEPLOY IT
A Raspberry Pi on your desk, a VM on your server, a VPS behind WireGuard. If Docker runs there, Field Log runs there.