Respira is a web application for air quality data visualization and forecasting.
backend(Django + DRF API)frontend(Astro + React)proxy(Nginx)certbot(certificate management)
For security procedures and incident response details:
For local development and deployment with Docker Compose, see:
- Docker Compose How-To Guide - Setup, configuration, and troubleshooting
- Quick start:
cp docker-compose.override.yml.example docker-compose.override.yml && cp .env.example .env && docker compose up -d
cd backend
python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txtcd frontend
pnpm install
pnpm devInstall hooks once per clone:
pre-commit install --install-hooksRun all hooks manually:
pre-commit run --all-filesTo avoid commit-time failures from auto-fixing hooks (for example end-of-file fixes), use this sequence:
cd backend
./.venv/bin/python manage.py test
cd ..
pre-commit run --all-files
git add -A
git commit -m "your message"If a hook modifies files during commit, re-stage the modified files and commit again.
Configuration reference for all services:
Proxy templates live in proxy/nginx.conf*.template and are selected with ENVIRONMENT.
For production certificates, use the certbot service and the mounted certbot/conf and certbot/www directories.


