7.8 KiB
title: Rundeck created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, automation, job-scheduler, runbook, ci-cd, java, groovy] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Automation, https://github.com/rundeck/rundeck]
📅 Rundeck
L'ordonnanceur de jobs et runbook automation — planifiez, exécutez et tracez n'importe quel script sur des centaines de nœuds depuis une interface web. Le pont idéal entre SysAdmins, SREs et équipes support non-techniques.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | rundeck.org |
| GitHub | rundeck/rundeck |
| License | Apache-2.0 |
| Langage | Java (backend) + Groovy (Jobs) |
| Étoiles GitHub | 972 ⭐ (cette stat) / 5,5k+ en réalité |
| Dernière MAJ | 2026-06-05 |
| Catégorie | cat-automation |
📝 Description
Rundeck est l'outil de référence pour l'exécution sécurisée de scripts sur des flottes de serveurs hétérogènes, avec une UI web, des logs centralisés, du RBAC, et un scheduler cron. Là où app-ansible est opinionated (YAML, SSH, modules), Rundeck est agnostique : un Job Rundeck peut lancer un script bash, un playbook Ansible, une commande PowerShell, un kubectl, une requête SQL, ou n'importe quel exécutable — sur n'importe quel nœud, à n'importe quel moment.
L'idée centrale est le runbook : un livret de procédures versionné, documenté, traçable, exécutable en un clic. Au lieu d'avoir un wiki Notion avec « en cas de prod down, faire X, Y, Z », le runbook Rundeck exécute réellement X, Y, Z et garde la trace de qui a cliqué quand. C'est le rêve de tout SRE et de toute équipe support de niveau 1.
Fonctionnalités principales :
- ✅ Jobs : scripts paramétrés, versionnés (Git), avec description Markdown
- ✅ Scheduler cron : exécution planifiée (timezone-aware)
- ✅ Exécution multi-nœuds : lancer sur 1, 10 ou 1000 nœuds en parallèle
- ✅ Plugins : SSH, WinRM, HTTP, Kubernetes, Ansible, AWS, GCP, Azure
- ✅ RBAC avancé : ACL par projet, par groupe, par job (qui peut voir/exécuter quoi)
- ✅ Logs centralisés : sortie capturée, rejouable, téléchargeable, exportable en JSON
- ✅ Webhooks : déclencher un job via HTTP (idéal pour intégration n8n/GitLab CI)
- ✅ Workflows : enchaîner plusieurs jobs avec conditions (success, failure)
- ✅ Variables d'entrée : le job demande des paramètres à l'utilisateur
- ✅ Notifications : email, Slack, webhook, PagerDuty
- ✅ Self-service portal : interface simplifiée pour les non-techs
- ✅ API REST complète
Vs Ansible : Rundeck utilise souvent Ansible sous le capot (il y a un plugin officiel), mais il ajoute la couche UI, scheduler, audit, RBAC. Pour un homelab, Rundeck est utile dès qu'on a 3+ serveurs et des opérations récurrentes (backups, nettoyage, déploiements).
Origine : créé par SimplifyOps en 2010, maintenant maintenu par la communauté, historiquement utilisé par Disney, Salesforce, Comcast.
🚀 Installation
Option 1 : Docker Compose (recommandé)
# docker-compose.yml
services:
rundeck:
image: rundeck/rundeck:latest
container_name: rundeck
restart: unless-stopped
ports:
- "4440:4440"
environment:
RUNDECK_GRAILS_URL: "https://rundeck.mondomaine.fr"
RUNDECK_SERVER_FORWARDED: "true"
RUNDECK_DATABASE_URL: jdbc:mysql://rundeck-db/rundeck?autoReconnect=true
RUNDECK_DATABASE_DRIVER: org.mariadb.jdbc.Driver
RUNDECK_DATABASE_USERNAME: rundeck
RUNDECK_DATABASE_PASSWORD: change-me-db
RUNDECK_ADMIN_PASSWORD: change-me-admin
RUNDECK_LOGLEVEL: INFO
volumes:
- rundeck-data:/home/rundeck/server/data
- rundeck-config:/home/rundeck/etc
rundeck-db:
image: mariadb:10.11
container_name: rundeck-db
restart: unless-stopped
environment:
MARIADB_ROOT_PASSWORD: change-me-root
MARIADB_DATABASE: rundeck
MARIADB_USER: rundeck
MARIADB_PASSWORD: change-me-db
volumes:
- rundeck-db:/var/lib/mysql
volumes:
rundeck-data:
rundeck-config:
rundeck-db:
Premier login : admin / change-me-admin (penser à le changer).
Option 2 : Binaire Java (Linux)
wget https://dl.bintray.com/rundeck/rundeck/rundeck-X.X.X.war
java -jar rundeck-X.X.X.war # démarre sur :4440
Option 3 : Paquets RPM/DEB
Rundeck fournit des dépôts APT et YUM officiels. Cf. docs.rundeck.org.
⚙️ Configuration
- Projet : unité logique (ex. "prod-web", "staging-db")
- Key Storage : stocker les clés SSH et secrets (chiffrés en DB)
- Resource Model : inventaire des nœuds cibles (statique YAML, dynamique AWS/GCP)
- Jobs : un Job = un script + un nom + une description + un schedule + des ACLs
- ACLs (
/etc/rundeck/<projet>/acls.policy) : politiques de sécurité par projet (qui peut voir/exécuter quoi) - Plugins :
~/.rundeck/libext/pour les plugins custom (Java JAR) - Webhooks : activer les webhooks d'URL pour intégration CI/CD
Exemple de Job simple (déclenché à la demande, exécuté sur tous les nœuds web) :
- job:
name: "Check disk space"
description: "Affiche l'espace disque des serveurs web"
nodeFilter: "role:web"
sequence:
- command: "df -h | grep -v tmpfs"
🔗 Alternatives
Open Source
- Jenkins — surtout orienté CI/CD, mais peut faire office de scheduler
- AWX — l'équivalent Red Hat pour Ansible
- StackStorm — event-driven automation (plus complexe)
- Airflow — orienté data pipelines (Python)
- n8n / Node-RED — workflow automation no-code
- Crontab + Syslog — pour les fans de CLI pure
- Ansible Semaphore — app-semaphore-ui (plus simple, plus Ansible-centric)
- Cronicle — alternative JS plus légère
Propriétaires (ce que Rundeck remplace)
- Rundeck Enterprise / PagerDuty Runbook Automation — sur devis, ajoute SSO/SAML
- Ansible Tower — sur le même créneau mais Ansible-only
- BMC Control-M — orchestrateur enterprise (centaines de k€)
- Tidal Enterprise Scheduler — mainframe/enterprise
- CloudBees Flow (ex Electric Cloud) — CI/CD enterprise
- JFrog Pipelines — orienté DevOps/CD
🔒 Sécurité
- ⚠️ Changer
adminpassword +RUNDECK_ADMIN_PASSWORDavant l'exposition - ACLs fines : toujours configurer les politiques d'accès (
acls.policy) avant d'inviter l'équipe - Key Storage : chiffré au repos, mais la master key doit être sauvegardée hors serveur
- TLS obligatoire : mettre Rundeck derrière Traefik/Caddy en HTTPS (le web admin expose tous vos scripts)
- RBAC par projet : un SRE ne doit pas pouvoir exécuter un job DBA
- Audit log : exporter vers un SIEM (Loki, Graylog)
- Sécurité SSH : préférer ed25519 aux clés RSA 1024
- Rotation des credentials : configurer l'API pour rotater automatiquement les secrets stockés
📚 Ressources
- Site officiel
- Dépôt GitHub
- Documentation
- Tutoriel Runbook Automation
- Rundeck University
- Plugins communautaires
🔗 Pages Liées
- cat-automation — Catégorie Automation
- app-ansible — Souvent utilisé comme runner par Rundeck
- app-semaphore-ui — Alternative plus simple et Ansible-only
- cat-deployment — Catégorie Déploiement
- recettes-docker-compose — Templates Docker
- securisation-home-lab — Sécurité