makemkv-workstation

Log | Files | Refs | README

main.yml (2330B)


      1 ---
      2 - name: Install TigerVNC and dependencies
      3   ansible.builtin.apt:
      4     name:
      5       - tigervnc-standalone-server
      6       - tigervnc-common
      7       - dbus-x11
      8       - xfce4
      9       - xfce4-goodies
     10     state: present
     11     update_cache: true
     12   tags: [vnc, install]
     13 
     14 - name: Create .vnc directory for user
     15   ansible.builtin.file:
     16     path: /home/{{ vnc_user }}/.vnc
     17     state: directory
     18     owner: "{{ vnc_user }}"
     19     group: "{{ vnc_user }}"
     20     mode: '0700'
     21   tags: [vnc, configure]
     22 
     23 - name: Create .config/tigervnc directory for user
     24   ansible.builtin.file:
     25     path: /home/{{ vnc_user }}/.config/tigervnc
     26     state: directory
     27     owner: "{{ vnc_user }}"
     28     group: "{{ vnc_user }}"
     29     mode: '0700'
     30   tags: [vnc, configure]
     31 
     32 - name: Set VNC password
     33   ansible.builtin.shell:
     34     cmd: "printf '%s' '{{ vnc_password }}' | vncpasswd -f > /home/{{ vnc_user }}/.config/tigervnc/passwd"
     35   become: true
     36   become_user: "{{ vnc_user }}"
     37   no_log: true
     38   changed_when: true
     39   tags: [vnc, configure]
     40 
     41 - name: Lock down VNC passwd file
     42   ansible.builtin.file:
     43     path: /home/{{ vnc_user }}/.config/tigervnc/passwd
     44     owner: "{{ vnc_user }}"
     45     group: "{{ vnc_user }}"
     46     mode: '0600'
     47   tags: [vnc, configure]
     48 
     49 - name: Add user to video and render groups for GPU access
     50   ansible.builtin.user:
     51     name: "{{ vnc_user }}"
     52     groups: video,render
     53     append: true
     54   tags: [vnc, configure, gpu]
     55 
     56 - name: Allow user to poweroff without password
     57   ansible.builtin.copy:
     58     dest: /etc/sudoers.d/{{ vnc_user }}-poweroff
     59     content: "{{ vnc_user }} ALL=(ALL) NOPASSWD: /sbin/poweroff\n"
     60     mode: '0440'
     61   tags: [vnc, configure]
     62 
     63 - name: Deploy xstartup script
     64   ansible.builtin.template:
     65     src: xstartup.j2
     66     dest: /home/{{ vnc_user }}/.vnc/xstartup
     67     owner: "{{ vnc_user }}"
     68     group: "{{ vnc_user }}"
     69     mode: '0755'
     70   notify: Restart VNC service
     71   tags: [vnc, configure]
     72 
     73 - name: Deploy VNC systemd service unit
     74   ansible.builtin.template:
     75     src: vncserver@.service.j2
     76     dest: /etc/systemd/system/vncserver@.service
     77     owner: root
     78     group: root
     79     mode: '0644'
     80   notify:
     81     - Reload systemd
     82     - Restart VNC service
     83   tags: [vnc, service]
     84 
     85 - name: Enable and start VNC service
     86   ansible.builtin.systemd:
     87     name: "vncserver@{{ vnc_display }}"
     88     enabled: true
     89     state: started
     90     daemon_reload: true
     91   tags: [vnc, service]