Skip to content

Data5tream/simple-status-page

Repository files navigation

Simple Status Page

ci Lint backend Lint frontend GitHub tag (with filter) GitHub

A web app that does status checking. Configured through a simple config.toml (or environment variables).

Usage

Copy the docker-compose.yml and config_example.toml to a local folder. Rename config_example.toml to config.toml and fill out the configuration. Then run:

docker compose up -d

This will pull the latest redis and simple-status-page images and run them. The status page will be available on port 8080.

It's recommended to run the app behind a reverse proxy that does TLS termination, like caddy.

Configuration can also be done via environmental variables. The env vars take precedence over the config file.

Development

Environment

The following environment variables need to be set (defaults for a local environment with a running redis instance):

  • APP_REDIS_URL=redis://localhost:6379/0
  • APP_WEBSERVER_HOST=0.0.0.0
  • APP_WEBSERVER_PORT=8000
  • APP_WEBSERVER_URL=http://localhost:5173

Backend

Actix Web with Redis as a datastore. You will need a locally available redis instance for development.

cargo run

Frontend

SvelteKit Webapp written in TypeScript. Set the webserver.url config value to your svelte host:port, otherwise you will have CORS issues.

pnpm i
pnpm run dev

License

Simple Status Page - a simple status web app built with rust

Copyright (C) 2023 Simon Stefan Barth

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.