ansible-torrent-server/tasks/synapse.yml

105 lines
2.5 KiB
YAML

---
- name: Ensure synapse config folder exists
file:
path: /opt/synapse/.config
state: directory
mode: '0775'
owner: synapse
group: synapse
- name: Ensure synapse session folder exists
file:
path: /opt/synapse/.local/session
state: directory
mode: '0775'
owner: synapse
group: synapse
- name: Ensure synapse download folder exists
file:
path: /opt/synapse/download
state: directory
mode: '0775'
owner: synapse
group: pirates
- name: Download synapse release
get_url:
url: "{{ torrent_server.synapse.release_url }}"
dest: /opt/synapse/synapse
mode: '0770'
owner: synapse
group: synapse
notify: Restart synapse
- name: Download syncli release
get_url:
url: "{{ torrent_server.synapse.syncli_release_url }}"
dest: /usr/local/bin/syncli
mode: 0755
owner: synapse
group: synapse
- name: Generate an OpenSSL private key.
openssl_privatekey:
path: /opt/synapse/.config/synapse.privkey.pem
owner: synapse
group: synapse
mode: 0700
when: torrent_server.tls is defined and torrent_server.tls
- name: Generate an OpenSSL CSR.
openssl_csr:
path: /opt/synapse/.config/synapse.csr
privatekey_path: /opt/synapse/.config/synapse.privkey.pem
common_name: "{{ torrent_server.public_url }}"
owner: synapse
group: synapse
mode: 0700
when: torrent_server.tls is defined and torrent_server.tls
- name: Generate a Self Signed OpenSSL certificate.
openssl_certificate:
path: /opt/synapse/.config/synapse.pem
privatekey_path: /opt/synapse/.config/synapse.privkey.pem
csr_path: /opt/synapse/.config/synapse.csr
provider: selfsigned
owner: synapse
group: synapse
mode: 0700
when: torrent_server.tls is defined and torrent_server.tls
- name: Ensure synapse configuration
template:
src: templates/synapse.toml.j2
dest: /opt/synapse/.config/synapse.toml
mode: 0770
owner: synapse
group: synapse
notify: Restart synapse
- name: Ensure syncli configuration
template:
src: templates/syncli.toml.j2
dest: /opt/synapse/.config/syncli.toml
mode: 0770
owner: synapse
group: synapse
- name: Ensure synapse unit exists and is enabled
template:
src: templates/synapse.service.j2
dest: /etc/systemd/system/synapse.service
owner: root
group: root
mode: 0644
notify: Reload systemd and restart synapse
- name: Enable synapse service
systemd:
name: synapse.service
enabled: yes
masked: no
state: started
notify: Restart synapse