diff --git a/warpsrvint/docker/tasks/main.yml b/warpsrvint/docker/tasks/main.yml index 2d93189f719848d73399a075ffca75864e2ec303..0f634a64837ee0f5b507b0faf0f29e48c87c9f98 100644 --- a/warpsrvint/docker/tasks/main.yml +++ b/warpsrvint/docker/tasks/main.yml @@ -17,7 +17,14 @@ - name: install pip packages pip: - name: docker-py - version: 1.7.2 + name: "{{ item }}" state: present + with_items: + - docker-compose + - docker-py +- name: install pip packages + pip: + name: docker-compose + version: 1.15.0 + state: present diff --git a/warpsrvint/docker_unifi/tasks/main.yml b/warpsrvint/docker_unifi/tasks/main.yml index 732c69d0e8506fb1d75f4a3e89dbca09391f5052..6c18939c716065ccc87ea5c0facd0933717b9f0c 100644 --- a/warpsrvint/docker_unifi/tasks/main.yml +++ b/warpsrvint/docker_unifi/tasks/main.yml @@ -1,92 +1,21 @@ --- -# Einige Secrets sind auf dem Server lokal gespeichert und werden von dort gelesen -# Auslesen der Dateien vom Server, zwischengespeicert wird in der Variable gitlab_secrets -# Anschließend müssen die entsprechenden Einträge aus gitlab_secrets extrahiert werden -# Die Daten, die von Slurp gelesen werden sind Base64 codiert -# Zur Sicherheit werden Whitespace-Zeichen entfert, damit z.B. Zeilenumbrüche nicht übernommen werden -- name: get secrets from server 1 - slurp: src={{ item }} - with_items: - - /srv/ldap/secret/ldap_admin_pass - - /srv/ldap/secret/ldap_readonly_pass - register: ldap_secrets - -- name: get secrets from server 2 - set_fact: - ldap_admin_pass: "{{ ldap_secrets.results | selectattr('item', 'equalto', '/srv/ldap/secret/ldap_admin_pass') | map(attribute='content') | list | first | b64decode | regex_replace('\\s', '') }}" - ldap_readonly_pass: "{{ ldap_secrets.results | selectattr('item', 'equalto', '/srv/ldap/secret/ldap_readonly_pass') | map(attribute='content') | list | first | b64decode | regex_replace('\\s', '') }}" - -- name: create folder struct for ldap - file: - path: "/srv/ldap" - state: "directory" - -- name: create folder struct for ldap +- name: create folder struct for unifi file: - path: "/srv/ldap/database" + path: "/srv/unifi" state: "directory" -- name: create folder struct for ldap +- name: create folder struct for unifi file: - path: "/srv/ldap/config" + path: "/srv/unifi/data" state: "directory" - -- name: start ldap docker - docker_container: - name: ldap-service - image: osixia/openldap:1.1.6 - hostname: ldap-service - state: started - restart_policy: always - volumes: - - /srv/ldap/database:/var/lib/ldap - - /srv/ldap/config:/etc/ldap/slapd.d - env: - LDAP_ORGANISATION: Warpzone - LDAP_DOMAIN: warpzone.ms - LDAP_ADMIN_PASSWORD: "{{ ldap_admin_pass }}" - LDAP_READONLY_USER: true - LDAP_READONLY_USER_USERNAME: readonly - LDAP_READONLY_USER_PASSWORD: "{{ ldap_readonly_pass }}" - -- name: start unifi docker - docker_container: - name: unifi-app - image: osixia/phpldapadmin:0.6.11 - state: started - restart_policy: always - ports: - - 8080:8080 - - 8443:8443 - - 8081:8081 - - 8843:8843 - - 8880:8880 - - 3478:3478 - volumes: - - /srv/unifi/data:/var/lib/unifi - - /srv/unifi/log:/var/log/unifi - - /var/run/unifi:/var/run/unifi - - /usr/lib/unifi/data:/usr/lib/unifi/data - - +- name: create docker-compose file + template: src=docker-compose.yml dest=/srv/unifi/docker-compose.yml - - docker run --restart=always \ - -p 8080:8080 \ - -p 8443:8443 \ - -p 8081:8081 \ - -p 8843:8843 \ - -p 8880:8880 \ - -p 3478:3478 \ - -v /var/lib/unifi:/var/lib/unifi \ - -v /var/log/unifi:/var/log/unifi \ - -v /var/run/unifi:/var/run/unifi \ - -v /usr/lib/unifi/data:/usr/lib/unifi/data \ - --name warp-control \ - -d \ - warp-control \ - /run.sh +- name: start unifi docker + docker_service: + project_src: /srv/unifi/ + state: present diff --git a/warpsrvint/docker_unifi/templates/Dockerfile b/warpsrvint/docker_unifi/templates/Dockerfile deleted file mode 100644 index e5c5c45294ea326116b1481dda4de74e36589d9c..0000000000000000000000000000000000000000 --- a/warpsrvint/docker_unifi/templates/Dockerfile +++ /dev/null @@ -1,25 +0,0 @@ -FROM debian:testing - -RUN apt-get -y update && apt-get -y upgrade - -#UBNT Source 5.X Controller Stream add to Source.list -#https://help.ubnt.com/hc/en-us/articles/220066768 -RUN echo "deb http://www.ubnt.com/downloads/unifi/debian unifi5 ubiquiti">> /etc/apt/sources.list - -#needed Dependencys for Controller Instalation -RUN echo "deb http://httpredir.debian.org/debian testing main contrib non-free" >> /etc/apt/sources.list - -#Add Key for Ubnt Source -RUN apt-get -y install gnupg -RUN apt-key adv --keyserver keyserver.ubuntu.com --recv C0A52C50 -RUN apt-get -y update - -#Installation of unifi 5.X Controller -RUN apt-get -y install unifi - -ADD run.sh /run.sh -RUN chmod 755 /run.sh - -VOLUME ["/var/lib/unifi", "/var/log/unifi", "/var/run/unifi", "/usr/lib/unifi/data"] - -CMD ["/bin/bash"] diff --git a/warpsrvint/docker_unifi/templates/docker-compose.yml b/warpsrvint/docker_unifi/templates/docker-compose.yml new file mode 100644 index 0000000000000000000000000000000000000000..819fe2cc1ddef541ae2f730f6683bd08007ccd10 --- /dev/null +++ b/warpsrvint/docker_unifi/templates/docker-compose.yml @@ -0,0 +1,20 @@ + +version: "3" + +services: + + app: + + image: linuxserver/unifi:91 + restart: always + ports: + - 8080:8080 + - 8081:8081 + - 8443:8443 + - 8843:8843 + - 8880:8880 + volumes: + - /srv/unifi/data:/config + environment: + PGID: 1001 + PUID: 1001 diff --git a/warpsrvint/main.yml b/warpsrvint/main.yml index 44ea6e99b5061dd57a596f7677177981d74b42ad..ad201dcb7dd42961f370adb16434e26382acadea 100644 --- a/warpsrvint/main.yml +++ b/warpsrvint/main.yml @@ -11,6 +11,7 @@ - { role: docker_mqtt, tags: mqtt } - { role: docker_nodered, tags: nodered } - { role: docker_prometheus, tags: prometheus } + - { role: docker_unifi, tags: unifi } - { role: docker_warpinfra, tags: warpinfra } - { role: docker_warpinfratest, tags: warpinfratest }