88 lines
2.6 KiB
YAML
88 lines
2.6 KiB
YAML
---
|
|
- 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
|