From 3936d7a95ed2b9d1f9ad64574b3f469011e9bc87 Mon Sep 17 00:00:00 2001 From: Menno van Leeuwen Date: Mon, 10 Mar 2025 20:15:14 +0000 Subject: [PATCH] feat: enhance Ansible tasks for server and workstation setup with Docker support --- config/ansible/tasks/servers/server.yml | 40 ++++++++++++++++++- .../tasks/workstations/workstation.yml | 2 +- 2 files changed, 39 insertions(+), 3 deletions(-) diff --git a/config/ansible/tasks/servers/server.yml b/config/ansible/tasks/servers/server.yml index 533c9c5..1aad24a 100644 --- a/config/ansible/tasks/servers/server.yml +++ b/config/ansible/tasks/servers/server.yml @@ -1,15 +1,51 @@ -- name: Ensure common packages are installed +- name: Ensure server common packages are installed ansible.builtin.package: name: - openssh-server + - docker.io state: present become: true -- name: Ensure checkout docker /mnt/services repository +- name: Update/Checkout /mnt/services repository ansible.builtin.git: repo: "https://git.mvl.sh/vleeuwenmenno/services.git" dest: "/mnt/services" update: true version: "main" + become: true register: git_result changed_when: git_result.changed + +- name: Ensure /mnt/services ownership to users + ansible.builtin.file: + path: "/mnt/services" + group: "users" + recurse: true + state: directory + become: true + +- name: Find all docker-compose.yml files in /mnt/services subdirectories + ansible.builtin.find: + paths: /mnt/services + patterns: docker-compose.yml + recurse: true + register: docker_compose_files + become: true + +- name: Pull latest Docker images for each service + ansible.builtin.command: + cmd: docker compose pull + chdir: "{{ item.path | dirname }}" + loop: "{{ docker_compose_files.files }}" + become: true + register: docker_pull_results + changed_when: docker_pull_results.rc == 0 and (docker_pull_results.stdout | default('') is search('Pulling|Downloaded')) + +- name: Restart Docker services with updated images + ansible.builtin.command: + cmd: docker compose up -d + chdir: "{{ item.path | dirname }}" + loop: "{{ docker_compose_files.files }}" + become: true + register: docker_up_results + changed_when: docker_up_results.rc == 0 and (docker_up_results.stdout | default('') is search('Creating|Recreating')) diff --git a/config/ansible/tasks/workstations/workstation.yml b/config/ansible/tasks/workstations/workstation.yml index 453ce04..239a507 100644 --- a/config/ansible/tasks/workstations/workstation.yml +++ b/config/ansible/tasks/workstations/workstation.yml @@ -32,7 +32,7 @@ - name: Include MegaSync tasks ansible.builtin.import_tasks: tasks/workstations/megasync.yml -- name: Ensure common packages are installed +- name: Ensure workstation common packages are installed ansible.builtin.package: name: ###### THE FOLLOWING PACKAGES ARE DISABLED DUE TO MISSING ON UBUNTU REPOS ######