Sign inSign up

webyhomelab/air-quality-dashboard

By webyhomelab

Updated 4 months ago

Image
1

226

webyhomelab/air-quality-dashboard repository overview

English README Українська версія


🌬️ Air Quality & Weather Bento Dashboard

Docker Pulls Latest Release License

Dashboard Screenshot


🎯 What is this?

Air Quality Dashboard is a modern, lightweight, and responsive web application designed to track air quality metrics and local weather patterns in real-time. Initially crafted for the residents of Kyiv (Southern Borshchahivka), it has evolved into a fully dynamic platform that adapts to any environmental monitoring station globally, querying and mapping variables on the fly.

Built on top of a beautiful Glassmorphism Bento design, it fits seamlessly on all screens, offering premium UX and Progressive Web App (PWA) integration for native-like usage on mobile devices.


✨ Key Features

  • 📊 Dynamic Monitoring: Pulls data every 10 minutes from the SaveEcoBot API for any station configured via STATION_ID.
  • 🗺️ Geolocation Weather: Coordinates are resolved dynamically from the station's metadata and passed directly to Open-Meteo API to calculate wind and local temperature metrics.
  • 📈 Trend Visualizations: Displays hourly historical changes over the last 24 hours and daily averages over the past 7 days.
  • 🧪 Detailed Analytics: Tracks AQI, PM2.5, PM10, PM1, Gamma-background Radiation, CO2, NO2, O3, SO2, Temp, Humidity, Pressure, and Ambient Noise.
  • 📱 PWA & Offline Support: Service Workers cache static assets and latest measurements, allowing offline readability.
  • 🔍 Automated SEO & Metadata: Dynamically generates pages, robots.txt, sitemaps, and Open Graph previews tailored for the target station and domain.

🚀 Deployment (Docker Compose)

Create a docker-compose.yml file:

version: '3.8'

services:
  air-quality-dashboard:
    image: webyhomelab/air-quality-dashboard:latest
    container_name: air-quality-dashboard
    restart: unless-stopped
    ports:
      - "8000:8000"
    environment:
      - STATION_ID=24185          # Your SaveEcoBot Station ID
      - DOMAIN=ecobot-2.srvrs.top  # Your public hostname for SEO
      - TZ=Europe/Kyiv
    volumes:
      - ./history.json:/app/history.json

Initialize an empty history database file to prevent Docker from creating it as a directory:

echo '{}' > history.json
docker compose up -d

Access the dashboard at http://localhost:8000.


🇺🇦 Розгортання українською

Для швидкого запуску дашборду створіть файл конфігурації docker-compose.yml (див. приклад вище). Створіть порожній файл бази даних історії на хості перед стартом:

echo '{}' > history.json
docker compose up -d

Дашборд автоматично підтягне назву та координати вашої еко-станції SaveEcoBot та прогноз погоди. Доступний на порту 8000 вашого хоста.


Made with ❤️ in Kyiv under air raid sirens and blackouts.
Weby Homelab - Your Environment, Under Your Control.

Tag summary

Content type

Image

Digest

sha256:bb8356249

Size

51.3 MB

Last updated

4 months ago

docker pull webyhomelab/air-quality-dashboard