ansible/roles/frp_server/tasks/main.yml
2026-03-30 15:19:20 +02:00

74 lines
1.6 KiB
YAML

---
- name: frps Binary herunterladen
get_url:
url: "https://github.com/fatedier/frp/releases/download/v{{ frp_version }}/frp_{{ frp_version }}_linux_amd64.tar.gz"
dest: /tmp/frp.tar.gz
- name: frps entpacken
unarchive:
src: /tmp/frp.tar.gz
dest: /tmp/
remote_src: yes
- name: frps Binary installieren
copy:
src: "/tmp/frp_{{ frp_version }}_linux_amd64/frps"
dest: /usr/local/bin/frps
mode: "0755"
remote_src: yes
- name: frps Config Verzeichnis
file:
path: /etc/frp
state: directory
mode: "0755"
- name: frps Config deployen
copy:
dest: /etc/frp/frps.toml
content: |
bindPort = {{ frp_bind_port }}
quicBindPort = {{ frp_quic_port }}
auth.method = "token"
auth.token = "{{ frp_token }}"
transport.tcpMux = true
transport.maxPoolCount = 10
mode: "0600"
notify: restart frps
- name: frps systemd Service
copy:
dest: /etc/systemd/system/frps.service
content: |
[Unit]
Description=frp Server
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
Restart=always
RestartSec=5
ExecStart=/usr/local/bin/frps -c /etc/frp/frps.toml
[Install]
WantedBy=multi-user.target
mode: "0644"
notify:
- reload systemd
- restart frps
- name: frps aktivieren und starten
systemd:
name: frps
enabled: true
state: started
daemon_reload: true
- name: Temp-Dateien aufräumen
file:
path: "{{ item }}"
state: absent
loop:
- /tmp/frp.tar.gz
- "/tmp/frp_{{ frp_version }}_linux_amd64"