playbook-install_software.yml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  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. - intel-opencl-icd # Added 1/13/2025 per Jellyfin
  28. - intel-gpu-tools # Added to monitor Intel QuickSync
  29. state: present
  30. # update_cache: true
  31. cache_valid_time: 3600
  32. - name: Add Docker GPG apt Key
  33. apt_key:
  34. url: https://download.docker.com/linux/ubuntu/gpg
  35. state: present
  36. - name: Add Docker Repository
  37. apt_repository:
  38. repo: deb https://download.docker.com/linux/ubuntu focal stable
  39. state: present
  40. - name: Update apt and install docker-ce
  41. apt:
  42. name:
  43. - docker-ce
  44. - containerd.io
  45. - docker-compose
  46. state: latest
  47. # update_cache: true
  48. #
  49. # - name: Install Docker Containers
  50. # community.docker.docker_container:
  51. # name: portainer
  52. # image: portainer/portainer-ce
  53. - name: Create Portainer Directory
  54. file:
  55. path: /home/mike/docker/portainer
  56. state: directory
  57. become_user: mike
  58. - name: Create UFW directory
  59. file:
  60. path: /home/mike/ufw/applications.d
  61. state: directory
  62. become_user: mike
  63. - name: Sync Portainer docker-compose file
  64. synchronize:
  65. src: docker-compose.yml
  66. dest: /home/mike/docker/portainer
  67. become_user: mike
  68. - name: Install UFW config files
  69. synchronize:
  70. src: TG-portainer
  71. dest: /home/mike/ufw/applications.d
  72. become_user: mike
  73. - name: Move UFW files to proper directory
  74. command: mv /home/mike/ufw/applications.d/TG-portainer /etc/ufw/applications.d/TG-portainer
  75. ### Need to change ownership to root ###
  76. - name: Start Portainer
  77. docker_compose:
  78. project_src: /home/mike/docker/portainer
  79. state: present
  80. - name: Configure UFW - allow OpenSSH, samba, and TG-portainer
  81. ufw:
  82. rule: allow
  83. name: "{{ item }}"
  84. with_items:
  85. - OpenSSH
  86. - samba
  87. - TG-portainer
  88. - name: Configure UFW - delete default allow 22
  89. ufw:
  90. rule: allow
  91. port: 22
  92. proto: tcp
  93. delete: yes
  94. - name: Configure UFW - deny all else
  95. ufw:
  96. state: enabled
  97. policy: deny