# https://docs.docker.com/engine/installation/linux/debian/ - hosts: congenital-optimist become: yes vars_files: - congenital-optimist/vars.yml.private tasks: - name: Uninstall old versions apt: name: "{{ item }}" state: absent with_items: - docker - docker-engine - name: Set up the repository apt: name: "{{ item }}" state: present with_items: - apt-transport-https - ca-certificates - curl - gnupg-curl - gnupg2 - software-properties-common - name: Add Docker’s official GPG key apt_key: keyserver: https://download.docker.com/linux/debian/gpg id: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88 - command: lsb_release --codename --short register: codename - name: Set up the stable repository apt_repository: repo: deb [arch=amd64] https://download.docker.com/linux/debian {{ codename.stdout }} stable state: present - name: Update apt cache apt: update_cache: yes - name: Install Docker CE apt: name: docker-ce state: present - name: Install pip easy_install: name: pip state: latest - name: Install docker-py pip: name: docker-py - name: Create ZNC mounted volumes file: path: ~/znc/configs state: directory recurse: yes - name: Set up ZNC copy: src: congenital-optimist/znc/{{ item }}.private dest: ~/znc/{{ item }} with_items: - configs/znc.conf - znc.pem - name: Run ZNC container docker_container: name: znc image: znc state: started restart: yes ports: - "6667:6667" volumes: - "{{ ansible_env.HOME }}/znc:/znc-data" - name: Create pi-hole mounted volumes file: path: ~/pihole/{{ item }} state: directory recurse: yes with_items: - pihole - dnsmasq.d - name: Get public IP ipify_facts: - name: Run pi-hole container docker_container: name: pihole image: diginc/pi-hole:alpine state: started pull: yes restart: yes env: ServerIP: "{{ ipify_public_ip }}" WEBPASSWORD: "{{ pi_hole_password }}" ports: - "53:53/tcp" - "53:53/udp" - "80:80" volumes: - "{{ ansible_env.HOME }}/pihole/pihole:/etc/pihole" - "{{ ansible_env.HOME }}/pihole/dnsmasq.d:/etc/dnsmasq.d"