---
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
