Skip to product information
Leave & Attendance Tracker - Django + MySQL Docker Stack with Prometheus, Grafana & Loki
$29.00
Pick Personal or Commercial. Your order confirmation names the license you bought.
Specs
- Version
- 1.0.0
- Last updated
- Stack
- Includes
- 11-service Docker Compose stack
- Django admin app (English UI)
- Leave request and approval rules
- Leave balances and holidays
- Daily attendance with late detection
- Grafana dashboard
- Loki log pipeline
- Setup and check scripts
- Automated tests
- File format
- .zip: source code only
- File size
- 93 KB
- Compatibility
- Linux host with Docker Engine and Compose v2
- About 4 GB RAM (8 GB recommended)
A complete, self-hosted leave and attendance stack: a Django 5.2 admin app for leave requests, leave balances, holidays and daily attendance on MySQL 8.4, behind Nginx, monitored with Prometheus + Grafana and with centralised logs in Loki + Promtail. 11 Docker Compose services in three layers you can bring up one by one.
What you get
- Django admin with CRUD for departments, employees (with managers), leave types, holidays, leave balances, leave requests and attendance records, with search and filters (status, leave type, department, date hierarchy)
- Leave request rules in the data model: working days that skip weekends and holidays, half days, no overlapping requests for the same employee, requests that cannot exceed the remaining balance of paid leave types, and no requests for inactive employees
- Approval flow: pending requests are approved or rejected (with a note) by an active approver who is not the requester; pending requests can be cancelled, approved leave can only be cancelled before it starts, and rejected or cancelled requests are final
- Approving leave marks each working day as on leave in the attendance records, and cancelling it removes them again
- Attendance rules: one record per employee and day, check-out after check-in, no attendance records for future dates except leave, and late arrivals (check-in after 09:15) detected automatically
- Leave balances are derived from approved requests, so used and remaining days are never stored by hand; lowering an allowance or a balance below the days already used or requested is blocked
- Deactivating an employee cancels their pending and not-yet-started leave while keeping their history; protected deletes keep employees, departments and leave types with records from being removed by accident, and a holiday, work week, hire date or leave balance that existing leave or attendance depends on cannot be changed or removed underneath it
- Bulk actions to approve selected requests (approver from a box, default the manager) or reject them with a note
- Overview dashboard with pending requests, who is out today, leave starting in the next 7 days, today's attendance by status, employees with 2 days or less of leave balance left and late arrivals this month
-
/healthzendpoint with a database check, and a restyled, fully English admin UI - Scripts that generate secrets (
.envwith mode 600, never overwritten) - Hardened containers: non-root app, read-only root filesystem, dropped capabilities, internal-only database network, ports bound to localhost, Nginx security headers
- Pre-provisioned Grafana datasources and an overview dashboard (containers, Nginx, MySQL)
- Log pipeline with an end-to-end check script
- Demo data command (safe to run again, fake people only) and automated tests
Good to know
- This is an internal, admin-only system for your HR or office team. There is no employee self-service portal: requests are entered and decided by staff users in the Django admin.
- Needs a Linux host with Docker Engine and Compose v2, and about 4 GB RAM (8 GB recommended).
- No HTTPS out of the box. Add TLS before any public deployment.
- Language and time zone are set in
settings.py(English, UTC by default). The work week starts on Monday and is set per employee (5 days by default). A request cannot span two calendar years.
Download: one .zip with the source code only (Python, templates, CSS/JS, Docker Compose, Dockerfile, Nginx, Prometheus, Grafana, Loki and Promtail configuration, scripts and tests). No documentation files are included.