TinyStatus logo

TinyStatus

Lightweight Python status page generator with YAML configuration

Self-hosted status page generator that monitors HTTP endpoints, ping hosts, and ports. Configure services via YAML, track incidents, and deploy static HTML pages with automatic updates.

TinyStatus banner

Overview

Simple Status Monitoring for Self-Hosters

TinyStatus is a Python-based status page generator designed for teams and individuals who need straightforward service monitoring without complex infrastructure. It generates clean, responsive static HTML pages that display real-time availability of your services.

Core Capabilities

The tool monitors HTTP endpoints (with custom status codes and self-signed certificate support), ping-based host checks, and TCP port availability. Configure all checks through a single YAML file, with support for service grouping and optional clickable cards. Status updates run at configurable intervals, with historical data tracked in JSON format and incidents documented in Markdown.

Deployment & Audience

Ideal for DevOps engineers, SRE teams, and self-hosters running small to mid-sized infrastructure, TinyStatus requires only Python 3.11+ and outputs static files that work with any web server—Apache, NGINX, or simple HTTP servers. The generated pages support light and dark themes automatically and maintain a complete history view. Docker support is included for containerized deployments. With MIT licensing and minimal dependencies, it offers a pragmatic alternative to heavyweight monitoring platforms when you need a public-facing status page without SaaS subscriptions or database requirements.

Highlights

YAML-driven configuration for HTTP, ping, and port checks with grouping support
Generates static HTML pages with automatic dark/light themes and history tracking
Configurable check intervals and continuous monitoring mode with incident logging
Docker-ready deployment with no database dependencies or external services required

Pros

  • Minimal dependencies and straightforward Python setup with clear configuration
  • Static HTML output works with any web server and requires no runtime database
  • Built-in incident tracking via Markdown and JSON-based status history
  • Responsive design with automatic theme switching and service grouping

Considerations

  • Requires Python 3.11+ which may not be available on older systems
  • No built-in alerting or notification system for status changes
  • Limited to basic HTTP, ping, and port checks without advanced monitoring metrics
  • Manual web server configuration needed for serving generated HTML files

Managed products teams compare with

When teams consider TinyStatus, these hosted platforms usually appear on the same shortlist.

Better Stack (Uptime) logo

Better Stack (Uptime)

Uptime monitoring and incident management service that alerts teams when websites or services go down

incident.io logo

incident.io

All-in-one AI platform for incident management, on-call, and status pages

Instatus logo

Instatus

Status page and incident monitoring platform for service uptime

Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.

Fit guide

Great for

  • Self-hosted infrastructure teams needing simple public status pages
  • Small to mid-sized projects wanting lightweight monitoring without SaaS costs
  • DevOps teams preferring static site generation over dynamic status platforms
  • Organizations requiring self-signed certificate support and custom check intervals

Not ideal when

  • Enterprise environments needing advanced alerting, integrations, or on-call workflows
  • Teams requiring real-time dashboards with sub-second update frequencies
  • Projects needing complex monitoring logic, custom metrics, or APM capabilities
  • Organizations without Python expertise or static web hosting infrastructure

How teams use it

Homelab Service Monitoring

Self-hosters track availability of personal servers, NAS devices, and home automation endpoints with a clean public status page served via NGINX.

Startup Infrastructure Transparency

Early-stage companies provide customers with real-time API and service status without paying for third-party monitoring platforms.

Internal Tool Availability Dashboard

DevOps teams monitor internal services, databases, and CI/CD pipelines with grouped checks and historical incident tracking.

Client-Facing SLA Reporting

Agencies and consultancies demonstrate uptime commitments by publishing automated status pages for client infrastructure and applications.

Tech snapshot

Python96%
Dockerfile4%

Tags

statushacktoberfest2024python3hacktoberfestpythonstatus-pagemonitoringmonitoring-toolhacktoberfest-accepted

Frequently asked questions

What types of checks does TinyStatus support?

TinyStatus supports HTTP endpoint monitoring with custom expected status codes, ICMP ping checks for host availability, and TCP port connectivity tests. It also handles self-signed certificates for HTTPS endpoints.

Does TinyStatus require a database or backend service?

No. TinyStatus generates static HTML files and stores history in a JSON file. You only need Python to run the generator and any standard web server to host the output files.

How do I keep the status page automatically updated?

Set MONITOR_CONTINOUSLY=True in the .env file and configure CHECK_INTERVAL to your desired seconds. Run the script with nohup on Linux/macOS or use Task Scheduler on Windows for persistent background execution.

Can I customize the appearance of the status page?

Yes. Edit the index.html.theme and history.html.theme template files to modify HTML structure and CSS styling. The tool preserves your customizations while injecting status data during generation.

Is Docker deployment supported?

Yes. The repository includes a Dockerfile. Build the image with 'docker build -t tinystatus .' and run with volume mounts to persist configuration and generated files between container restarts.

Project at a glance

Dormant
Stars
1,581
Watchers
1,581
Forks
96
LicenseMIT
Repo age1 year old
Last commitlast year
Self-hostingSupported
Primary languagePython

Last synced 3 hours ago