https://github.com/harsxv/tinystatus Skip to content Navigation Menu Toggle navigation Sign in * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + GitHub Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions By size + Enterprise + Teams + Startups By industry + Healthcare + Financial services + Manufacturing By use case + CI/CD & Automation + DevOps + DevSecOps * Resources Topics + AI + DevOps + Security + Software Development + View all Explore + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Enterprise + Enterprise platform AI-powered developer platform Available add-ons + Advanced Security Enterprise-grade security features + GitHub Copilot Enterprise-grade AI features + Premium Support Enterprise-grade 24/7 support * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up Reseting focus You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} harsxv / tinystatus Public * Notifications You must be signed in to change notification settings * Fork 19 * Star 446 Tiny status page generated by a Python script status.harry.id/ License MIT license 446 stars 19 forks Branches Tags Activity Star Notifications You must be signed in to change notification settings * Code * Issues 3 * Pull requests 1 * Actions * Projects 0 * Security * Insights Additional navigation options * Code * Issues * Pull requests * Actions * Projects * Security * Insights harsxv/tinystatus This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. master BranchesTags Go to file Code Folders and files Name Name Last commit Last commit message date Latest commit History 20 Commits .gitignore .gitignore Dockerfile Dockerfile LICENSE LICENSE README.md README.md checks.yaml checks.yaml history.html.theme history.html.theme incidents.md incidents.md index.html.theme index.html.theme requirements.txt requirements.txt tinystatus.py tinystatus.py View all files Repository files navigation * README * MIT license TinyStatus TinyStatus is a simple, customizable status page generator that allows you to monitor the status of various services and display them on a clean, responsive web page. Check out an online demo. image Features * Monitor HTTP endpoints, ping hosts, and check open ports * Responsive design for both status page and history page * Customizable service checks via YAML configuration * Incident history tracking * Automatic status updates at configurable intervals * The generated HTML is only 5KB in size Prerequisites * Python 3.7 or higher * pip (Python package manager) Installation 1. Clone the repository or download the source code: git clone https://github.com/harsxv/tinystatus.git cd tinystatus 2. Install the required dependencies: pip install -r requirements.txt Configuration 1. Create a .env file in the project root and customize the variables: CHECK_INTERVAL=30 MAX_HISTORY_ENTRIES=100 LOG_LEVEL=INFO CHECKS_FILE=checks.yaml INCIDENTS_FILE=incidents.md TEMPLATE_FILE=index.html.theme HISTORY_TEMPLATE_FILE=history.html.theme STATUS_HISTORY_FILE=history.json 2. Edit the checks.yaml file to add or modify the services you want to monitor. Example: - name: GitHub Home type: http host: https://github.com expected_code: 200 - name: Google DNS type: ping host: 8.8.8.8 - name: Database type: port host: db.example.com port: 5432 3. (Optional) Customize the incidents.md file to add any known incidents or maintenance schedules. 4. (Optional) Modify the index.html.theme and history.html.theme files to customize the look and feel of your status pages. Usage 1. Run the TinyStatus script: python tinystatus.py 2. The script will generate two files: + index.html: The main status page + history.html: The status history page + history.json: The status history and timestamp data 3. To keep the status page continuously updated, you can run the script in the background: + On Unix-like systems (Linux, macOS): nohup python tinystatus.py & + On Windows, you can use the Task Scheduler to run the script at startup. 4. Serve the generated HTML files using your preferred web server (e.g., Apache, Nginx, or a simple Python HTTP server for testing). Using Docker In order to run the script using Docker: docker build -t tinystatus . docker run -ti --rm --name tinystatus -v "$PWD":/usr/src/myapp -w /usr/src/myapp tinystatus Customization * Adjust the configuration variables in the .env file to customize the behavior of TinyStatus. * Customize the appearance of the status page by editing the CSS in index.html.theme and history.html.theme. * Add or remove services by modifying the checks.yaml file. Contributing Contributions are welcome! Please feel free to submit a Pull Request. License This project is open source and available under the MIT License. About Tiny status page generated by a Python script status.harry.id/ Topics status monitoring monitoring-tool status-page Resources Readme License MIT license Activity Stars 446 stars Watchers 3 watching Forks 19 forks Report repository Releases 1 v1.0.0 Latest Sep 3, 2024 Contributors 4 * @harsxv harsxv Harry Suryapambagya * @arioch arioch Tom De Vylder * @golergka golergka Max Yankov * @galactics galactics Languages * Python 94.4% * Dockerfile 5.6% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.