You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
dotfiles/meta/congenital-optimist.yml

114 lines
2.4 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 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 Dockers 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"