- hosts: all tasks: - name: Update the system apt: upgrade: dist - name: Install requirements apt: name: - autofs - fail2ban - python3-pip - nfs-common - jq - openssl - shellinabox state: latest - name: Remove old Docker version apt: name: - docker - docker-engine - docker.io - containerd - runc state: absent - name: Install Docker deps apt: name: - apt-transport-https - ca-certificates - curl - gnupg-agent - software-properties-common state: latest - name: Add Docker’s official GPG key apt_key: url: https://download.docker.com/linux/{{ ansible_distribution | lower }}/gpg state: present - name: Add Docker's repository into sources list apt_repository: repo: deb [arch=amd64] https://download.docker.com/linux/{{ ansible_distribution | lower }} {{ ansible_distribution_release }} stable state: present - name: Install Docker engine community apt: name: - docker-ce - docker-ce-cli - containerd.io state: latest - name: Configure shell in a box shell: sed -i 's|SHELLINABOX_PORT=4200|SHELLINABOX_PORT=443|' /etc/default/shellinabox - name: Configure network shell: iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT && iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT && iptables-save sudo systemctl restart shellinabox - name: Enable services systemd: name: "{{ item }}" enabled: yes state: started loop: - docker - fail2ban - name: Restart services systemd: name: "{{ item }}" enabled: yes state: restarted loop: - shellinabox - name: Update pip pip: name: - pip executable: pip3 state: latest - name: Install docker-compose pip: name: - docker-compose executable: pip3 state: latest - name: Install Miniconda script: miniconda-install.sh - name: Copy IFB profile copy: src: profile_ifb.sh dest: /etc/profile.d/ifb.sh owner: root mode: '0644' - name: Create IFB root dir and bin shell: . /etc/profile.d/ifb.sh && mkdir -p $IFB_BIN - name: Create IFB data dir shell: . /etc/profile.d/ifb.sh && mkdir -p $IFB_DATADIR