Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mehatab/fettle
Free GitHub-powered beautiful status page utilizing GitHub Pages, Actions, and Issues for real-time updates and incident management.
https://github.com/mehatab/fettle
monitoring nextjs status status-page
Last synced: 3 months ago
JSON representation
Free GitHub-powered beautiful status page utilizing GitHub Pages, Actions, and Issues for real-time updates and incident management.
- Host: GitHub
- URL: https://github.com/mehatab/fettle
- Owner: mehatab
- License: apache-2.0
- Created: 2022-08-05T12:38:15.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-22T12:01:15.000Z (6 months ago)
- Last Synced: 2024-05-22T20:43:47.119Z (6 months ago)
- Topics: monitoring, nextjs, status, status-page
- Language: TypeScript
- Homepage: https://fettle.mehatab.me
- Size: 2.1 MB
- Stars: 125
- Watchers: 3
- Forks: 66
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-status-pages - Fettle - An open-source, GitHub-powered status page project utilizing GitHub Pages, Actions, and Issues for real-time updates and incident management. (Opensource)
README
# Fettle 💟
**Fettle** is the open-source status page, powered entirely by GitHub Actions, Issues, and Pages.
# Usage
First of all, you need to fork this repository.## Update URL's
Update the urls and name in `urls.cfg` file present in `public > urls.cfg` file.```text
Google=https://google.com
Facebook=https://facebook.com
```## Incidents URL update
Go to `src > incidents > hooks > useIncidents.tsx` file and update the url with your repository url.Replace **mehatab/fettle** with your **username/repo-name**
```
https://api.github.com/repos/mehatab/fettle/issues?per_page=20&state=all&labels=incident
```## Service status URL update
Go to `src > services > hooks > useServices.tsx` file and update the url with your repository url.Replace **mehatab/fettle** with your **username/repo-name**
```
https://raw.githubusercontent.com/mehatab/fettle/main/public/status/${key}_report.log
```Go to `src > services > hooks > useSystemStatus.tsx` file and update the url with your repository url.
Replace **mehatab/fettle** with your **username/repo-name**
```
https://raw.githubusercontent.com/mehatab/fettle/main/public/status/${key}_report.log
```## Deployment setup
Then, you need to enable GitHub Pages on your forked repository. You can do this by going to `Settings > Pages` and enabling it on the `main` branch.
In Build and deployment section select GitHub Actions.
## Change monitoring interval
If you want to change the time interval of monitoring then you can change it in `.github > workflows > health-check.yml` file.
update the cron time in the following line.```yaml
on:
schedule:
- cron: "0 0/12 * * *"
```## Reporting your first incident
1. Go to issues tab
2. Create a new label `incident`
3. Create a issue
4. Add the label `incident` to the issue# How it works
- Hosting
- GitHub Pages is used for hosting the status page.- Monitoring
- Github Workflow will be triggered every 1 Hr (Configurable) to visit the website.
- Response status and response time is commited to github repository.- Incidents
- Github issue is used for incident management.# Contributing
Feel free to submit pull requests and/or file issues for bugs and suggestions.