Rundeck und AWX Installation mit Docker
Inhaltsverzeichnis
Rundeck und AWX Installation mit Docker
Diese Anleitung zeigt, wie man Rundeck und AWX in Docker-Containern installiert, wobei alle wichtigen Daten persistent gespeichert werden.
Voraussetzungen
- Docker und Docker-Compose installiert
- Ausreichend Speicherplatz (mindestens 2GB empfohlen)
- Ports 4440 und 8052 frei
Rundeck Installation
-
Verzeichnis für persistente Daten erstellen:
mkdir -p ~/rundeck_data -
Rundeck Container starten:
docker run -d \ -p 4440:4440 \ -v ~/rundeck_data:/home/rundeck/server/data \ --name rundeck \ rundeck/rundeck:latest -
Zugriff:
- URL: http://
:4440 - Login: admin/admin
- URL: http://
AWX Installation
-
Verzeichnisse für persistente Daten erstellen:
mkdir -p ~/awx_data/postgres ~/awx_data/projects -
docker-compose.yml erstellen:
cat <<EOL > ~/awx_data/docker-compose.yml version: '3' services: postgres: image: postgres:13 volumes: - ~/awx_data/postgres:/var/lib/postgresql/data environment: POSTGRES_DB: awx POSTGRES_USER: awx POSTGRES_PASSWORD: awxpass awx: image: ansible/awx:latest depends_on: - postgres ports: - "8052:8052" volumes: - ~/awx_data/projects:/var/lib/awx/projects environment: DATABASE_USER: awx DATABASE_PASSWORD: awxpass DATABASE_NAME: awx DATABASE_HOST: postgres EOL -
AWX starten:
cd ~/awx_data docker-compose up -d -
Zugriff:
- URL: http://
:8052 - Login: admin/password
- URL: http://
Persistenz und Autostart
Um sicherzustellen, dass die Container nach einem Neustart automatisch starten, können Systemd-Services eingerichtet werden:
-
Für Rundeck:
sudo bash -c 'cat <<EOL > /etc/systemd/system/rundeck-docker.service [Unit] Description=Rundeck Docker Container After=docker.service [Service] Restart=always ExecStart=/usr/bin/docker start -a rundeck ExecStop=/usr/bin/docker stop -t 2 rundeck [Install] WantedBy=multi-user.target EOL' -
Für AWX:
sudo bash -c 'cat <<EOL > /etc/systemd/system/awx-docker.service [Unit] Description=AWX Docker Container After=docker.service [Service] WorkingDirectory=/home/$(whoami)/awx_data Restart=always ExecStart=/usr/local/bin/docker-compose up ExecStop=/usr/local/bin/docker-compose down [Install] WantedBy=multi-user.target EOL' -
Services aktivieren:
sudo systemctl daemon-reload sudo systemctl enable rundeck-docker sudo systemctl enable awx-docker
Wichtige Hinweise
- Beide Lösungen können parallel betrieben werden
- Daten werden in ~/rundeck_data und ~/awx_data gespeichert
- Für Produktivumgebungen sollten zusätzliche Sicherheitsmaßnahmen getroffen werden