From 5026dc5a4aafc42f3c9e0dd921131688d8ca9b2c Mon Sep 17 00:00:00 2001 From: Mike Wilson Date: Thu, 16 Mar 2023 19:20:16 -0400 Subject: [PATCH] Added homepage --- ansible/roles/homepage/tasks/main.yml | 29 +++++++++++++++++++ .../homepage/templates/docker-compose.yml | 24 +++++++++++++++ .../templates/docker-compose.yml | 2 +- 3 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 ansible/roles/homepage/tasks/main.yml create mode 100644 ansible/roles/homepage/templates/docker-compose.yml diff --git a/ansible/roles/homepage/tasks/main.yml b/ansible/roles/homepage/tasks/main.yml new file mode 100644 index 0000000..5c0fdfc --- /dev/null +++ b/ansible/roles/homepage/tasks/main.yml @@ -0,0 +1,29 @@ +- name: Create service user + user: + name: "{{ role_name }}" + system: true + register: service_user + become: true + +- name: Create install directory + file: + path: "{{ install_directory }}/{{ role_name }}" + state: directory + owner: "{{ docker_user }}" + mode: "{{ docker_compose_directory_mask }}" + become: true + +- name: Copy docker-compose file to destination + template: + src: docker-compose.yml + dest: "{{ install_directory }}/{{ role_name }}/docker-compose.yml" + owner: "{{ docker_user }}" + mode: "{{ docker_compose_file_mask }}" + validate: docker-compose -f %s config + become: true + +- name: Start docker container + community.docker.docker_compose: + project_src: "{{ install_directory }}/{{ role_name }}" + pull: true + remove_orphans: yes diff --git a/ansible/roles/homepage/templates/docker-compose.yml b/ansible/roles/homepage/templates/docker-compose.yml new file mode 100644 index 0000000..da54251 --- /dev/null +++ b/ansible/roles/homepage/templates/docker-compose.yml @@ -0,0 +1,24 @@ +version: "{{ docker_compose_version }}" + +networks: + traefik: + external: true + +services: + homepage: + container_name: homepage + image: ghcr.io/benphelps/homepage:latest + restart: unless-stopped + networks: + - traefik + - docker-socket-proxy + environment: + - "PUID={{ service_user.uid }}" + - "PGID={{ service_user.uid }}" + - "TZ={{ timezone }}" + volumes: + - "{{ data_dir }}/{{ role_name }}:/app/config" + labels: + traefik.enable: true + traefik.http.routers.homepage.rule: "Host(`homepage.local.{{ personal_domain }}`)" + traefik.http.routers.homepage.middlewares: lan-whitelist@file diff --git a/ansible/roles/unifi-controller/templates/docker-compose.yml b/ansible/roles/unifi-controller/templates/docker-compose.yml index 04596b0..b580047 100644 --- a/ansible/roles/unifi-controller/templates/docker-compose.yml +++ b/ansible/roles/unifi-controller/templates/docker-compose.yml @@ -5,7 +5,7 @@ networks: external: true services: - tautulli: + unifi-controller: container_name: unifi-controller image: lscr.io/linuxserver/unifi-controller:latest restart: unless-stopped