Direkt zum Hauptinhalt

Docker installtion

Beschreibung:

RustDesk installation via Docker


Vorrausetzung

docker-compose

apt install docker-compose

Ports die in der Firewall /  per NAT zur Verfügung gestellt werden müssen

TCP (21115, 21116, 21117, 21118, 21119)
UDP (21116)

In der Community OSS version gibt es keinen Webclient

Installtion

Zuert legen wir uns ein Verzeichnis an z.b

mkdir /root/rustdesk/data
cd /root/rustdesk

Darin legen wir uns eine .env Datei an.

nano /root/rustdesk/.env

Inhalt

DATA_PATH=/root/rustdesk/data

Nun die Composer File

nano /root/rustdata/docker-compose.yml

Inhalt

 version: '3'
          services:
            hbbs:
              container_name: hbbs
              image: rustdesk/rustdesk-server:latest
              environment:
                - DATA_PATH=${DATA_PATH}
              command: hbbs
              volumes:
                - ${DATA_PATH}:/root
              network_mode: "host"
              depends_on:
                - hbbr
              restart: unless-stopped
            hbbr:
              container_name: hbbr
              image: rustdesk/rustdesk-server:latest
              command: hbbr
              volumes:
                - ${DATA_PATH}:/root
              network_mode: "host"
              restart: unless-stopped

mit docker-compose up starten wir das ganze

docker-compose up -d

Ansible Script das die oberen Schritte ausführt

Die host.ini

Inhalt:

192.168.178.122 ansible_user=root rustdesk_data_path=/pfad/zu/deinen/daten rustdesk_user=admin rustdesk_password=12345678 rustdesk_port=21115

Nun das Playbook

rustdesk.yml

Inhalt:

---
- name: Deploy RustDesk via Docker Compose
  hosts: all
  become: yes
  vars:
    rustdesk_data_path: "{{ hostvars[inventory_hostname].rustdesk_data_path }}"

  tasks:
    - name: Create RustDesk data directory
      file:
        path: "{{ rustdesk_data_path }}"
        state: directory

    - name: Create .env file for RustDesk
      copy:
        dest: "{{ rustdesk_data_path }}/.env"
        content: |
          DATA_PATH={{ rustdesk_data_path }}

    - name: Create Docker Compose file for RustDesk
      copy:
        dest: "{{ rustdesk_data_path }}/docker-compose.yml"
        content: |
          version: '3'
          services:
            hbbs:
              container_name: hbbs
              image: rustdesk/rustdesk-server:latest
              environment:
                - DATA_PATH=${DATA_PATH}
              command: hbbs
              volumes:
                - ${DATA_PATH}:/root
              network_mode: "host"
              depends_on:
                - hbbr
              restart: unless-stopped
            hbbr:
              container_name: hbbr
              image: rustdesk/rustdesk-server:latest
              command: hbbr
              volumes:
                - ${DATA_PATH}:/root
              network_mode: "host"
              restart: unless-stopped

    - name: Install Docker and Docker Compose
      apt:
        name:
          - docker
          - docker-compose
        state: latest
      when: ansible_os_family == "Debian"

    - name: Start and enable RustDesk Docker container
      docker_compose:
        project_src: "{{ rustdesk_data_path }}"
        state: present
        restarted: yes

nachdem die host.ini angepasst wurde kann mit

ansible-playbook -i host.ini rustdesk.yml

rustdesk ausgerollt werden