61 lines
1.7 KiB
YAML
61 lines
1.7 KiB
YAML
---
|
|
# Playbook 04: Tailscale Setup
|
|
# Install and optionally activate Tailscale VPN
|
|
|
|
- name: Tailscale Installation
|
|
hosts: all
|
|
become: yes
|
|
|
|
tasks:
|
|
- name: Add Tailscale GPG key
|
|
apt_key:
|
|
url: https://pkgs.tailscale.com/stable/ubuntu/{{ ansible_distribution_release }}.noarmor.gpg
|
|
state: present
|
|
|
|
- name: Add Tailscale repository
|
|
apt_repository:
|
|
repo: "deb https://pkgs.tailscale.com/stable/ubuntu {{ ansible_distribution_release }} main"
|
|
state: present
|
|
|
|
- name: Install Tailscale
|
|
apt:
|
|
name: tailscale
|
|
state: present
|
|
update_cache: yes
|
|
|
|
- name: Check if Tailscale auth key is provided
|
|
set_fact:
|
|
tailscale_auto_enable: "{{ tailscale_auth_key is defined and tailscale_auth_key != '' }}"
|
|
|
|
- name: Activate Tailscale (if auth key provided)
|
|
command: tailscale up --authkey={{ tailscale_auth_key }} --advertise-tags=tag:nextcloud
|
|
when: tailscale_auto_enable
|
|
register: tailscale_activation
|
|
|
|
- name: Get Tailscale IP (if activated)
|
|
command: tailscale ip -4
|
|
register: tailscale_ip
|
|
when: tailscale_auto_enable
|
|
changed_when: false
|
|
|
|
- name: Display Tailscale status (activated)
|
|
debug:
|
|
msg: |
|
|
✓ Tailscale activated
|
|
IP: {{ tailscale_ip.stdout }}
|
|
when: tailscale_auto_enable
|
|
|
|
- name: Display manual activation instructions (not activated)
|
|
debug:
|
|
msg: |
|
|
Tailscale installed but not activated.
|
|
To enable, run on the server:
|
|
sudo tailscale up
|
|
when: not tailscale_auto_enable
|
|
|
|
- name: Enable Tailscale service
|
|
service:
|
|
name: tailscaled
|
|
state: started
|
|
enabled: yes
|