--- 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](https://chartbrew.com/) | | **GitHub** | [chartbrew/chartbrew](https://github.com/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\|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é) ```yaml # 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) ```bash 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 - [Site officiel](https://chartbrew.com/) - [Documentation](https://docs.chartbrew.com/) - [GitHub chartbrew/chartbrew](https://github.com/chartbrew/chartbrew) - [Démo en ligne](https://app.chartbrew.com/) ## Pages Liées - [[cat-database]] — Catégorie Database - [[app-traefik]] — Reverse proxy recommandé - [[recettes-docker-compose]] — Intégration stack - [[securisation-home-lab]] — Bonnes pratiques globales