diff --git a/ansible/inventories/production/group_vars/syncthing.yaml b/ansible/inventories/production/group_vars/syncthing.yaml new file mode 100644 index 0000000..f2a7a50 --- /dev/null +++ b/ansible/inventories/production/group_vars/syncthing.yaml @@ -0,0 +1 @@ +syncthing_version: 2.0.13 diff --git a/ansible/roles/syncthing/tasks/main.yaml b/ansible/roles/syncthing/tasks/main.yaml new file mode 100644 index 0000000..74b2aba --- /dev/null +++ b/ansible/roles/syncthing/tasks/main.yaml @@ -0,0 +1,21 @@ +- name: Create docker-compose project directory + file: + path: /root/syncthing + state: directory + mode: 0750 + owner: root + group: root + +- name: Create docker-compose + template: + src: templates/docker-compose.yaml.j2 + dest: /root/syncthing/docker-compose.yaml + owner: root + group: root + mode: 0600 + +- name: Run docker-compose up + command: docker compose up -d --build + args: + chdir: /root/syncthing + diff --git a/ansible/roles/syncthing/tasks/templates/docker-compose.yaml.j2 b/ansible/roles/syncthing/tasks/templates/docker-compose.yaml.j2 new file mode 100644 index 0000000..ad77f81 --- /dev/null +++ b/ansible/roles/syncthing/tasks/templates/docker-compose.yaml.j2 @@ -0,0 +1,20 @@ +--- +version: "3" +services: + syncthing: + image: syncthing/syncthing:{{ syncthing_version }} + container_name: syncthing + hostname: {{ inventory_hostname }} + environment: + - PUID=1000 + - PGID=1000 + - STGUIADDRESS= + volumes: + - /var/lib/syncthing:/var/syncthing + network_mode: host + restart: unless-stopped + healthcheck: + test: curl -fkLsS -m 2 127.0.0.1:8384/rest/noauth/health | grep -o --color=never OK || exit 1 + interval: 1m + timeout: 10s + retries: 3 diff --git a/ansible/syncthing.yaml b/ansible/syncthing.yaml index 3b986b5..e875b90 100644 --- a/ansible/syncthing.yaml +++ b/ansible/syncthing.yaml @@ -5,3 +5,4 @@ - common - ldap_client - docker + - syncthing