From f91be452a961ad05110f3e6070bb65ccfa2bcfe5 Mon Sep 17 00:00:00 2001
From: Tobias Reisinger <tobias@msrg.cc>
Date: Tue, 15 Apr 2025 13:45:43 +0200
Subject: [PATCH] Enable ipv6 for docker

---
 .../roles/software/files/docker-daemon.json    |  8 ++++++++
 playbooks/roles/software/tasks/docker.yml      | 18 ++++++++++++++++++
 2 files changed, 26 insertions(+)
 create mode 100644 playbooks/roles/software/files/docker-daemon.json

diff --git a/playbooks/roles/software/files/docker-daemon.json b/playbooks/roles/software/files/docker-daemon.json
new file mode 100644
index 0000000..d9ccbed
--- /dev/null
+++ b/playbooks/roles/software/files/docker-daemon.json
@@ -0,0 +1,8 @@
+{
+	"ipv6": true,
+	"ip6tables": true,
+	"fixed-cidr-v6": "fd00:1720:170::/64",
+	"dns": [
+		"172.17.0.1"
+	]
+}
diff --git a/playbooks/roles/software/tasks/docker.yml b/playbooks/roles/software/tasks/docker.yml
index ad0aea8..3e30bd7 100644
--- a/playbooks/roles/software/tasks/docker.yml
+++ b/playbooks/roles/software/tasks/docker.yml
@@ -43,6 +43,24 @@
     append: true
   become: true
 
+- name: Apply docker daemon config
+  ansible.builtin.copy:
+    src: docker-daemon.json
+    dest: /etc/docker/daemon.json
+    mode: "0400"
+    owner: root
+    group: root
+  become: true
+  register: docker_config_result
+
+- name: Restart docker service
+  ansible.builtin.systemd_service:
+    state: restarted
+    name: docker
+  become: true
+  when: docker_config_result.changed # noqa: no-handler TODO can we add a handler here?
+
 - name: Create a network
   community.docker.docker_network:
     name: apps
+    enable_ipv6: true