From 895bd3ab549ab47bf34d7f4f5bc858461c0a80a8 Mon Sep 17 00:00:00 2001 From: Simon Zernisch Date: Tue, 28 Mar 2023 10:12:06 +0200 Subject: [PATCH] fixed role structure --- roles/docker/tasks/main.yml | 7 +++++ roles/npm/tasks/main.yml | 62 ++++++++++++++++++++++++++++++------- roles/npm/tasks/npm.yml | 56 --------------------------------- 3 files changed, 57 insertions(+), 68 deletions(-) delete mode 100644 roles/npm/tasks/npm.yml diff --git a/roles/docker/tasks/main.yml b/roles/docker/tasks/main.yml index 6f95812..5868a27 100644 --- a/roles/docker/tasks/main.yml +++ b/roles/docker/tasks/main.yml @@ -53,3 +53,10 @@ daemon_reload: true state: started enabled: true + +- name: Create docker dir if it does not exist + become: false + ansible.builtin.file: + path: /home/{{ user['name'] }}/docker/ + state: directory + mode: '0755' \ No newline at end of file diff --git a/roles/npm/tasks/main.yml b/roles/npm/tasks/main.yml index 8123456..71c9da0 100644 --- a/roles/npm/tasks/main.yml +++ b/roles/npm/tasks/main.yml @@ -1,18 +1,56 @@ --- -- name: Create docker dir if it does not exist +- name: Create NPM directories if it does not exist become: false ansible.builtin.file: - path: /home/{{ user['name'] }}/docker/ + path: /home/{{ user['name'] }}/docker/npm/{{ item }} state: directory mode: '0755' + loop: '{{ npm_folder }}' -- name: Deploy docker apps - ansible.builtin.include_tasks: "tasks/npm.yml" -# loop: -# - audiobookshelf -# - authelia -# - bookstack -# - gitea -# - nextcloud -# - npm -# - vaultwarden +- name: Create docker network 'npm_internal' + community.docker.docker_network: + name: npm_internal + +- name: Create docker network 'proxy' + community.docker.docker_network: + name: proxy + +- name: Create NPM DB Container + community.docker.docker_container: + name: nginx_proxy_manager_db + image: 'jc21/mariadb-aria:latest' + state: started + restart_policy: unless-stopped + env: + MYSQL_ROOT_PASSWORD: "{{ NPM_MYSQL_ROOT_PASS | string }}" + MYSQL_DATABASE: "{{ NPM_MYSQL_DB | string }}" + MYSQL_USER: "{{ NPM_MYSQL_USER | string }}" + MYSQL_PASSWORD: "{{ NPM_MYSQL_PASS | string }}" + volumes: + - /home/{{ user['name'] }}/docker/npm/db:/var/lib/mysql + networks: + - name: npm_internal + +- name: Create NPM Container + community.docker.docker_container: + name: nginx_proxy_manager + image: 'jc21/nginx-proxy-manager:latest' + pull: yes + state: started + restart_policy: unless-stopped + ports: + - '80:80' + - '443:443' + - '81:81' + env: + DB_MYSQL_HOST: "{{ NPM_MYSQL_HOST | string }}" + DB_MYSQL_PORT: "{{ NPM_MYSQL_PORT | string }}" + DB_MYSQL_USER: "{{ NPM_MYSQL_USER | string }}" + DB_MYSQL_PASSWORD: "{{ NPM_MYSQL_PASS | string }}" + DB_MYSQL_NAME: "{{ NPM_MYSQL_DB | string }}" + volumes: + - /home/{{ user['name'] }}/docker/npm/data:/data + - /home/{{ user['name'] }}/docker/npm/letsencrypt:/etc/letsencrypt + networks: + - name: npm_internal + - name: proxy diff --git a/roles/npm/tasks/npm.yml b/roles/npm/tasks/npm.yml deleted file mode 100644 index 71c9da0..0000000 --- a/roles/npm/tasks/npm.yml +++ /dev/null @@ -1,56 +0,0 @@ ---- -- name: Create NPM directories if it does not exist - become: false - ansible.builtin.file: - path: /home/{{ user['name'] }}/docker/npm/{{ item }} - state: directory - mode: '0755' - loop: '{{ npm_folder }}' - -- name: Create docker network 'npm_internal' - community.docker.docker_network: - name: npm_internal - -- name: Create docker network 'proxy' - community.docker.docker_network: - name: proxy - -- name: Create NPM DB Container - community.docker.docker_container: - name: nginx_proxy_manager_db - image: 'jc21/mariadb-aria:latest' - state: started - restart_policy: unless-stopped - env: - MYSQL_ROOT_PASSWORD: "{{ NPM_MYSQL_ROOT_PASS | string }}" - MYSQL_DATABASE: "{{ NPM_MYSQL_DB | string }}" - MYSQL_USER: "{{ NPM_MYSQL_USER | string }}" - MYSQL_PASSWORD: "{{ NPM_MYSQL_PASS | string }}" - volumes: - - /home/{{ user['name'] }}/docker/npm/db:/var/lib/mysql - networks: - - name: npm_internal - -- name: Create NPM Container - community.docker.docker_container: - name: nginx_proxy_manager - image: 'jc21/nginx-proxy-manager:latest' - pull: yes - state: started - restart_policy: unless-stopped - ports: - - '80:80' - - '443:443' - - '81:81' - env: - DB_MYSQL_HOST: "{{ NPM_MYSQL_HOST | string }}" - DB_MYSQL_PORT: "{{ NPM_MYSQL_PORT | string }}" - DB_MYSQL_USER: "{{ NPM_MYSQL_USER | string }}" - DB_MYSQL_PASSWORD: "{{ NPM_MYSQL_PASS | string }}" - DB_MYSQL_NAME: "{{ NPM_MYSQL_DB | string }}" - volumes: - - /home/{{ user['name'] }}/docker/npm/data:/data - - /home/{{ user['name'] }}/docker/npm/letsencrypt:/etc/letsencrypt - networks: - - name: npm_internal - - name: proxy