This project provide an out of the box highly opinionated implementation of open-source monitoring tools, unified as a no code web interface.
Metrics are focused on availability, with future integration for performance, statistics, budget, and energy consumption.
python3 -m venv apps
source apps/bin/activate
# psycopg2 lib Apple silicon specific
# brew install openssl
# export LIBRARY_PATH=$LIBRARY_PATH:/opt/homebrew/opt/openssl/lib
pip install -r src/requirements.txt
# Generate random SECRET_KEY and inject in .env file
SECRET_KEY=$(LC_CTYPE=C tr -dc 'a-zA-Z0-9' < /dev/urandom | head -c 32)
# Or
# SECRET_KEY=$(openssl rand -base64 64)
echo "SECRET_KEY=$SECRET_KEY" >> .env
# For development, add DEBUG=1 in .env file
# echo "DEBUG=1" >> .env
# For a first setup, run migrate and createsuperuser
python src/manage.py migrate
# Create superuser to access django admin panel (migrate first for the first setup)
python src/manage.py createsuperuser
python src/manage.py tailwind install
Start the development server by running the following command:
python src/manage.py runserver
To enable styling and hot-reload, run in parallel the following command:
python src/manage.py tailwind start
Project need a set of services like rabbitmq to run in the background.
You can run them using the following:
docker-compose -f docker-compose-services.yaml up -d
Scheduler will run periodical tasks and propagate to workers
cd src
python ../scheduler/start_celery_beat.py
or using docker
docker-compose -f docker-compose-beat.yaml --env-file=.env up -d
Worker will listen to tasks and run then individually
cd src
python ../worker/start_celery_worker.py
or using docker
docker-compose -f docker-compose-worker.yaml --env-file=.env up -d
cd ./sphinx
pip install -r requirements.txt
sphinx-reload ../docs
DATABASE_URL
: (optional) URL to access database