From 11f55cd96ca0eeb55da90abd3dbe37a8dc069060 Mon Sep 17 00:00:00 2001 From: Matt Spencer Date: Sat, 11 Nov 2023 11:57:18 +0000 Subject: [PATCH] Update frontend script. Always restart reverse proxy --- README.md | 3 +++ frontend.yaml | 75 ++++++++++++++++++++++++--------------------------- inventory | 2 +- kiosk.yaml | 47 ++++++++++++++++++-------------- 4 files changed, 66 insertions(+), 61 deletions(-) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..aa0a4c8 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +```bash +ansible-playbook -i inventory frontend.yaml +``` diff --git a/frontend.yaml b/frontend.yaml index 3b62e00..1a5fab4 100644 --- a/frontend.yaml +++ b/frontend.yaml @@ -37,46 +37,41 @@ become: true tasks: + - name: Copy reverse proxy configuration to host + become: true + ansible.builtin.copy: + src: apptabulous/reverseproxy + dest: /etc - # - name: Install Docker - # ansible.builtin.include_tasks: - # file: tasks/install_docker.yaml + - name: Start reverse proxy container + community.docker.docker_container: + name: reverse_proxy + image: nginx:mainline-alpine-slim + restart_policy: always + volumes: + - /etc/reverseproxy/conf.d:/etc/nginx/conf.d + - /etc/letsencrypt:/etc/letsencrypt + ports: + - "80:80" + - "443:443" + state: started - - name: Copy referse proxy configuration to host - become: true - ansible.builtin.copy: - src: apptabulous/reverseproxy - dest: /etc - - - name: Start reverse proxy container - community.docker.docker_container: - name: reverse_proxy - image: nginx:mainline-alpine-slim - volumes: - - /etc/reverseproxy/conf.d:/etc/nginx/conf.d - - /etc/letsencrypt:/etc/letsencrypt - ports: - - "80:80" - - "443:443" - state: started - - - name: Start docker registry - community.docker.docker_container: - name: registry - image: registry:2 - restart_policy: always - ports: - - "5000:5000" - state: started - -# NOTE: This will fail on the first run because the container has not been -# uploaded to the registry yet - - name: Start website - community.docker.docker_container: - name: website - image: hub.apptabulous.co.uk/apptabulous/website - restart_policy: always - ports: - - "3000:3000" - state: started + - name: Start docker registry + community.docker.docker_container: + name: registry + image: registry:2 + restart_policy: always + ports: + - "5000:5000" + state: started + # NOTE: This will fail on the first run because the container has not been + # uploaded to the registry yet + - name: Start website + community.docker.docker_container: + name: website + image: hub.apptabulous.co.uk/apptabulous/website + restart_policy: always + ports: + - "3000:3000" + state: started diff --git a/inventory b/inventory index 49cbfd6..9045e70 100644 --- a/inventory +++ b/inventory @@ -1,5 +1,5 @@ [kiosk] -kiosk@kiosk.localdomain +kiosk@kiosk.local [frontend] rpi4-2.local \ No newline at end of file diff --git a/kiosk.yaml b/kiosk.yaml index 8399f8b..9a3c3ee 100644 --- a/kiosk.yaml +++ b/kiosk.yaml @@ -5,6 +5,16 @@ vars: username: kiosk + docker_add_repo: true + docker_users: + - "{{ username }}" + + + roles: + - role: geerlingguy.docker + become: true + + tasks: # - name: Ensure raspi-config is up to date # become: true @@ -79,6 +89,12 @@ sed -i 's/"exited_cleanly":false/"exited_cleanly":true/; s/"exit_type":"[^"]\+"/"exit_type":"Normal"/' ~/.config/chromium/Default/Preferences chromium-browser --disable-infobars --kiosk ${WEBSITE:=https://bit.ly/shelford_kiosk} + - name: Configure openbox-session + ansible.builtin.blockinfile: + path: /home/{{ username }}/.xinitrc + create: true + line: "exec openbox-session" + - name: Start window manager ansible.builtin.lineinfile: path: /home/{{ username }}/.bash_profile @@ -92,10 +108,6 @@ hour: "0,2,4,6,8,10,12,14,16,18,20,22" job: "DISPLAY=:0.0 xdotool key ctrl+r" - - name: Install Docker - ansible.builtin.include_tasks: - file: tasks/install_docker.yaml - - name: Create kiosk config directory ansible.builtin.file: path: /home/{{ username }}/kiosk @@ -130,19 +142,14 @@ done -# NOTE: This fails first time, but works after a manual pull from the target -# NOTE: get the error -> 'Connection aborted.', PermissionError(13, 'Permission denied') - - name: Install kiosk admin console - community.docker.docker_compose: - project_name: kiosk - pull: true - restarted: true - definition: - kiosk: - image: hub.apptabulous.co.uk/apptabulous/kiosk:latest - restart: "always" - ports: - - "80:3000" - volumes: - - "/home/{{ username }}/kiosk:/app/kiosk" - - "/home/{{ username }}/commands:/app/commands" \ No newline at end of file + - name: Start admin console container + community.docker.docker_container: + name: website + image: hub.apptabulous.co.uk/apptabulous/kiosk:latest + restart_policy: always + ports: + - "80:3000" + volumes: + - "/home/{{ username }}/kiosk:/app/kiosk" + - "/home/{{ username }}/commands:/app/commands" + state: started