mirror of
https://github.com/roles-ansible/ansible_role_rustdesk.git
synced 2024-08-16 10:19:48 +02:00
install rustdesk and create systemd units
This commit is contained in:
parent
ac97a54fe4
commit
23afb93340
4 changed files with 173 additions and 0 deletions
75
tasks/install.yml
Normal file
75
tasks/install.yml
Normal file
|
@ -0,0 +1,75 @@
|
|||
---
|
||||
- name: Dependency block
|
||||
block:
|
||||
- name: Update apt cache
|
||||
become: true
|
||||
ansible.builtin.apt:
|
||||
cache_valid_time: 3600
|
||||
update_cache: true
|
||||
register: _pre_update_apt_cache
|
||||
until: _pre_update_apt_cache is succeeded
|
||||
when:
|
||||
- ansible_pkg_mgr == "apt"
|
||||
|
||||
- name: Install rustdesk block
|
||||
when: (not ansible_check_mode and (rustdesk__hbbr_active_version.stdout != rustdesk__version_target))
|
||||
block:
|
||||
- name: Create temporary download directory
|
||||
become: true
|
||||
ansible.builtin.tempfile:
|
||||
state: directory
|
||||
suffix: dl_hbx
|
||||
register: rustdesk__dl_dir
|
||||
|
||||
- name: Download and extract rustdesk
|
||||
become: true
|
||||
ansible.builtin.unarchive:
|
||||
creates: "{{ rustdesk__dl_dir.path }}/{{ rustdesk__arch }}"
|
||||
dest: "{{ rustdesk__dl_dir.path }}"
|
||||
remote_src: true
|
||||
group: "{{ rustdesk__group }}"
|
||||
owner: "{{ rustdesk__user }}"
|
||||
src: "{{ rustdesk__dl_url }}"
|
||||
register: _download_archive
|
||||
until: _download_archive is succeeded
|
||||
retries: 5
|
||||
delay: 2
|
||||
|
||||
- name: Propagate rustdesk hbbr binary
|
||||
become: true
|
||||
ansible.builtin.copy:
|
||||
src: "{{ rustdesk__dl_dir.path }}/{{ rustdesk__arch }}/hbbr"
|
||||
remote_src: true
|
||||
dest: "{{ rustdesk__hbbr_executable_path }}"
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: root
|
||||
notify:
|
||||
- 'systemctl restart rustdesk-hbbs'
|
||||
- 'systemctl restart rustdesk-hbbr'
|
||||
|
||||
- name: Propagate rustdesk hbbs binary
|
||||
become: true
|
||||
ansible.builtin.copy:
|
||||
src: "{{ rustdesk__dl_dir.path }}/{{ rustdesk__arch }}/hbbs"
|
||||
remote_src: true
|
||||
dest: "{{ rustdesk__hbbs_executable_path }}"
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: root
|
||||
notify:
|
||||
- 'systemctl restart rustdesk-hbbs'
|
||||
- 'systemctl restart rustdesk-hbbr'
|
||||
|
||||
- name: Propagate rustdesk rustdesk-utils binary
|
||||
become: true
|
||||
ansible.builtin.copy:
|
||||
src: "{{ rustdesk__dl_dir.path }}/{{ rustdesk__arch }}/rustdesk-utils"
|
||||
remote_src: true
|
||||
dest: "{{ rustdesk__rustdesk_utils_executable_path }}"
|
||||
mode: 0755
|
||||
owner: root
|
||||
group: root
|
||||
notify:
|
||||
- 'systemctl restart rustdesk-hbbs'
|
||||
- 'systemctl restart rustdesk-hbbr'
|
54
tasks/install_systemd.yml
Normal file
54
tasks/install_systemd.yml
Normal file
|
@ -0,0 +1,54 @@
|
|||
---
|
||||
- name: "Setup systemd service for RustDesk Signal Server"
|
||||
become: true
|
||||
ansible.builtin.template:
|
||||
src: 'rustdesk-hbbs.service.j2'
|
||||
dest: '/lib/systemd/system/rustdesk-hbbs.service'
|
||||
owner: 'root'
|
||||
group: 'root'
|
||||
mode: '0644'
|
||||
notify:
|
||||
- 'systemctl restart rustdesk-hbbs'
|
||||
- 'systemctl daemon-reload'
|
||||
|
||||
- name: "Setup systemd service for RustDesk Relay Server"
|
||||
become: true
|
||||
ansible.builtin.template:
|
||||
src: 'rustdesk-hbbr.service.j2'
|
||||
dest: '/lib/systemd/system/rustdesk-hbbr.service'
|
||||
owner: 'root'
|
||||
group: 'root'
|
||||
mode: '0644'
|
||||
notify:
|
||||
- 'systemctl restart rustdesk-hbbr'
|
||||
- 'systemctl daemon-reload'
|
||||
|
||||
- name: "Reload systemd"
|
||||
become: true
|
||||
ansible.builtin.systemd:
|
||||
daemon_reload: true
|
||||
notify:
|
||||
- 'systemctl restart rustdesk-hbbs'
|
||||
- 'systemctl restart rustdesk-hbbr'
|
||||
|
||||
- name: "Start and enable rustdesk signal server"
|
||||
become: true
|
||||
ansible.builtin.systemd:
|
||||
name: 'rustdesk-hbbs'
|
||||
state: 'started'
|
||||
enabled: true
|
||||
when: ansible_service_mgr == "systemd"
|
||||
notify:
|
||||
- 'systemctl restart rustdesk-hbbs'
|
||||
- 'systemctl restart rustdesk-hbbr'
|
||||
|
||||
- name: "Start and enable rustdesk relay server"
|
||||
become: true
|
||||
ansible.builtin.systemd:
|
||||
name: 'rustdesk-hbbr'
|
||||
state: 'started'
|
||||
enabled: true
|
||||
when: ansible_service_mgr == "systemd"
|
||||
notify:
|
||||
- 'systemctl restart rustdesk-hbbs'
|
||||
- 'systemctl restart rustdesk-hbbr'
|
22
templates/rustdesk-hbbr.service.j2
Normal file
22
templates/rustdesk-hbbr.service.j2
Normal file
|
@ -0,0 +1,22 @@
|
|||
{{ ansible_managed | comment }}
|
||||
[Unit]
|
||||
Description=Rustdesk Relay Server
|
||||
After=network.target rustdesk-hbbs.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
{% if rustdesk__require_key | bool %}
|
||||
ExecStart={{ rustdesk__hbbr_executable_path }} --port {{ rustdesk__relay_server_port }} -k _
|
||||
{% else %}
|
||||
ExecStart={{ rustdesk__hbbr_executable_path }} --port {{ rustdesk__relay_server_port }}
|
||||
{% endif %}
|
||||
WorkingDirectory={{ rustdesk__home }}
|
||||
User={{ rustdesk__user }}
|
||||
Group={{ rustdesk__group }}
|
||||
Restart=always
|
||||
# Restart service after 10 seconds if node service crashes
|
||||
RestartSec=10
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
22
templates/rustdesk-hbbs.service.j2
Normal file
22
templates/rustdesk-hbbs.service.j2
Normal file
|
@ -0,0 +1,22 @@
|
|||
{{ ansible_managed | comment }}
|
||||
[Unit]
|
||||
Description=Rustdesk Signal Server
|
||||
After=network.target
|
||||
Before=rustdesk-hbbr.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
{% if rustdesk__require_key | bool %}
|
||||
ExecStart={{ rustdesk__hbbs_executable_path }} --port {{ rustdesk__signal_server_port }} --relay-servers {{ rustdesk__relay_server_domain }}:{{ rustdesk__relay_server_port }} --key _
|
||||
{% else %}
|
||||
ExecStart={{ rustdesk__hbbs_executable_path }} --port {{ rustdesk__signal_server_port }} --relay-servers {{ rustdesk__relay_server_domain }}:{{ rustdesk__relay_server_port }}
|
||||
{% endif %}
|
||||
WorkingDirectory={{ rustdesk__home }}
|
||||
User={{ rustdesk__user }}
|
||||
Group={{ rustdesk__group }}
|
||||
Restart=always
|
||||
# Restart service after 10 seconds if node service crashes
|
||||
RestartSec=10
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
Loading…
Reference in a new issue