playbook-install_software.yml 2.8 KB

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