Initial commit
This commit is contained in:
commit
b2dbc57bde
13
README.md
Normal file
13
README.md
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# Syncthing discosrv ansible role
|
||||||
|
|
||||||
|
When having a server that does not connect directly to the internet, but which
|
||||||
|
can interact with other machines through a VPN (tinc), it is useful to have
|
||||||
|
our own syncthing discovery server to be able to use syncthing on it.
|
||||||
|
|
||||||
|
This role sets up discosrv on archlinux and makes it listen exclusively on
|
||||||
|
the VPN ip.
|
||||||
|
|
||||||
|
## Expected host parameters
|
||||||
|
|
||||||
|
**vpn_ip**
|
||||||
|
|
47
tasks/main.yml
Normal file
47
tasks/main.yml
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
- name: Download discosrv package
|
||||||
|
become: yes
|
||||||
|
become_user: pkg
|
||||||
|
command:
|
||||||
|
cmd: yay -G syncthing-discosrv
|
||||||
|
chdir: /home/pkg/
|
||||||
|
|
||||||
|
|
||||||
|
- name: Build discosrv package
|
||||||
|
become: yes
|
||||||
|
become_user: pkg
|
||||||
|
command:
|
||||||
|
cmd: makepkg
|
||||||
|
chdir: /home/pkg/syncthing-discosrv
|
||||||
|
creates: "/home/pkg/syncthing-discosrv/syncthing-discosrv-*.pkg*"
|
||||||
|
|
||||||
|
- name: Find pkg
|
||||||
|
find:
|
||||||
|
paths: /home/pkg/syncthing-discosrv
|
||||||
|
file_type: file
|
||||||
|
patterns: "syncthing-discosrv*pkg*"
|
||||||
|
register: srv_pkg
|
||||||
|
|
||||||
|
- name: Install discosrv
|
||||||
|
community.general.pacman:
|
||||||
|
name: "{{ srv_pkg.files[0].path }}"
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Install custom dir
|
||||||
|
file:
|
||||||
|
path: /etc/systemd/system/syncthing-discosrv.service.d
|
||||||
|
state: directory
|
||||||
|
|
||||||
|
- name: Add custom exec line to discosrv
|
||||||
|
template:
|
||||||
|
dest: /etc/systemd/system/syncthing-discosrv.service.d/listen.conf
|
||||||
|
src: listen.conf.j2
|
||||||
|
mode: 0644
|
||||||
|
|
||||||
|
- name: Enable and run discosrv
|
||||||
|
systemd:
|
||||||
|
enabled: true
|
||||||
|
state: started
|
||||||
|
name: syncthing-discosrv
|
||||||
|
|
3
templates/listen.conf.j2
Normal file
3
templates/listen.conf.j2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
[Service]
|
||||||
|
ExecStart=
|
||||||
|
ExecStart=/usr/bin/syncthing-discosrv -db-dir /var/discosrv/discosrv.db -cert /var/discosrv/cert.pem -key /var/discosrv/key.pem -listen={{ vpn_ip }}:5555 -replication-listen-address={{ vpn_ip }}:19200
|
Loading…
Reference in New Issue
Block a user