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

7.6 KiB


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
GitHub aceberg/AnyAppStart
License MIT
Langage Go
Étoiles GitHub 213
Dernière MAJ 2026-05-10
Catégorie [[cat-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é)

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

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

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

Pages Liées