Initial vault setup
This commit is contained in:
@@ -0,0 +1,135 @@
|
||||
---
|
||||
title: Compose Craft
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, docker, docker-compose, editeur, partage, typescript, auto-hebergement]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=Docker, https://github.com/composecraft/composecraft]
|
||||
---
|
||||
|
||||
# 🐳 Compose Craft
|
||||
|
||||
> **L'éditeur collaboratif de `docker-compose.yml`** : Compose Craft propose un éditeur visuel (drag & drop de services) et un mode texte avec validation, autocomplétion et templates prêts à l'emploi. Idéal pour les nouveaux venus à Docker Compose.
|
||||
|
||||
## 📋 Informations Générales
|
||||
|
||||
| Champ | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | (GitHub) |
|
||||
| **GitHub** | [composecraft/composecraft](https://github.com/composecraft/composecraft) |
|
||||
| **License** | MIT |
|
||||
| **Langage** | TypeScript / Svelte |
|
||||
| **Étoiles GitHub** | 1023 ⭐ |
|
||||
| **Dernière MAJ** | 2026-05-15 |
|
||||
| **Catégorie** | [[cat-docker\|Docker]] |
|
||||
|
||||
## 📝 Description
|
||||
|
||||
**Compose Craft** est un **éditeur web de fichiers `docker-compose.yml`** avec deux modes complémentaires : un **mode texte** (Monaco Editor — le même que VS Code) avec validation YAML, autocomplétion des clés Compose, et un **mode visuel** où l'on drag & drop des services depuis un catalogue de templates. Le tout produit un `docker-compose.yml` valide, téléchargeable ou partageable via lien.
|
||||
|
||||
L'idée : combler le fossé entre « je ne connais rien à Compose, je copie-colle un template » et « je sais écrire un YAML à la main ». Compose Craft est **l'assistant qui aide à monter en compétence**, pas un outil de production.
|
||||
|
||||
- ✅ **Éditeur Monaco** : coloration syntaxique, validation, formatage (le même moteur que VS Code)
|
||||
- ✅ **Mode visuel** : drag & drop de services depuis un catalogue, configuration par formulaires
|
||||
- ✅ **Templates** : 200+ stacks prêts à l'emploi (Nextcloud, Jellyfin, Gitea, Vaultwarden, Immich…)
|
||||
- ✅ **Validation** : indique en temps réel les erreurs de syntaxe, les champs requis manquants
|
||||
- ✅ **Partage** : génère un lien partageable (encode le YAML en base64) — pratique pour demander de l'aide
|
||||
- ✅ **Import** : colle un `docker-compose.yml` existant, l'UI le parse et le rend éditable
|
||||
- ✅ **Export** : télécharge en `.yml`, en `.env` (variables d'env), ou copie dans le presse-papier
|
||||
- ✅ **Schéma Compose à jour** : intègre la spécification Compose v2.x
|
||||
|
||||
**Compose Craft vs [[app-dockge|Dockge]]** : Dockge est un *gestionnaire de stacks* (déjà déployés) ; Compose Craft est un *éditeur de fichiers* (à déployer). Compose Craft vs **VS Code + extension Docker** : VS Code est plus puissant, mais demande d'installer une extension et de connaître la syntaxe. Compose Craft vs **composerize** (CLI) : composerize convertit une commande `docker run` en YAML ; Compose Craft fait le tour de propriétaire.
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Docker Compose (recommandé)
|
||||
|
||||
```yaml
|
||||
# docker-compose.yml
|
||||
version: '3.8'
|
||||
services:
|
||||
compose-craft:
|
||||
image: ghcr.io/composecraft/composecraft:latest
|
||||
container_name: compose-craft
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "3030:3000" # Web UI
|
||||
environment:
|
||||
- TZ=Europe/Paris
|
||||
- PUBLIC_URL=https://compose.example.com
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.compose-craft.rule=Host(`compose.example.com`)"
|
||||
- "traefik.http.routers.compose-craft.entrypoints=websecure"
|
||||
- "traefik.http.routers.compose-craft.tls.certresolver=letsencrypt"
|
||||
```
|
||||
|
||||
> **Pas de socket Docker requis** : Compose Craft n'agit pas sur vos conteneurs, il *génère* des fichiers. C'est un outil de conception, pas d'exécution.
|
||||
|
||||
### Standalone (Node.js)
|
||||
|
||||
```bash
|
||||
git clone https://github.com/composecraft/composecraft.git
|
||||
cd composecraft && pnpm install && pnpm build
|
||||
pnpm start
|
||||
```
|
||||
|
||||
## ⚙️ Configuration Initiale
|
||||
|
||||
1. **Lancer Compose Craft** : `docker compose up -d`
|
||||
2. **Accéder à l'UI** : `http://IP:3030` — aucune authentification par défaut, l'app ne touche pas au système
|
||||
3. **Choisir un mode** : « Visual » pour les débutants, « Code » pour les confirmés
|
||||
4. **Tester un template** : cliquer sur « Templates » > choisir « Nextcloud » > examiner le YAML généré
|
||||
5. **Importer votre `docker-compose.yml` existant** : bouton « Import » > coller > l'UI le rend éditable
|
||||
6. **Partager une stack** : cliquer sur « Share » > copier le lien > le destinataire ouvre la même stack dans son instance
|
||||
7. **Exporter** : bouton « Download » > choisir `.yml` seul ou bundle complet avec `.env.example`
|
||||
|
||||
## 🔄 Alternatives
|
||||
|
||||
### Open Source
|
||||
- **composerize / decomposerize** (CLI) — conversion `docker run` ↔ `docker-compose.yml`
|
||||
- **VS Code + extension Docker** — éditeur généraliste + extension
|
||||
- [[app-dock-dploy|Dock-Dploy]] — éditeur visuel similaire
|
||||
- **Portainer Stacks editor** — intégré à [[app-portainer|Portainer]]
|
||||
- **Diagrams.net (draw.io) + plugin Docker** — schémas, pas de YAML
|
||||
|
||||
### Comparaison Compose Craft vs alternatives
|
||||
|
||||
| Critère | Compose Craft | composerize | VS Code | Dock-Dploy |
|
||||
| :--- | :--- | :--- | :--- | :--- |
|
||||
| Mode visuel | ✅ | ❌ | ❌ | ✅ |
|
||||
| Mode code | ✅ (Monaco) | ❌ | ✅ | ❌ |
|
||||
| Templates | 200+ | 0 (input only) | 0 | 50+ |
|
||||
| Validation | ✅ | ❌ | ✅ (extension) | ✅ |
|
||||
| Partage lien | ✅ | ❌ | ❌ (snippet) | ❌ |
|
||||
| Setup | 2 min | 1 min | 10 min | 5 min |
|
||||
|
||||
**Verdict** : Compose Craft est **le meilleur outil pédagogique** pour apprendre Compose, et **un excellent partageur de stacks** (les liens partagés sont un killer feature). Pour de l'édition quotidienne en local, VS Code reste le must. Pour du « one-shot », Compose Craft est imbattable.
|
||||
|
||||
### Propriétaires (ce que Compose Craft remplace)
|
||||
- **Cloud 66 Compose** (UI cloud, payant)
|
||||
- **Portainer Business stack templates** (payant)
|
||||
- **Divio Cloud** (orienté devs, payant)
|
||||
- **AWS App Runner** (propriétaire, pas d'auto-hébergé)
|
||||
|
||||
## 🔐 Sécurité
|
||||
|
||||
- ✅ **Pas de socket Docker** : Compose Craft n'a **aucun accès** à votre système, c'est un outil isolé — c'est un gros avantage sécurité
|
||||
- **Mode public** : si l'UI est exposée sur Internet, n'importe qui peut l'utiliser pour générer des stacks. Ce n'est pas un risque pour votre infra, mais cela consomme des ressources
|
||||
- **Liens partagés** : le YAML est encodé en base64 dans l'URL, donc **non chiffré**. Ne partagez pas de stacks contenant des secrets (tokens, mots de passe)
|
||||
- **Pas de persistance sensible** : Compose Craft ne stocke rien côté serveur (stateless)
|
||||
|
||||
## 📚 Ressources
|
||||
|
||||
- [GitHub composecraft/composecraft](https://github.com/composecraft/composecraft)
|
||||
- [Démo en ligne](https://demo.composecraft.app/)
|
||||
- [Galerie de templates](https://github.com/composecraft/composecraft/tree/main/templates)
|
||||
|
||||
## Pages Liées
|
||||
- [[cat-docker]] — Catégorie Docker
|
||||
- [[app-portainer]] / [[app-dockge]] / [[app-yacht]] — GUI Docker
|
||||
- [[app-traefik]] — Reverse-proxy
|
||||
- [[recettes-docker-compose]] — Compose files prêts à l'emploi
|
||||
- [[securisation-home-lab]] — Bonnes pratiques
|
||||
Reference in New Issue
Block a user