Test Repo für Ansible Semaphore
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

---
- 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