Files
wiki/Catalogue-Self-Hosted/apps/app-anyappstart.md
T
2026-06-09 18:40:21 +02:00

195 lines
7.6 KiB
Markdown

---
title: AnyAppStart
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, logs, monitoring, control-panel, docker, systemd, vms, dashboard, go, minimal]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Logs, https://github.com/aceberg/AnyAppStart]
---
# 📋 AnyAppStart
> **Le panneau de contrôle minimaliste universel** : gérez Docker, Systemd, VMs, et "tout le reste" depuis une seule UI. L'outil idéal pour centraliser le contrôle de tous vos services hétérogènes.
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [github.com/aceberg/AnyAppStart](https://github.com/aceberg/AnyAppStart) |
| **GitHub** | [aceberg/AnyAppStart](https://github.com/aceberg/AnyAppStart) |
| **License** | MIT |
| **Langage** | Go |
| **Étoiles GitHub** | 213 ⭐ |
| **Dernière MAJ** | 2026-05-10 |
| **Catégorie** | [[cat-logs|Logs]] |
## 📝 Description
**AnyAppStart** est un **panneau de contrôle minimaliste** qui unifie la gestion de **Docker, Systemd, VMs** (via libvirt), et même des **commandes arbitraires** dans une seule UI web. C'est l'outil idéal pour les labos **hétérogènes** qui mixent containers Docker, services systemd, machines virtuelles QEMU/KVM, et scripts custom.
L'idée centrale est d'avoir **un seul endroit** pour voir et contrôler tout ce qui tourne sur un serveur (ou plusieurs), quelle que soit la techno sous-jacente. L'UI est volontairement **épurée** : pas de fioritures, juste l'essentiel (status, logs, actions start/stop/restart). AnyAppStart fait partie de la "philosophie Tabler" de l'auteur (aceberg) qui propose aussi d'autres micro-outils Go dans le même esprit ([[app-logforge]]-like).
**Public cible** : labos persos qui tournent des stacks mixtes (Docker + systemd + VM), sysadmins qui veulent une vue centralisée, amateurs d'auto-hébergement qui veulent un "PageKite" / "Heimdall" mais avec contrôle, devs qui veulent monitorer leurs services sans se prendre la tête.
-**Multi-tech** : Docker + Systemd + libvirt (VMs) + commandes custom
-**UI minimaliste** : simple, rapide, légère
-**Single binary** Go : ~15 Mo de RAM
-**Configuration YAML** : déclaratif
-**Actions start/stop/restart** sur tous les types
-**Logs streaming** : depuis Docker, journald, fichiers
-**Multi-hôte** : possible de monitorer plusieurs machines
-**MIT License** : usage libre
-**Thèmes** : clair/sombre
-**API REST** : intégration possible
- ⚠️ **Communauté modeste** (213 ⭐) : peu de features avancées
- ⚠️ **Pas d'alertes** : juste visualisation/contrôle
- ⚠️ **Pas de métriques long terme** : status temps réel seulement
## 🚀 Installation
### Option 1 : Docker Compose (recommandé)
```yaml
# docker-compose.yml
version: '3.8'
services:
anyappstart:
image: ghcr.io/aceberg/anyappstart:latest
container_name: anyappstart
restart: unless-stopped
environment:
TZ: Europe/Paris
CONFIG_PATH: /config/anyappstart.yaml
volumes:
- anyappstart-config:/config
- /var/run/docker.sock:/var/run/docker.sock:ro # Docker
- /run/systemd:/run/systemd:ro # Systemd (host)
- /var/log:/var/log:ro # Logs
ports:
- "8849:8849"
labels:
- "traefik.enable=true"
- "traefik.http.routers.anyappstart.rule=Host(`panel.example.com`)"
- "traefik.http.routers.anyappstart.entrypoints=websecure"
- "traefik.http.routers.anyappstart.tls.certresolver=letsencrypt"
volumes:
anyappstart-config:
```
### Option 2 : Single binary (host mode)
```bash
curl -L https://github.com/aceberg/AnyAppStart/releases/latest/download/anyappstart-linux-amd64 -o anyappstart
chmod +x anyappstart
./anyappstart --config anyappstart.yaml
```
### Option 3 : Bare-metal avec systemd
```ini
# /etc/systemd/system/anyappstart.service
[Unit]
Description=AnyAppStart Control Panel
After=network.target docker.service
[Service]
User=anyappstart
ExecStart=/opt/anyappstart/anyappstart --config /etc/anyappstart/config.yaml
Restart=always
[Install]
WantedBy=multi-user.target
```
## ⚙️ Configuration Initiale
1. **Créer le fichier de config** : `anyappstart.yaml`
```yaml
port: 8849
theme: dark
apps:
- name: "Traefik"
type: docker
container: traefik
- name: "Nginx"
type: systemd
service: nginx
- name: "VM Dev"
type: libvirt
domain: dev-vm
- name: "Backup script"
type: custom
cmd: /opt/scripts/backup.sh
```
2. **Lancer le container** : `docker compose up -d`
3. **Accéder à l'UI** : `http://IP:8849`
4. **Voir les services** : la page d'accueil liste tous les `apps` configurés
5. **Tester les actions** : cliquer sur start/stop/restart
6. **Logs** : bouton "logs" ouvre le stream temps réel
7. **Activer l'auth** : basic auth ou reverse proxy SSO
8. **Ajouter des hôtes** : config multi-host possible
## 🔄 Alternatives
### Open Source
- **Heimdall** — Dashboard de liens (pas de contrôle de cycle de vie)
- **Homarr** — Dashboard moderne (focus home page)
- [[app-logforge]] — Docker focus (du même auteur)
- **Portainer** — Docker + Swarm + K8s (lourd)
- **Cockpit** — Panel officiel Red Hat (systemd focus)
- **Yacht** — UI moderne Docker
### Comparaison AnyAppStart vs autres
| Critère | AnyAppStart | Heimdall | Cockpit | Portainer |
| :--- | :--- | :--- | :--- | :--- |
| **Docker** | ✅ | ❌ (liens) | ❌ (option) | ✅✅ |
| **Systemd** | ✅ | ❌ | ✅✅ | ❌ |
| **VMs (libvirt)** | ✅ | ❌ | ✅ | ❌ |
| **Commandes custom** | ✅ | ❌ | ❌ | ❌ |
| **Liens bookmarks** | ❌ | ✅✅ | ❌ | ❌ |
| **Métriques** | ❌ | ❌ | ✅ | ✅ |
| **Multi-hôte** | ✅ | N/A | ❌ | ✅ |
| **RAM** | ~15 Mo | ~50 Mo | ~200 Mo | ~100 Mo |
| **Setup** | 5 min | 5 min | 10 min | 5 min |
| **License** | MIT | MIT | LGPL-2.1 | Zlib (CE) |
**Verdict** : AnyAppStart est **unique** par sa capacité à unifier **Docker + Systemd + VMs + custom** dans une seule UI légère. Si vous voulez juste des liens/onglets, Heimdall. Si vous voulez tout Docker, Portainer. Si vous voulez gérer des services systemd, Cockpit. AnyAppStart est le **couteau suisse** des labos hétérogènes.
### Propriétaires (ce que AnyAppStart remplace)
- **Portainer Business** (payant)
- **Cockpit (RHEL subscription)** (payant en partie)
- **Rancher (enterprise)**
- **ManageEngine Applications Manager** (cher)
- **Datadog Dashboards** (cher)
## 🔐 Sécurité
- ⚠️ **Logs = données sensibles** : centraliser = exposition large
-**Chiffrement in-transit** : TLS obligatoire (Traefik en reverse proxy)
-**Authentification** : basic auth ou SSO via reverse proxy
- ⚠️ **Docker socket** : comme [[app-logforge]], utiliser un socket proxy
- ⚠️ **Systemd** : l'accès au bus systemd = root effectif (host mode requis)
-**Read-only mounts** : limiter les permissions socket/log
- ⚠️ **Rétention** : aucune (temps réel only)
-**Pas de stockage** : aucune DB à compromettre
-**Pas de backup nécessaire** : stateless
-**Logs éphémères** : parfaits pour RGPD
## 📚 Ressources
- [GitHub aceberg/AnyAppStart](https://github.com/aceberg/AnyAppStart)
- [Documentation officielle](https://github.com/aceberg/AnyAppStart#readme)
- [Autres outils aceberg](https://github.com/aceberg) — même philosophie
- [Tutoriel installation](https://github.com/aceberg/AnyAppStart/wiki)
## Pages Liées
- [[cat-logs]] — Catégorie Logs
- [[app-uptime-kuma]] — Monitoring uptime
- [[app-loki]] — Archivage long terme
- [[securisation-home-lab]] — Bonnes pratiques sécurité