Record new playbook
Use ansible to bootstrap a remote workstation based on Alma Linux. Possibly compatible with fedora.
This commit is contained in:
parent
d54f008c62
commit
726fb502b4
127
ansible_playbooks/bootstrap_vnc.yml
Normal file
127
ansible_playbooks/bootstrap_vnc.yml
Normal file
@ -0,0 +1,127 @@
|
|||||||
|
---
|
||||||
|
- name: Setup Swap, WireGuard, and VNC on CentOS
|
||||||
|
hosts: almalinux
|
||||||
|
become: true
|
||||||
|
tasks:
|
||||||
|
- name: Create a swap file
|
||||||
|
ansible.builtin.command: fallocate -l 4G /swapfile
|
||||||
|
args:
|
||||||
|
creates: /swapfile
|
||||||
|
|
||||||
|
- name: Set permissions on the swap file
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /swapfile
|
||||||
|
mode: "0600"
|
||||||
|
|
||||||
|
- name: Set up swap space
|
||||||
|
ansible.builtin.command: mkswap /swapfile
|
||||||
|
args:
|
||||||
|
creates: /swapfile
|
||||||
|
|
||||||
|
- name: Enable swap file
|
||||||
|
ansible.posix.mount:
|
||||||
|
name: none
|
||||||
|
src: /swapfile
|
||||||
|
fstype: swap
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Add swap file to fstab
|
||||||
|
ansible.builtin.lineinfile:
|
||||||
|
path: /etc/fstab
|
||||||
|
line: /swapfile none swap defaults 0 0
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Update package cache
|
||||||
|
ansible.builtin.dnf:
|
||||||
|
update_cache: true
|
||||||
|
|
||||||
|
- name: Upgrade all packages
|
||||||
|
ansible.builtin.dnf:
|
||||||
|
name: "*"
|
||||||
|
state: latest
|
||||||
|
|
||||||
|
- name: Install WireGuard
|
||||||
|
ansible.builtin.dnf:
|
||||||
|
name:
|
||||||
|
- wireguard-tools
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Load WireGuard module
|
||||||
|
community.general.modprobe:
|
||||||
|
name: wireguard
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Enable IP forwarding
|
||||||
|
ansible.posix.sysctl:
|
||||||
|
name: net.ipv4.ip_forward
|
||||||
|
value: 1
|
||||||
|
state: present
|
||||||
|
reload: true
|
||||||
|
|
||||||
|
- name: Create WireGuard keys
|
||||||
|
ansible.builtin.command: >
|
||||||
|
sh -c 'wg genkey | tee /etc/wireguard/privatekey | wg pubkey > /etc/wireguard/publickey'
|
||||||
|
args:
|
||||||
|
creates: /etc/wireguard/privatekey
|
||||||
|
|
||||||
|
- name: Install EPEL release
|
||||||
|
ansible.builtin.dnf:
|
||||||
|
name: epel-release
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Install XFCE desktop environment
|
||||||
|
ansible.builtin.dnf:
|
||||||
|
name: "@XFCE"
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Install TigerVNC server
|
||||||
|
ansible.builtin.dnf:
|
||||||
|
name: tigervnc-server
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Create vnc configuration directory
|
||||||
|
become: false
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: ~/.vnc/
|
||||||
|
state: directory
|
||||||
|
recurse: true
|
||||||
|
|
||||||
|
- name: Create VNC startup file
|
||||||
|
become: false
|
||||||
|
ansible.builtin.copy:
|
||||||
|
dest: ~/.vnc/xstartup
|
||||||
|
content: |
|
||||||
|
#!/bin/sh
|
||||||
|
unset SESSION_MANAGER
|
||||||
|
unset DBUS_SESSION_BUS_ADDRESS
|
||||||
|
exec /etc/X11/xinit/xinitrc
|
||||||
|
mode: "0755"
|
||||||
|
|
||||||
|
- name: Enable TigerVNC service
|
||||||
|
ansible.builtin.systemd:
|
||||||
|
name: vncserver@:1.service
|
||||||
|
enabled: true
|
||||||
|
state: started
|
||||||
|
|
||||||
|
- name: Open WireGuard port (51820) in firewall
|
||||||
|
ansible.posix.firewalld:
|
||||||
|
service: wireguard
|
||||||
|
permanent: true
|
||||||
|
state: enabled
|
||||||
|
zone: public
|
||||||
|
|
||||||
|
- name: Open VNC port (5901) in firewall
|
||||||
|
ansible.posix.firewalld:
|
||||||
|
port: 5901/tcp
|
||||||
|
permanent: true
|
||||||
|
state: enabled
|
||||||
|
zone: public
|
||||||
|
|
||||||
|
- name: Reload firewalld to apply changes
|
||||||
|
ansible.builtin.service:
|
||||||
|
name: firewalld
|
||||||
|
state: restarted
|
||||||
|
|
||||||
|
- name: Reboot the system
|
||||||
|
ansible.builtin.reboot:
|
||||||
|
msg: Rebooting to apply changes
|
Loading…
x
Reference in New Issue
Block a user