playbook-install_software.yml 2.7 KB

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