From ba4bc92cd57df2c014e4c2f3bcb6d8ee24c21c7c Mon Sep 17 00:00:00 2001 From: Kyattsukuro Date: Mon, 12 Oct 2026 23:47:12 +0200 Subject: [PATCH] Init --- README.md | 1 + defaults/main.yml | 4 ++++ handlers/main.yml | 8 ++++++++ tasks/main.yml | 25 +++++++++++++++++++++++++ templates/compose.yml.j2 | 26 ++++++++++++++++++++++++++ 5 files changed, 64 insertions(+) create mode 100644 README.md create mode 100644 defaults/main.yml create mode 100644 handlers/main.yml create mode 100644 tasks/main.yml create mode 100644 templates/compose.yml.j2 diff --git a/README.md b/README.md new file mode 100644 index 0000000..4bb7b31 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# wireguard diff --git a/defaults/main.yml b/defaults/main.yml new file mode 100644 index 0000000..fcba0f3 --- /dev/null +++ b/defaults/main.yml @@ -0,0 +1,4 @@ +path: /srv/{{ role_name }} + +wireguard_override: {} +wireguard_defaults: {} diff --git a/handlers/main.yml b/handlers/main.yml new file mode 100644 index 0000000..3a30e23 --- /dev/null +++ b/handlers/main.yml @@ -0,0 +1,8 @@ +- name: restart container + community.docker.docker_compose_v2: + project_src: "{{ path }}" + project_name: "{{ role_name }}" + recreate: "always" + services: ["wireguard"] + state: "restarted" + when: not _wireguard_already_restarted diff --git a/tasks/main.yml b/tasks/main.yml new file mode 100644 index 0000000..237d40c --- /dev/null +++ b/tasks/main.yml @@ -0,0 +1,25 @@ +--- +- name: "set local variables from overrides and defaults" + set_fact: + wireguard: "{{ (wireguard_defaults | combine(wireguard_override, recursive=True)) if wireguard_override else wireguard_defaults }}" + +- name: ensure that path exists + file: + path: "{{ path }}/config" + state: directory + +- name: template docker-compose + template: + src: compose.yml.j2 + dest: "{{ path }}/compose.yml" + notify: restart container + +- name: ensure container is running + community.docker.docker_compose_v2: + project_src: "{{ path }}" + project_name: "{{ role_name }}" + state: "present" + pull: "always" + wait: true + services: ["wireguard"] + register: _compose_result diff --git a/templates/compose.yml.j2 b/templates/compose.yml.j2 new file mode 100644 index 0000000..a84b197 --- /dev/null +++ b/templates/compose.yml.j2 @@ -0,0 +1,26 @@ +--- +services: + wireguard: + image: lscr.io/linuxserver/wireguard:latest + container_name: wireguard + cap_add: + - NET_ADMIN + - SYS_MODULE + environment: + - PUID=1000 + - PGID=1000 + - TZ=Europe/Berlin + - SERVERURL=be.urmel.de + - SERVERPORT=51820 + - PEERDNS=auto + - INTERNAL_SUBNET=10.100.1.0 + - ALLOWEDIPS=0.0.0.0/0 + - PERSISTENTKEEPALIVE_PEERS=30 + - LOG_CONFS=true + volumes: + - ./config:/config + ports: + - 51820:51820/udp + sysctls: + - net.ipv4.conf.all.src_valid_mark=1 + restart: unless-stopped