132 lines
3.0 KiB
Markdown
132 lines
3.0 KiB
Markdown
---
|
|
title: "Rundeck und AWX Installation mit Docker"
|
|
date: "2026-09-08"
|
|
---
|
|
|
|
# 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
|
|
|
|
1. Verzeichnis für persistente Daten erstellen:
|
|
```bash
|
|
mkdir -p ~/rundeck_data
|
|
```
|
|
|
|
2. Rundeck Container starten:
|
|
```bash
|
|
docker run -d \
|
|
-p 4440:4440 \
|
|
-v ~/rundeck_data:/home/rundeck/server/data \
|
|
--name rundeck \
|
|
rundeck/rundeck:latest
|
|
```
|
|
|
|
3. Zugriff:
|
|
- URL: http://<deine-ip>:4440
|
|
- Login: admin/admin
|
|
|
|
## AWX Installation
|
|
|
|
1. Verzeichnisse für persistente Daten erstellen:
|
|
```bash
|
|
mkdir -p ~/awx_data/postgres ~/awx_data/projects
|
|
```
|
|
|
|
2. docker-compose.yml erstellen:
|
|
```bash
|
|
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
|
|
```
|
|
|
|
3. AWX starten:
|
|
```bash
|
|
cd ~/awx_data
|
|
docker-compose up -d
|
|
```
|
|
|
|
4. Zugriff:
|
|
- URL: http://<deine-ip>:8052
|
|
- Login: admin/password
|
|
|
|
## Persistenz und Autostart
|
|
|
|
Um sicherzustellen, dass die Container nach einem Neustart automatisch starten, können Systemd-Services eingerichtet werden:
|
|
|
|
1. Für Rundeck:
|
|
```bash
|
|
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'
|
|
```
|
|
|
|
2. Für AWX:
|
|
```bash
|
|
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'
|
|
```
|
|
|
|
3. Services aktivieren:
|
|
```bash
|
|
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
|