From 2ae7d9045d3bea704fd191f222e9c4664eb9b37f Mon Sep 17 00:00:00 2001 From: Jan Zernisch Date: Fri, 24 Mar 2023 09:20:18 +0100 Subject: [PATCH] first commit homeserver role --- roles/homeserver/tasks/main.yml | 18 +++++++++++++++++ roles/homeserver/tasks/npm.yml | 36 +++++++++++++++++++++++++++++++++ roles/homeserver/vars/main.yml | 6 ++++++ 3 files changed, 60 insertions(+) create mode 100644 roles/homeserver/tasks/main.yml create mode 100644 roles/homeserver/tasks/npm.yml create mode 100644 roles/homeserver/vars/main.yml diff --git a/roles/homeserver/tasks/main.yml b/roles/homeserver/tasks/main.yml new file mode 100644 index 0000000..8123456 --- /dev/null +++ b/roles/homeserver/tasks/main.yml @@ -0,0 +1,18 @@ +--- +- name: Create docker dir if it does not exist + become: false + ansible.builtin.file: + path: /home/{{ user['name'] }}/docker/ + state: directory + mode: '0755' + +- name: Deploy docker apps + ansible.builtin.include_tasks: "tasks/npm.yml" +# loop: +# - audiobookshelf +# - authelia +# - bookstack +# - gitea +# - nextcloud +# - npm +# - vaultwarden diff --git a/roles/homeserver/tasks/npm.yml b/roles/homeserver/tasks/npm.yml new file mode 100644 index 0000000..6834f46 --- /dev/null +++ b/roles/homeserver/tasks/npm.yml @@ -0,0 +1,36 @@ +--- +- 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: + - ./db:/var/lib/mysql + +- 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: + - './data:/data' + - ./letsencrypt:/etc/letsencrypt diff --git a/roles/homeserver/vars/main.yml b/roles/homeserver/vars/main.yml new file mode 100644 index 0000000..8b13e93 --- /dev/null +++ b/roles/homeserver/vars/main.yml @@ -0,0 +1,6 @@ +NPM_MYSQL_HOST: db +NPM_MYSQL_PORT: '3306' +NPM_MYSQL_DB: npm +NPM_MYSQL_USER: npm +NPM_MYSQL_PASS: 'CuuJ5v5pCmXYNXGU2TFx' +NPM_MYSQL_ROOT_PASS: '4TDU28kp3v4fHFCqLB0t' \ No newline at end of file