https://github.com/rbourgeat/statisfaction
An other Status Page...
https://github.com/rbourgeat/statisfaction
Last synced: 6 months ago
JSON representation
An other Status Page...
- Host: GitHub
- URL: https://github.com/rbourgeat/statisfaction
- Owner: rbourgeat
- License: mit
- Created: 2024-11-14T02:02:17.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-02-04T19:27:06.000Z (8 months ago)
- Last Synced: 2025-03-23T20:36:40.283Z (7 months ago)
- Language: JavaScript
- Homepage:
- Size: 3.39 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# statisfaction
![]()
![]()
![]()
![]()
## How to Run
You can run this project either using Docker or natively (with Node.js). Follow the instructions below to get started.
1. **Running with Docker**
**Steps:**
- Clone the repository and navigate to the project directory.
- Run the following command to start the services:
```bash
docker compose up -d
```**Building the Docker Image Locally:**
If you want to build the Docker image locally instead of pulling from a registry, use the following commands:
```bash
docker compose build
docker compose up -d
```2. **Running Natively (with Node.js)**
To run the project without Docker, you can set it up locally:
```bash
cd backend && npm install && cd ../frontend && npm install && cd ..
node backend/server.js & npm --prefix frontend run dev
```Access the application through your browser at (or another port, depending on your setup).
## Editing the Config File
The configuration for this project is stored in a JSON file. You can customize the behavior of the service monitoring by editing the [config.json](https://github.com/rbourgeat/statisfaction/blob/main/config.json).
> [!NOTE]
> Changes to the config file are applied in real-time, so the status page updates instantly.Breakdown of the Config File
- `configs`:
- `title`: The title of your status page.
- `description`: A brief description displayed under the title.
- `incidentReportDelay`: The time delay (in seconds) before an incident report is triggered.
- `services`:
- `name`: The name of the monitored service.
- `address`: The IP or URL of the service.
- `pingInterval`: Frequency (in seconds) for checking service availability.
- `showIp`: Whether or not to show the IP address of the service.
- `expectedStatusCode`: Set the expected status code (default: 200).
- `verifySSL`: Boolean to specify whether the SSL certificate should be verified when accessing HTTPS services.
- `platform`: The platform used (GitHub or GitLab).
- `owner`: The repository owner (e.g., GitHub username or organization name).
- `repo`: Repository name.
- `url`: Optionally specify a custom GitLab URL.
- `assignee`: Usernames to assign to incident reports.
- `authToken`: Authentication token (replace with your token).## Incidents
![]()
### Features
- **Automatic Incident Creation**: Incidents are automatically opened as issues in your GitLab or GitHub repository.
- **Custom Assignee**: You can configure the assignee for issues by editing the [config.json](https://github.com/rbourgeat/statisfaction/blob/main/config.json).
- **Timeline Integration**: Each comment on an issue is displayed (in real time) as an event in the incident timeline on the status page.
- **Keyword-Based Styling**: Specific keywords in issue comments trigger custom styles in the incident timeline, making it easy to track progress.
### Keyword Styling
To customize the appearance of comments on the status page timeline, include one of the following keywords in your comment:
- Investigating
- Identified
- Update
- Monitoring
- Resolved
Each keyword corresponds to a unique style, helping users quickly identify the current status of an incident.