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.
71 lines
2.0 KiB
71 lines
2.0 KiB
---
|
|
- name: Setup UniFi Controller Docker Container
|
|
hosts: all
|
|
become: true
|
|
vars:
|
|
unifi_dir: /mnt/docker/unifi-controller
|
|
cert_dir: "{{ unifi_dir }}/data/cert"
|
|
cert_files:
|
|
- unifi-controller.asmodee.local.crt
|
|
- unifi-controller.asmodee.local.key
|
|
- root-ca.crt
|
|
|
|
tasks:
|
|
- name: Create necessary directories
|
|
file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
loop:
|
|
- "{{ unifi_dir }}"
|
|
- "{{ cert_dir }}"
|
|
|
|
- name: Create Docker Compose file for UniFi Controller
|
|
copy:
|
|
dest: "{{ unifi_dir }}/docker-compose.yaml"
|
|
content: |
|
|
version: "3"
|
|
services:
|
|
unifi-controller:
|
|
image: jacobalberty/unifi:latest
|
|
container_name: unifi-controller
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: grep -qr "java" /proc/*/status || exit 1
|
|
interval: 1m
|
|
timeout: 30s
|
|
retries: 3
|
|
ports:
|
|
- 6789:6789
|
|
- 8080:8080
|
|
- 8443:8443
|
|
- 8843:8843
|
|
- 8880:8880
|
|
- 3478:3478/udp
|
|
environment:
|
|
- RUNAS_UID0=false
|
|
volumes:
|
|
- /etc/timezone:/etc/timezone:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
- ./data:/unifi
|
|
- ./run:/var/run/unifi
|
|
networks:
|
|
default:
|
|
name: build
|
|
external: true
|
|
|
|
# - name: Copy certificate files to UniFi directory
|
|
# copy:
|
|
# src: "{{ item }}"
|
|
# dest: "{{ cert_dir }}/{{ item }}"
|
|
# mode: '0600'
|
|
# loop: "{{ cert_files }}"
|
|
#
|
|
# - name: Append certificate to chain file
|
|
# command:
|
|
# cmd: "cat {{ cert_dir }}/{{ cert_files[0] }} >> {{ cert_dir }}/chain.pem"
|
|
|
|
- name: Start Docker container with Docker Compose
|
|
community.docker.docker_compose:
|
|
project_src: "{{ unifi_dir }}"
|
|
state: present
|
|
restarted: yes
|