frpc_playbook.yml 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. ---
  2. - name: Setup and manage frpc
  3. hosts: frpclient
  4. become: true
  5. tasks:
  6. - name: Create mall directory if not exists
  7. file:
  8. path: /root/mall
  9. state: directory
  10. mode: '0755'
  11. - name: Create frp directory if not exists
  12. file:
  13. path: /root/frp
  14. state: directory
  15. mode: '0755'
  16. - name: Copy frp directory
  17. ansible.builtin.copy:
  18. src: frp
  19. dest: /root
  20. mode: '0644'
  21. force: true
  22. - name: Copy frpc binary to /usr/local/bin
  23. copy:
  24. src: "../../script/ansible/frp/frpc"
  25. dest: "/usr/local/bin/frpc"
  26. mode: '0755'
  27. - name: Create systemd service file
  28. copy:
  29. dest: /etc/systemd/system/frpc.service
  30. content: |
  31. [Unit]
  32. Description=frpc service
  33. After=network.target
  34. [Service]
  35. Type=simple
  36. User=root
  37. ExecStart=/usr/local/bin/frpc -c /root/frp/frpc.toml
  38. Restart=always
  39. RestartSec=5
  40. [Install]
  41. WantedBy=multi-user.target
  42. mode: '0644'
  43. - name: Start and enable frpc service
  44. systemd:
  45. name: frpc
  46. state: restarted
  47. enabled: true
  48. daemon_reload: true
  49. - name: Check frpc service status
  50. command: systemctl status frpc
  51. register: frpc_status
  52. changed_when: false
  53. ignore_errors: true