---
# this is for a dedicated vm just hosting the unifi controller.
- hosts: unicorn.n39.eu
  become: true
  vars:
    ansible_python_interpreter: /usr/bin/python3
    data_dir: "/srv/data"

  roles:
    # role 'docker_setup' applied through group 'docker_host'

  tasks:
    - name: Setup the docker container for unifi-controller
      docker_container:
        name: unifi-controller
        image: jacobalberty/unifi:v7.1.65
        state: started
        restart_policy: unless-stopped
        container_default_behavior: no_defaults
        env:
          TZ: "{{ timezone }}"
        # These fixed ports are needed.
        # https://help.ui.com/hc/en-us/articles/218506997-UniFi-Ports-Used
        ports:
          - "8080:8080/tcp"   # Device command/control
          - "8443:8443/tcp"   # Web interface + API
          - "8843:8843/tcp"   # HTTPS portal
          - "8880:8880/tcp"   # HTTP portal
          - "3478:3478/udp"   # STUN service
          - "6789:6789/tcp"   # Speed Test (unifi5 only)
        volumes:
          - "{{ data_dir }}/unifi-controller/data:/unifi/data"
          - "{{ data_dir }}/unifi-controller/log:/unifi/log"