ansible: 添加 frp 服务端部署配置

This commit is contained in:
2026-08-22 21:51:51 +08:00
parent 6f5e3dee55
commit 3329694df2
4 changed files with 136 additions and 13 deletions

View File

@@ -0,0 +1,85 @@
---
- name: 配置 frps 服务端
hosts: vps_debian
gather_facts: false
become: true
vars:
frp_version: "0.71.0"
frp_download_url: "https://github.com/fatedier/frp/releases/download/v{{ frp_version }}/frp_{{ frp_version }}_linux_amd64.tar.gz"
frp_local_archive: "/tmp/frp_{{ frp_version }}_linux_amd64.tar.gz"
frp_local_tmp_dir: "/tmp/frp_{{ frp_version }}_linux_amd64"
frp_install_dir: "/opt/frp"
frp_config_dir: "/etc/frp"
vars_files:
- ../vars/vault.yaml
tasks:
- name: 创建 frp 目录
file:
path: "{{ item }}"
state: directory
mode: '0755'
loop:
- "{{ frp_install_dir }}"
- "{{ frp_config_dir }}"
- name: 检查本地是否已有该版本的压缩包
stat:
path: "{{ frp_local_archive }}"
register: local_archive
delegate_to: localhost
run_once: true
- name: 下载 frp 压缩包到本地
get_url:
url: "{{ frp_download_url }}"
dest: "{{ frp_local_archive }}"
timeout: 60
delegate_to: localhost
run_once: true
become: false
when: not local_archive.stat.exists
- name: 解压 frp 压缩包到本地
unarchive:
src: "{{ frp_local_archive }}"
dest: "/tmp/"
creates: "{{ frp_local_tmp_dir }}"
delegate_to: localhost
run_once: true
become: false
when: not local_archive.stat.exists
- name: 复制 frps 二进制文件到目标机器
copy:
src: "{{ frp_local_tmp_dir }}/frps"
dest: "{{ frp_install_dir }}/frps"
mode: '0755'
notify: restart frps
- name: 生成 frps.toml 配置文件
template:
src: ../templates/frps.toml.j2
dest: "{{ frp_config_dir }}/frps.toml"
mode: '0644'
notify: restart frps
- name: 创建 frps 的 systemd 服务文件
template:
src: ../templates/frps.service.j2
dest: /etc/systemd/system/frps.service
mode: '0644'
notify: restart frps
- name: 启用并启动 frps 服务
systemd:
name: frps
enabled: true
state: started
daemon_reload: true
handlers:
- name: restart frps
systemd:
name: frps
state: restarted