diff --git a/playbooks/templates/wireguard.j2 b/playbooks/templates/wireguard.j2
new file mode 100644
index 0000000000000000000000000000000000000000..8bc8efe7953039507f8fd1819794abc8f68a0fc0
--- /dev/null
+++ b/playbooks/templates/wireguard.j2
@@ -0,0 +1,15 @@
+[Interface]
+Address = {{ interfaces[inventory_hostname]["wg0"].address }}
+PrivateKey = {{ keys[inventory_hostname]["private"].key }}
+ListenPort = {{ interfaces[inventory_hostname]["wg0"].port }}
+
+[Peer]
+{% if inventory_hostname == "H1" %}
+PublicKey = {{ keys["H2"]["public"].key }}
+AllowedIPs = {{ interfaces["H2"]["wg0"].address }}/32
+Endpoint = {{ interfaces["H2"]["eth0"].address }}:{{ interfaces["H2"]["wg0"].port }}
+{% else %}
+PublicKey = {{ keys["H1"]["public"].key }}
+AllowedIPs = {{ interfaces["H1"]["wg0"].address }}/32
+Endpoint = {{ interfaces["H1"]["eth0"].address }}:{{ interfaces["H1"]["wg0"].port }}
+{% endif %}