| File | Date | Author | Commit |
|---|---|---|---|
| .gitignore | 2024-09-04 |
|
[91346e] chore: add gitignore |
| Dockerfile | 2024-09-05 |
|
[63b631] Reduce Docker image size by using Python Alpine |
| LICENSE | 2024-09-03 |
|
[9f9490] Create LICENSE |
| README.md | 2024-09-07 |
|
[3605ab] Update README.md |
| checks.yaml | 2024-09-05 |
|
[c3bbfd] Update default checks.yaml |
| history.html.theme | 2024-09-04 |
|
[ee77a9] style: add github repo |
| incidents.md | 2024-09-03 |
|
[81bb89] feat: tinystatus is up |
| index.html.theme | 2024-09-04 |
|
[ee77a9] style: add github repo |
| requirements.txt | 2024-09-05 |
|
[9a55f2] Add missing dependency: python-dotenv |
| tinystatus.py | 2024-09-07 |
|
[39b821] Add default path HTML_OUTPUT_DIRECTORY |
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 https://status.harry.id
Clone the repository or download the source code:
git clone https://github.com/harsxv/tinystatus.git
cd tinystatus
Install the required dependencies:
pip install -r requirements.txt
Create a .env file in the project root and customize the variables:
MONITOR_CONTINOUSLY=True
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
HTML_OUTPUT_DIRECTORY=/var/www/htdocs/status/
Edit the checks.yaml file to add or modify the services you want to monitor. Example:
```yaml
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
```
(Optional) Customize the incidents.md file to add any known incidents or maintenance schedules.
(Optional) Modify the index.html.theme and history.html.theme files to customize the look and feel of your status pages.
Run the TinyStatus script:
python tinystatus.py
The script will generate two files:
index.html: The main status pagehistory.html: The status history pagehistory.json: The status history and timestamp data
To keep the status page continuously updated, you can run the script in the background:
nohup python tinystatus.py &On Windows, you can use the Task Scheduler to run the script at startup.
Serve the generated HTML files using your preferred web server (e.g., Apache, Nginx, or a simple Python HTTP server for testing).
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
.env file to customize the behavior of TinyStatus.index.html.theme and history.html.theme.checks.yaml file.TinyStatus porting are available in:
Contributions are welcome! Please feel free to submit a Pull Request.
This project is open source and available under the MIT License.