added readmes (#1)

Co-authored-by: DerLinkman <derlinkman@gmail.com>
Reviewed-on: #1
This commit was merged in pull request #1.
This commit is contained in:
2026-07-18 19:36:54 +00:00
co-authored by DerLinkman
parent 8d64bf5982
commit cab59c1658
7 changed files with 782 additions and 0 deletions
+102
View File
@@ -0,0 +1,102 @@
# Rolle `docker`
Installiert die Docker Engine über das offizielle Docker-Repository für Debian.
Die Rolle fügt den Docker-GPG-Key hinzu, richtet eine APT-Quelle im deb822-Format
ein und installiert alle benötigten Pakete (Engine, CLI, containerd, Buildx- und
Compose-Plugin).
> Siehe auch das Playbook `playbooks/docker.yml` sowie die
> [Repo-README](../../README.md).
## Voraussetzungen
- Debian-Ziel-Host
- Internetzugang zum Docker-Repository (`download.docker.com`)
- Benutzer mit `become`-Rechten
## Einbindung
Die Rolle wird typischerweise über das Playbook `playbooks/docker.yml` oder
automatisch durch die `bootstrap`-Rolle (`import_role`) aufgerufen. Direkte
Einbindung per `import_role`:
```yaml
- hosts: all
become: true
user: admin
roles:
- role: docker
```
```bash
ansible-playbook -i inventory/dmc12.yml playbooks/docker.yml
```
## Funktionsweise
`tasks/main.yml` inkludiert die eigentliche Installations-Logik aus
`tasks/install-docker.yml`:
1. **apt-Cache aktualisieren** `cache_valid_time: 3600`
2. **Voraussetzungen installieren** `ca-certificates`, `curl`
3. **Keyring-Verzeichnis anlegen** `/etc/apt/keyrings` (Mode `0755`)
4. **Docker GPG-Key herunterladen** nach `/etc/apt/keyrings/docker.asc`
5. **APT-Quelle einrichten** Template `sources.list.j2` nach
`/etc/apt/sources.list.d/docker.sources` (deb822-Format)
6. **apt-Cache aktualisieren** nach Repository-Hinzufügung
7. **Docker-Pakete installieren** `docker_packages` (benachrichtigt Handler
`Start Docker`)
## Variablen
| Variable | Typ | Default | Beschreibung |
|----------------------|---------|--------------------------------------|-------------------------------------------------------|
| `docker_mirror` | string | `https://download.docker.com/linux/debian` | Basis-URL des Docker-APT-Repositories |
| `os_version_codename`| string | `{{ ansible_lsb.codename }}` | Codename der Distribution (für `Suites:`) |
| `docker_packages` | list | siehe unten | Liste der zu installierenden Docker-Pakete |
Default `docker_packages`:
```yaml
docker_packages:
- docker-ce
- docker-ce-cli
- containerd.io
- docker-buildx-plugin
- docker-compose-plugin
```
`os_version_codename` wird standardmäßig automatisch anhand von
`ansible_lsb.codename` ermittelt und kann bei Bedarf überschrieben werden.
## Templates
| Template | Ziel |
|-------------------|-------------------------------------------------|
| `sources.list.j2` | `/etc/apt/sources.list.d/docker.sources` (deb822) |
## Handler
| Handler | Auslöser |
|------------------|-----------------------------------------------------|
| `Start Docker` | Installation/Aktualisierung der Docker-Pakete |
| `Restart Docker` | (reserviert) systemd-Neustart |
| `Reload Docker` | (reserviert) systemd-Reload |
## Tags
Die Rolle vergibt keine eigenen Tags. Bei Bedarf über das Playbook steuerbar.
## Abhängigkeiten
- Keine weiteren Rollen.
- Collections: `ansible.builtin` (Bordmittel).
## Hinweise
- Die APT-Quelle liegt im **deb822-Format** vor, was ab Debian 12+ empfohlen
wird. Das签ierte-Keyfile liegt unter `/etc/apt/keyrings/docker.asc`.
- Der Handler `Start Docker` aktiviert und startet den Service, ohne bereits
laufende Container zu beeinflussen.
- Wird die Rolle innerhalb von `bootstrap` aufgerufen, übernimmt das Top-Level
Playbook das `become`/`user`-Handling.