Files
2026-06-09 18:40:21 +02:00

142 lines
4.9 KiB
Markdown

---
title: Mafl
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, dashboard, minimaliste, horizontal, terminal-aesthetic]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Dashboard, https://github.com/hhftechnology/Mafl]
---
# 📊 Mafl
> **Dashboard minimaliste horizontal** : une **barre supérieure** façon launcher/terminal, regroupant tous ses services en **tuiles discrètes**. Look « Hacker News » rencontre les pages d'accueil custom.
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | — |
| **GitHub** | [hhftechnology/Mafl](https://github.com/hhftechnology/Mafl) |
| **License** | MIT |
| **Langage** | TypeScript (Next.js) |
| **Étoiles GitHub** | 737 ⭐ |
| **Catégorie** | [[cat-dashboard]] |
## 📝 Description
**Mafl** prend le contre-pied des dashboards verticaux classiques (Dashy, Heimdall…) : au lieu d'une grille, on a une **barre horizontale unique** listant les services. Inspiré de l'esthétique des **pages d'accueil orientées terminal/hacker**, il mise sur l'efficacité visuelle et la sobriété.
**Philosophie :**
- 🧭 **Une seule barre horizontale** : pas de scrolling infini, pas de widgets
- 🔤 **Typographie monospace** + couleurs sobres
- 🖼️ **Icônes claires** : une icône par service, libellé court
- 🌑 **Mode sombre par défaut**
-**Très léger** : peu de JS, peu de CSS, rendu instantané
- 📐 **Layout responsive** : la barre s'adapte aux écrans larges (TV, écrans 4K, ultra-wide)
**Cas d'usage idéal :**
- 🖥️ **Page d'accueil navigateur** sur grand écran
- 📺 **Dashboard TV/homelab** affiché en permanence sur un écran mural
- 🧪 **Public cible « power users »** : on veut la liste, pas la déco
**Différence avec [[app-glance]]** : Glance verticalise en colonnes, Mafl horizontalise en une ligne.
**Différence avec [[app-dashy]]** : Dashy = riche et configurable, Mafl = minimal et rapide.
**Limites assumées :** pas de widgets, pas de météo, pas de monitoring — c'est un **lanceur**, pas un portail d'information.
## 🚀 Installation
### Via Docker (recommandé)
```yaml
# docker-compose.yml
services:
mafl:
image: hhftechnology/mafl:latest
container_name: mafl
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- ./config.yaml:/app/config.yaml:ro
environment:
- TZ=Europe/Paris
labels:
- "traefik.enable=true"
- "traefik.http.routers.mafl.rule=Host(`mafl.example.com`)"
- "traefik.http.routers.mafl.entrypoints=websecure"
- "traefik.http.routers.mafl.tls.certresolver=letsencrypt"
```
### Installation manuelle
```bash
git clone https://github.com/hhftechnology/Mafl.git
cd Mafl
npm install
npm run build
npm start
```
> Prérequis : Node.js 18+, fichier `config.yaml` à la racine.
## ⚙️ Configuration
1. **Écrire `config.yaml`** : liste des services (`name`, `url`, `icon`, `category`).
2. **Choisir le mode d'icônes** : URL externe, favicon auto, ou icône Lucide locale.
3. **Définir un thème** : couleurs de fond, accent, typo.
4. **Optionnel** : grouper les services en sections (`Work`, `Perso`, `Smart Home`).
5. **Définir comme page d'accueil navigateur** : `chrome://settings` → onglet « Au démarrage ».
### Exemple de `config.yaml`
```yaml
title: Mon Homelab
theme: dark
services:
- name: Traefik
url: https://traefik.example.com
icon: https://.../traefik.png
- name: Portainer
url: https://portainer.example.com
- name: Grafana
url: https://grafana.example.com
```
## 🔗 Alternatives
- **[[app-glance]]** — Widgets read-only, multi-pages, vertical
- **[[app-dashy]]** — Dashboard complet, riche, vertical
- **[[app-homepage]]** — Moderne, services + bookmarks + monitoring
- **[[app-heimdall]]** — Léger, mature, vertical
- **[[app-dashlit]]** — Concurrent minimaliste (autre fiche du batch)
## 🔒 Sécurité
- **🔐 Reverse-proxy + auth** : Mafl n'a pas d'authentification native, à protéger via [[app-traefik]] + Authelia/Authentik.
- **📁 `config.yaml` sensible** : contient la liste de TOUS les services internes — ne pas le versionner en public.
- **🌐 Pas d'API publique exposée** : l'app reste un portail read-only, surface d'attaque très faible.
- **🛡️ Montage en `ro`** : le fichier de config peut être monté en lecture seule.
## 📚 Ressources
- [GitHub — hhftechnology/Mafl](https://github.com/hhftechnology/Mafl)
- [selfh.st — Apps Dashboard](https://selfh.st/apps/?tag=Dashboard)
- [Démo en ligne](https://demo.mafl.app) (selon disponibilité)
## 🔗 Pages Liées
- [[cat-dashboard]]
- [[app-glance]] — alternative la plus proche
- [[app-dashy]] — concurrent riche
- [[app-homepage]] — concurrent moderne
- [[app-dashlit]] — autre fiche du batch
- [[app-traefik]] — reverse-proxy
- [[securisation-home-lab]] — auth, isolation
- [[recettes-docker-compose]] — stack type