122 lines
4.6 KiB
Markdown
122 lines
4.6 KiB
Markdown
---
|
|
title: StencilBox
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, static-site, yaml, homepage, dashboard, stencilbox, templates, self-hosting]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=Static-Site, https://jamesread.github.io/StencilBox/, https://github.com/jamesread/StencilBox]
|
|
---
|
|
|
|
# 🧱 StencilBox
|
|
|
|
> **Le générateur statique orienté YAML** pour construire rapidement des pages simples, rapides et data-driven, notamment des homepages de liens ou des petits sites utilitaires auto-hébergés.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Champ | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | [jamesread.github.io/StencilBox](https://jamesread.github.io/StencilBox/) |
|
|
| **GitHub** | [jamesread/StencilBox](https://github.com/jamesread/StencilBox) |
|
|
| **Licence** | AGPL-3.0 |
|
|
| **Langage** | Non précisé clairement dans les sources consultées |
|
|
| **Étoiles GitHub** | 68 ⭐ |
|
|
| **Dernière MAJ** | 2026-05-12 |
|
|
| **Catégorie** | [[cat-static-site|Static Site]] |
|
|
|
|
## 📝 Description
|
|
|
|
**StencilBox** est un **générateur de site statique** centré sur la transformation de **données YAML** en pages web simples et rapides. La documentation le rapproche de Hugo dans l'idée générale, tout en expliquant que son focus est davantage le **self-hosting**, les **pages de liens**, les sidebars et les petits sites utilitaires pilotés par données.
|
|
|
|
Le dépôt insiste sur plusieurs différences par rapport aux dashboards dynamiques type Heimdall/Homepage :
|
|
|
|
- génération **statique** plutôt que rendu dynamique ;
|
|
- possibilité de **générer plusieurs sites** depuis une même instance ;
|
|
- orientation **données YAML** plus que contenu éditorial Markdown.
|
|
|
|
La documentation précise aussi que **Markdown n'est pas encore supporté** comme format principal : StencilBox vise d'abord les usages **data-first**.
|
|
|
|
Cas d'usage typiques :
|
|
|
|
- homepages personnelles ou familiales ;
|
|
- portails internes de liens ;
|
|
- petites pages d'information construites depuis YAML ;
|
|
- génération de plusieurs variantes de site à partir de configurations séparées.
|
|
|
|
## 🚀 Installation
|
|
|
|
### Option recommandée : Docker Compose
|
|
|
|
La documentation officielle recommande explicitement **Docker Compose**.
|
|
|
|
```yaml
|
|
services:
|
|
stencilbox:
|
|
container_name: StencilBox
|
|
image: ghcr.io/jamesread/stencilbox:latest
|
|
volumes:
|
|
- stencilbox-config:/config
|
|
restart: unless-stopped
|
|
ports:
|
|
- "4337:8080"
|
|
|
|
volumes:
|
|
stencilbox-config:
|
|
name: stencilbox-config
|
|
external: false
|
|
```
|
|
|
|
Puis :
|
|
|
|
```bash
|
|
docker compose up -d
|
|
```
|
|
|
|
## ⚙️ Configuration Initiale
|
|
|
|
1. **Créer le `docker-compose.yml`** recommandé.
|
|
2. **Démarrer StencilBox** avec `docker compose up -d`.
|
|
3. **Accéder à l'interface** pour vérifier que le service répond.
|
|
4. **Préparer vos fichiers YAML** dans le volume `/config`.
|
|
5. **Choisir un template** intégré ou adapter le rendu à votre usage.
|
|
6. **Construire un ou plusieurs sites** selon vos fichiers de configuration.
|
|
|
|
StencilBox est particulièrement pertinent si vous préférez **piloter un site par données YAML** plutôt que maintenir une stack de contenu complète.
|
|
|
|
## 🔄 Alternatives
|
|
|
|
### Open Source
|
|
- **Homepage** — Dashboard auto-hébergé dynamique pour services personnels
|
|
- **Heimdall** — Portail d'applications plus traditionnel
|
|
- **Hugo** — Générateur statique polyvalent
|
|
- **Jekyll** — Générateur statique classique
|
|
- **tinyfeed** — Génération statique focalisée sur les flux
|
|
|
|
### Propriétaires
|
|
- **start.me**
|
|
- **Netlify** (pour la publication, pas l'édition)
|
|
- **Carrd**
|
|
|
|
## 🔐 Sécurité
|
|
|
|
- ✅ Le résultat final est **statique**, donc très simple à exposer
|
|
- ✅ Le projet revendique l'absence de télémétrie et le fonctionnement sans Internet requis
|
|
- ⚠️ Vérifiez le contenu YAML publié si vous y placez des URLs internes, identifiants de service ou métadonnées sensibles
|
|
- ✅ Montez le volume `/config` avec des permissions appropriées
|
|
- ✅ Exposez le service derrière un reverse proxy HTTPS si nécessaire
|
|
- ✅ Sauvegardez le volume de configuration avant mise à jour de conteneur
|
|
|
|
## 📚 Ressources
|
|
|
|
- [Documentation officielle](https://jamesread.github.io/StencilBox/)
|
|
- [Installation via Docker Compose](https://jamesread.github.io/StencilBox/install/docker-compose.html)
|
|
- [GitHub jamesread/StencilBox](https://github.com/jamesread/StencilBox)
|
|
- [Guide de démarrage](https://jamesread.github.io/StencilBox/getting-started.html)
|
|
|
|
## Pages Liées
|
|
|
|
- [[cat-static-site]] — Vue d'ensemble de la catégorie Static Site
|
|
- [[app-tinyfeed]] — Générateur statique minimaliste
|
|
- [[app-zaneops]] — Pour publier ensuite les sites générés
|