--- - name: server initial command hosts: 'imed' become: yes become_method: sudo become_user: root vars_files: - var/registry.yml tasks: - name: set shecan dns copy: src: ../dns/resolv.conf dest: /etc/resolv.conf owner: root group: root mode: u=rwx,g=rwx,o=rwx - name: disable ufw shell: ufw disable - name: disable swap shell: swapoff -a - name: sid swap off in fstab shell: sed -i '/swap/d' /etc/fstab - name: set timezone shell: timedatectl set-timezone Asia/Tehran - name: apt-get update apt: update_cache=yes force_apt_get=yes cache_valid_time=3600 - name: add docker key and add docker repo shell: | curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable" - name: installing docker dependencies apt: name: "{{item}}" state: present update_cache: yes with_items: - ca-certificates - curl - gnupg - lsb-release - name: installing docker-ce and docker-ce-cli and apt: name: "{{item}}" state: present update_cache: yes with_items: - docker-ce - docker-ce-cli - containerd.io - name: start and enable docker and containerd service: name: "{{item}}" state: started enabled: yes with_items: - docker - containerd - name: create the docker user account user: name=dockerman append=yes state=present createhome=yes shell=/bin/bash - name: allow 'dockerman' to use sudo without needing a password lineinfile: dest: /etc/sudoers line: 'dockerman ALL=(ALL) NOPASSWD: ALL' validate: 'visudo -cf %s' - name: add user to docker group user: name: dockerman groups: docker state: present - name: reset and enable docker shell: | systemctl daemon-reload systemctl restart docker systemctl enable docker # add docker home to enviroment variable - name: login docker become: dockerman shell: docker login -u {{ registry_user_imed }} -p {{ registry_password_imed }} {{ registry_url }} - name: reboot shell: reboot ignore_errors: yes