playbook-install_software.yml 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. ---
  2. - hosts: all
  3. become: true
  4. tasks:
  5. # - name: Update Server
  6. # apt:
  7. # upgrade: true
  8. # update-cache: true
  9. # cache_valid_time: 3600
  10. - name: Install Core Server Utils
  11. apt:
  12. pkg:
  13. - curl
  14. - python3
  15. - ufw
  16. - samba
  17. - smbclient
  18. - cifs-utils
  19. - apt-transport-https
  20. - ca-certificates
  21. - curl
  22. - software-properties-common
  23. - python3-pip
  24. - virtualenv
  25. - python3-setuptools
  26. - rsync
  27. state: present
  28. # update_cache: true
  29. cache_valid_time: 3600
  30. - name: Add Docker GPG apt Key
  31. apt_key:
  32. url: https://download.docker.com/linux/ubuntu/gpg
  33. state: present
  34. - name: Add Docker Repository
  35. apt_repository:
  36. repo: deb https://download.docker.com/linux/ubuntu focal stable
  37. state: present
  38. - name: Update apt and install docker-ce
  39. apt:
  40. name:
  41. - docker-ce
  42. - containerd.io
  43. - docker-compose
  44. state: latest
  45. # update_cache: true
  46. #
  47. # - name: Install Docker Containers
  48. # community.docker.docker_container:
  49. # name: portainer
  50. # image: portainer/portainer-ce
  51. - name: Create Portainer Directory
  52. file:
  53. path: /home/mike/docker/portainer
  54. state: directory
  55. become_user: mike
  56. - name: Create UFW directory
  57. file:
  58. path: /home/mike/ufw/applications.d
  59. state: directory
  60. become_user: mike
  61. - name: Sync Portainer docker-compose file
  62. synchronize:
  63. src: docker-compose.yml
  64. dest: /home/mike/docker/portainer
  65. become_user: mike
  66. - name: Install UFW config files
  67. synchronize:
  68. src: TG-portainer
  69. dest: /home/mike/ufw/applications.d
  70. become_user: mike
  71. - name: Move UFW files to proper directory
  72. command: mv /home/mike/ufw/applications.d/TG-portainer /etc/ufw/applications.d/TG-portainer
  73. ### Need to change ownership to root ###
  74. - name: Start Portainer
  75. docker_compose:
  76. project_src: /home/mike/docker/portainer
  77. state: present
  78. - name: Configure UFW - allow OpenSSH, samba, and TG-portainer
  79. ufw:
  80. rule: allow
  81. name: "{{ item }}"
  82. with_items:
  83. - OpenSSH
  84. - samba
  85. - TG-portainer
  86. - name: Configure UFW - delete default allow 22
  87. ufw:
  88. rule: allow
  89. port: 22
  90. proto: tcp
  91. delete: yes
  92. - name: Configure UFW - deny all else
  93. ufw:
  94. state: enabled
  95. policy: deny