diff --git a/.bashrc b/.bashrc index 0302d1e..5829d95 100644 --- a/.bashrc +++ b/.bashrc @@ -181,6 +181,6 @@ if [ -f $HOME/.bashrc.local ]; then fi # Display a welcome message for interactive shells -if [ -t 1 ] && command -v helloworld &> /dev/null; then +if [ -t 1 ]; then helloworld fi diff --git a/bin/dotfiles b/bin/dotfiles deleted file mode 120000 index 5c01242..0000000 --- a/bin/dotfiles +++ /dev/null @@ -1 +0,0 @@ -dotf \ No newline at end of file diff --git a/config/ansible/tasks/servers/server.yml b/config/ansible/tasks/servers/server.yml index 8c1c7cb..27cf708 100644 --- a/config/ansible/tasks/servers/server.yml +++ b/config/ansible/tasks/servers/server.yml @@ -88,3 +88,7 @@ enabled: true hosts: - mennos-server + - name: unifi-network-application + enabled: true + hosts: + - mennos-cloud-server diff --git a/config/ansible/tasks/servers/services/echoip/docker-compose.yml.j2 b/config/ansible/tasks/servers/services/echoip/docker-compose.yml.j2 index 0f76b3f..69ea7d2 100644 --- a/config/ansible/tasks/servers/services/echoip/docker-compose.yml.j2 +++ b/config/ansible/tasks/servers/services/echoip/docker-compose.yml.j2 @@ -3,8 +3,6 @@ services: container_name: 'echoip' image: 'mpolden/echoip:latest' restart: unless-stopped - ports: - - "8080:8080" extra_hosts: - "host.docker.internal:host-gateway" networks: diff --git a/config/ansible/tasks/servers/services/unifi-network-application/docker-compose.yml.j2 b/config/ansible/tasks/servers/services/unifi-network-application/docker-compose.yml.j2 new file mode 100644 index 0000000..e969ec6 --- /dev/null +++ b/config/ansible/tasks/servers/services/unifi-network-application/docker-compose.yml.j2 @@ -0,0 +1,54 @@ +services: + unifi-controller: + image: linuxserver/unifi-network-application:latest + restart: unless-stopped + ports: + - "8080:8080" # Device communication + - "8443:8443" # Controller GUI / API + - "3478:3478/udp" # STUN + - "10001:10001/udp" # AP discovery + environment: + - PUID=1000 + - PGID=1000 + - TZ=Europe/Amsterdam + - MONGO_USER=unifi + - MONGO_PASS=unifi + - MONGO_HOST=unifi-db + - MONGO_PORT=27017 + - MONGO_DBNAME=unifi + - MONGO_AUTHSOURCE=admin + volumes: + - {{ unifi_network_application_data_dir }}/data:/config + depends_on: + - unifi-db + networks: + - unifi-network + - caddy_network + sysctls: + - net.ipv6.conf.all.disable_ipv6=1 + + unifi-db: + image: mongo:6.0 + restart: unless-stopped + volumes: + - {{ unifi_network_application_data_dir }}/db:/data/db + - {{ unifi_network_application_data_dir }}/init-mongo.sh:/docker-entrypoint-initdb.d/init-mongo.sh:ro + environment: + - MONGO_INITDB_ROOT_USERNAME=root + - MONGO_INITDB_ROOT_PASSWORD=root + - MONGO_INITDB_DATABASE=unifi + - MONGO_USER=unifi + - MONGO_PASS=unifi + - MONGO_DBNAME=unifi + - MONGO_AUTHSOURCE=admin + networks: + - unifi-network + sysctls: + - net.ipv6.conf.all.disable_ipv6=1 + +networks: + unifi-network: + driver: bridge + caddy_network: + external: true + name: caddy_default diff --git a/config/ansible/tasks/servers/services/unifi-network-application/unifi-network-application.yml b/config/ansible/tasks/servers/services/unifi-network-application/unifi-network-application.yml new file mode 100644 index 0000000..247c53f --- /dev/null +++ b/config/ansible/tasks/servers/services/unifi-network-application/unifi-network-application.yml @@ -0,0 +1,78 @@ +--- +- name: Deploy Unifi Network App service + block: + - name: Set Unifi Network App directories + ansible.builtin.set_fact: + unifi_network_application_data_dir: "/mnt/object_storage/services/unifi_network_application" + unifi_network_application_service_dir: "{{ ansible_env.HOME }}/services/unifi_network_application" + + - name: Create Unifi Network App directories + ansible.builtin.file: + path: "{{ unifi_network_application_dir }}" + state: directory + mode: "0755" + loop: + - "{{ unifi_network_application_data_dir }}" + - "{{ unifi_network_application_data_dir }}/data" + - "{{ unifi_network_application_data_dir }}/db" + - "{{ unifi_network_application_service_dir }}" + loop_control: + loop_var: unifi_network_application_dir + + - name: Create MongoDB initialization script + ansible.builtin.copy: + content: | + #!/bin/bash + + if which mongosh > /dev/null 2>&1; then + mongo_init_bin='mongosh' + else + mongo_init_bin='mongo' + fi + "${mongo_init_bin}" <