This commit is contained in:
Jochen Friedrich 2021-05-18 16:15:42 +02:00
parent 451c8fee6e
commit 1caa7659ae
9 changed files with 80 additions and 0 deletions

23
files/unifi.service Normal file
View file

@ -0,0 +1,23 @@
[Unit]
Description=Unifi server
Requires=docker.service
After=docker.service
DefaultDependencies=no
[Service]
Type=simple
Environment="HOME=/root"
ExecStartPre=-/usr/bin/env sh -c '/usr/bin/env docker kill unifi 2>/dev/null'
ExecStartPre=-/usr/bin/env sh -c '/usr/bin/env docker rm unifi 2>/dev/null'
ExecStart=/usr/bin/env docker run --rm --name unifi --log-driver=none -p 3478:3478/udp -p 8080:8080 -p 8443:8443 -p 6789:6789 -p 8843:8843 -p 8880:8880 -v unifi:/var/lib/unifi -v unifilog:/unifi -v unifirun:/var/run/unifi jacobalberty/unifi:stable-6
ExecStop=-/usr/bin/env sh -c '/usr/bin/env docker kill unifi 2>/dev/null'
ExecStop=-/usr/bin/env sh -c '/usr/bin/env docker rm unifi 2>/dev/null'
Restart=always
RestartSec=30
SyslogIdentifier=unifi
[Install]
WantedBy=multi-user.target

4
group_vars/unifi Normal file
View file

@ -0,0 +1,4 @@
unifi_hostname: unifi
unifi_version: jacobalberty/unifi:stable-6
unifi_selinux: no
unifi_bareos: no

11
install.yml Executable file
View file

@ -0,0 +1,11 @@
---
- name: "Set up a Unifi Server"
hosts: "unifi"
become: true
tasks:
- include: tasks/hostname.yml
- include: tasks/update.yml
- include: tasks/packete.yml
- include: tasks/firewall.yml
- include: tasks/docker.yml
- include: tasks/starten.yml

12
tasks/docker.yml Normal file
View file

@ -0,0 +1,12 @@
- name: Ensure Unifi Docker image is pulled
docker_image:
name: "{{ unifi_version }}"
source: 'pull'
- name: Ensure Unifi systemd is installed
copy:
src: files/unifi.service
dest: /etc/systemd/system/unifi.service
mode: 0644
owner: root
group: root

2
tasks/firewall.yml Normal file
View file

@ -0,0 +1,2 @@
- name: open bareos port
firewalld: port=9102/tcp zone=public permanent=true state=enabled immediate=yes

3
tasks/hostname.yml Normal file
View file

@ -0,0 +1,3 @@
- name: Set a hostname
ansible.builtin.hostname:
name: "{{ unifi_hostname }}"

18
tasks/packete.yml Normal file
View file

@ -0,0 +1,18 @@
- name: Chrony installieren
dnf: name=chrony update_cache=no state=latest
- name: repository holen
shell:
"dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo"
- name: repository holen docker
shell:
"dnf install -y docker-ce --nobest"
- name: PIP3 installieren
dnf: name=python3-pip update_cache=no state=latest
- name: docker-python
shell:
"pip3 install docker"

3
tasks/starten.yml Normal file
View file

@ -0,0 +1,3 @@
- name: Dienste starten
shell:
"systemctl start docker; systemctl enable docker; systemctl daemon-reload; systemctl start unifi"

4
tasks/update.yml Normal file
View file

@ -0,0 +1,4 @@
- name: Upgrade all packages
yum:
name: '*'
state: latest