Files
wiki/Catalogue-Self-Hosted/apps/app-chartbrew.md
T
2026-06-09 18:40:21 +02:00

7.0 KiB


title: Chartbrew created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, database, bi, visualisation, dashboard, charts, javascript, apache, intermediate] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Database, https://github.com/chartbrew/chartbrew]

🗄️ Chartbrew

L'outil de visualisation de données self-hosted : connectez vos bases et APIs, créez des dashboards et graphiques en quelques clics. L'alternative open source à Retool/Metabase pour la dataviz.

📋 Informations Générales

Champ Valeur
Site web chartbrew.com
GitHub chartbrew/chartbrew
License Apache-2.0
Langage JavaScript (Node.js + React/Vue)
Étoiles GitHub 3,9k
Dernière MAJ 2026-05-20
Catégorie cat-database

📝 Description

Chartbrew est une plateforme de visualisation et création de dashboards qui se connecte à des bases de données, APIs et services tiers pour produire des graphiques et tableaux de bord sans coder. Le projet a démarré en 2019 et vise à offrir une expérience de dataviz plus moderne et plus simple que les stacks BI classiques (Metabase, Superset), tout en restant léger, rapide à déployer, et full JavaScript.

L'idée centrale est de définir des "connections" vers une source de données (PostgreSQL, MySQL, MongoDB, REST API, Google Analytics, etc.), puis de créer des "charts" en mappant les champs de la réponse à des types de visualisation (line, bar, pie, table, KPI, doughnut, etc.). Les graphiques sont ensuite assemblés en "projects" (dashboards) partageables. Chartbrew gère bien le rafraîchissement automatique (cron), les filtres croisés entre graphiques, et l'export PDF/PNG des dashboards.

Pour qui n'est pas équipe data engineer, Chartbrew est un excellent compromis : plus simple qu'Apache Superset, plus moderne que Metabase, plus flexible que Grafana pour de la donnée métier non-métriques. La version community est open source et auto-suffisante ; une offre cloud hébergée existe pour ceux qui ne veulent pas self-host.

Public cible : petites équipes data, marketers, devs qui veulent un dashboard rapidement, projets internes avec données dans Postgres/Mongo.

Fonctionnalités principales

  • Connexions multiples : PostgreSQL, MySQL, MongoDB, Google Analytics, REST API, MySQL, Firestore
  • Types de graphiques : line, bar, pie, doughnut, table, KPI, matrice, radar
  • Dashboards : assemblage de charts en projets
  • Filtres croisés : un filtre affecte plusieurs charts
  • Rafraîchissement auto : cron configurable par chart
  • Partage public : lien read-only pour un dashboard
  • Auth multi-utilisateurs : rôles (admin, éditeur, lecteur)
  • Export PDF / PNG des dashboards
  • API publique pour intégration
  • Thèmes clair/sombre personnalisables

🚀 Installation

Option 1 : Docker Compose (recommandé)

# docker-compose.yml
version: '3.8'
services:
  chartbrew:
    image: chartbrew/chartbrew:latest
    container_name: chartbrew
    restart: unless-stopped
    ports:
      - "8080:4019"
    environment:
      APP_URL: "https://chartbrew.example.com"
      SECRET_KEY: "changez-moi-en-production-50-chars-min"
      REACT_APP_CLIENT_HOST: "https://chartbrew.example.com"
      REACT_APP_API_HOST: "https://chartbrew.example.com/api"
      CB_DB_HOST: db
    volumes:
      - chartbrew_data:/home/chartbrew/data
    depends_on:
      - db
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.chartbrew.rule=Host(`chartbrew.example.com`)"
      - "traefik.http.routers.chartbrew.entrypoints=websecure"
      - "traefik.http.routers.chartbrew.tls.certresolver=letsencrypt"

  db:
    image: postgres:16
    container_name: chartbrew-db
    restart: unless-stopped
    environment:
      POSTGRES_USER: chartbrew
      POSTGRES_PASSWORD: changez-moi
      POSTGRES_DB: chartbrew
    volumes:
      - chartbrew_db:/var/lib/postgresql/data

volumes:
  chartbrew_data:
  chartbrew_db:

Option 2 : npm (développement)

git clone https://github.com/chartbrew/chartbrew.git
cd chartbrew
npm install
npm run setup
npm start

⚙️ Configuration Initiale

  1. Créer le compte admin : première connexion = signup
  2. Ajouter une connexion : menu "Connections" > "+ New" > choisir SGBD/API > credentials
  3. Créer un dataset : nom + requête SQL/query API
  4. Créer un chart : lier à un dataset > choisir le type > mapper X/Y
  5. Assembler un dashboard : menu "Projects" > "+ New" > drag-and-drop les charts
  6. Configurer le rafraîchissement : onglet "Schedule" d'un chart > cron

🔄 Alternatives

Open Source

  • Metabase — Le poids lourd de la BI open source
  • Apache Superset — BI enterprise (plus complexe)
  • Redash — SQL queries + viz (plus minimal)
  • Grafana — Excellent pour séries temporelles (métriques)
  • Nocodb Airtable-like — Pour des vues tabulaires
  • Directus — Headless CMS avec dashboard

Comparaison Chartbrew vs alternatives

Critère Chartbrew Metabase Superset Grafana
Interface Moderne Simple Complexe Technique
Setup Docker
SGBD supportés 6+ 15+ 30+ 30+
Types de charts 10+ 15+ 50+ 30+
Filtres croisés variables
Auth utilisateurs
Alertes
Langage JS/Node Java/Clojure Python Go
Licence Apache-2.0 AGPL Apache AGPL

Verdict : Chartbrew brille par sa simplicité et modernité. Pour de la BI enterprise avec alerting, Metabase. Pour des métriques time-series, Grafana.

Propriétaires (ce que Chartbrew remplace)

  • Retool (très cher au-delà de 5 users)
  • Tableau Public / Public Tableau
  • Looker Studio (Google, gratuit mais cloud)
  • Power BI embedded (Microsoft, payant)
  • Chartio (racheté par Atlassian)
  • Domo

🔐 Sécurité

  • 🔐 SECRET_KEY obligatoire en production : openssl rand -hex 50 minimum
  • 🔒 HTTPS obligatoire via app-traefik : Chartbrew accède potentiellement à des données métier sensibles
  • 🛡️ Row-Level Security : créer des utilisateurs SQL dédiés en lecture seule pour Chartbrew (jamais root ou superuser)
  • 🛡️ Partage public de dashboard : activer avec précaution, les liens publics sont sensibles

📚 Ressources

Pages Liées