Het Zeus Overzicht met Uitgebreide Toestanden ("Zeus Overview with Extensive)
The aim of this project is to provide an "uptime monitor" for Zeus projects. Why use an existing solution, when you can build it yourself?
Anyway, this application is rather simple. It has a list of projects, for which it pings some URL every X time, and saves the result in a big PostgreSQL table (we use TimescaleDB, so we can save all the things). We then show this with a simple UI.
Enlightened people can use the nix flake. Others need to search how to install:
- Elixir 1.13
- PostgreSQL 14
- TimescaleDB extension for PostgresSQL
- Node
Then, to start your Phoenix server:
- Install asset dependencies with
cd assets && npm install
- Install dependencies with
mix deps.get
- Create and migrate your database with
mix ecto.setup
- Start Phoenix endpoint with
mix phx.server
or inside IEx withiex -S mix phx.server
Now you can visit localhost:4000
from your browser.
Note that once the server runs, it will ping registered services every minute or so,
so don't leave it running too long in the background.
- SSH to the server
- Pull the repo
- Take the application down with
podman-compose down
. - Build a new docker image with
podman-compose build
- Start the application with
podman-compose up -d
- Official website: https://www.phoenixframework.org/
- Guides: https://hexdocs.pm/phoenix/overview.html
- Docs: https://hexdocs.pm/phoenix
- Forum: https://elixirforum.com/c/phoenix-forum
- Source: https://github.com/phoenixframework/phoenix