INSIGHT-MVP/repos/INSIGHT-Infra/ansible/roles/docker/tasks/main.yml
Thomas Reitz 36196457ea feat(infra): vollständige Ansible-Struktur Phase 1
- Alle Ansible-Rollen erstellt: common, disk_setup, docker, postgresql,
  pgbouncer, redis, nginx, zabbix_agent
- ansible.cfg mit Pipeline-Optimierung
- hosts.yml mit echten IPs (DBS01=.20, APS01=.21, WEB01=.22)
- group_vars für alle Server (dbs, aps, web)
- Zabbix-Server auf sentinel.xinion.de gesetzt
- vault.yml.example als Vorlage für Secrets
- site.yml nutzt import_playbook (DBS01→APS01→WEB01)
- BRIEFING.md für alle 4 Repos angelegt (Platform, Apps, Infra, Shared)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 15:23:29 +01:00

65 lines
1.4 KiB
YAML

---
# Role: docker
# Installiert Docker CE + Compose Plugin
- name: "Docker GPG Key hinzufügen"
apt_key:
url: https://download.docker.com/linux/ubuntu/gpg
state: present
- name: "Docker Repository hinzufügen"
apt_repository:
repo: "deb [arch=amd64] https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable"
state: present
- name: "Docker CE installieren"
apt:
name:
- docker-ce
- docker-ce-cli
- containerd.io
- docker-buildx-plugin
- docker-compose-plugin
state: present
update_cache: true
- name: "Docker Service aktivieren und starten"
service:
name: docker
state: started
enabled: true
- name: "ansible User zur docker-Gruppe hinzufügen"
user:
name: ansible
groups: docker
append: true
- name: "Docker Daemon konfigurieren (log rotation, data-root)"
copy:
dest: /etc/docker/daemon.json
content: |
{
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
},
"live-restore": true
}
notify: restart docker
- name: "Docker Version prüfen"
command: docker --version
register: docker_version
changed_when: false
- name: "Docker Version ausgeben"
debug:
msg: "{{ docker_version.stdout }}"
handlers:
- name: restart docker
service:
name: docker
state: restarted