This commit is contained in:
Sascha 2026-03-03 21:45:41 +01:00
commit b6dafc7a73
9 changed files with 391 additions and 0 deletions

88
nvidia.yml Normal file
View file

@ -0,0 +1,88 @@
---
- name: NVIDIA + Docker Setup fuer Debian Trixie
hosts: all
become: true
vars:
docker_daemon_config:
default-runtime: nvidia
runtimes:
nvidia:
path: nvidia-container-runtime
runtimeArgs: []
tasks:
# --- Repos ----------------------------------------------------------------
- name: NVIDIA Container Toolkit GPG Key hinzufuegen
ansible.builtin.shell: |
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey \
| gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
args:
creates: /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
- name: NVIDIA Container Toolkit Repo hinzufuegen
ansible.builtin.shell: |
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list \
| sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' \
| tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
args:
creates: /etc/apt/sources.list.d/nvidia-container-toolkit.list
- name: apt update
ansible.builtin.apt:
update_cache: true
# --- Pakete ---------------------------------------------------------------
- name: Kernel Headers und DKMS installieren
ansible.builtin.apt:
name:
- linux-headers-{{ ansible_kernel }}
- dkms
state: present
- name: NVIDIA Treiber installieren
ansible.builtin.apt:
name:
- "nvidia-driver"
state: present
- name: NVIDIA Container Toolkit installieren
ansible.builtin.apt:
name:
- nvidia-container-toolkit
- nvidia-docker2
state: present
- name: NFS und CIFS Pakete installieren
ansible.builtin.apt:
name:
- nfs-common
- cifs-utils
state: present
# --- Docker konfigurieren -------------------------------------------------
- name: /etc/docker Verzeichnis sicherstellen
ansible.builtin.file:
path: /etc/docker
state: directory
mode: "0755"
- name: Docker daemon.json konfigurieren (NVIDIA als default runtime)
ansible.builtin.copy:
content: "{{ docker_daemon_config | to_nice_json }}"
dest: /etc/docker/daemon.json
mode: "0644"
notify: Docker neustarten
- name: nvidia-ctk runtime fuer Docker konfigurieren
ansible.builtin.command: nvidia-ctk runtime configure --runtime=docker
changed_when: false
handlers:
- name: Docker neustarten
ansible.builtin.service:
name: docker
state: restarted