diff --git a/bin/actions/docker.py b/bin/actions/docker.py index 5c335fb..1feabd3 100755 --- a/bin/actions/docker.py +++ b/bin/actions/docker.py @@ -9,8 +9,8 @@ import argparse sys.path.append(os.path.join(os.path.expanduser("~/.dotfiles"), "bin")) from helpers.functions import printfe, println, logo -# Base directory for Docker services -SERVICES_DIR = "/mnt/storage-box/services" +# Base directory for Docker services $HOME/services +SERVICES_DIR = os.path.join(os.path.expanduser("~"), "services") def get_service_path(service_name): """Return the path to a service's docker-compose file""" diff --git a/config/ansible/tasks/servers/services/duplicati/docker-compose.yml.j2 b/config/ansible/tasks/servers/services/duplicati/docker-compose.yml.j2 index a99730f..28ba992 100644 --- a/config/ansible/tasks/servers/services/duplicati/docker-compose.yml.j2 +++ b/config/ansible/tasks/servers/services/duplicati/docker-compose.yml.j2 @@ -10,7 +10,7 @@ services: - CLI_ARGS= - SETTINGS_ENCRYPTION_KEY={{ lookup('onepassword', 'ifpbi3n3zduwhoihrc3lflmoey', field='encryption_key', vault='j7nmhqlsjmp2r6umly5t75hzb4') }} volumes: - - /mnt/services/duplicati/data:/config + - {{ duplicati_data_dir }}:/config ports: - 8200:8200 extra_hosts: diff --git a/config/ansible/tasks/servers/services/duplicati/duplicati.yml b/config/ansible/tasks/servers/services/duplicati/duplicati.yml index 482fc86..500730e 100644 --- a/config/ansible/tasks/servers/services/duplicati/duplicati.yml +++ b/config/ansible/tasks/servers/services/duplicati/duplicati.yml @@ -1,16 +1,29 @@ - name: Deploy Duplicati service block: + - name: Set Duplicati directory path + ansible.builtin.set_fact: + duplicati_data_dir: "/mnt/storage-box/services/duplicati" + + - name: Set Duplicati service directory + ansible.builtin.set_fact: + duplicati_service_dir: "{{ ansible_env.HOME }}/services/golink" + - name: Create Duplicati directories ansible.builtin.file: path: "{{ item }}" state: directory mode: "0755" loop: - - /mnt/storage-box/services/duplicati + - "{{ duplicati_data_dir }}" + - "{{ duplicati_service_dir }}" - name: Deploy Duplicati docker-compose.yml ansible.builtin.template: src: docker-compose.yml.j2 - dest: /mnt/storage-box/services/duplicati/docker-compose.yml + dest: "{{ duplicati_service_dir }}/docker-compose.yml" mode: "0644" register: duplicati_compose + + - name: Restart Duplicati service + ansible.builtin.command: docker compose -f "{{ duplicati_service_dir }}/docker-compose.yml" restart + when: duplicati_compose.changed diff --git a/config/ansible/tasks/servers/services/golink/docker-compose.yml.j2 b/config/ansible/tasks/servers/services/golink/docker-compose.yml.j2 index ab3e09e..19699bd 100644 --- a/config/ansible/tasks/servers/services/golink/docker-compose.yml.j2 +++ b/config/ansible/tasks/servers/services/golink/docker-compose.yml.j2 @@ -4,8 +4,8 @@ services: image: ghcr.io/tailscale/golink:main environment: - PUID=1000 - - PGID=1000 - - TS_AUTHKEY={{ lookup('onepassword', '4gsgavajnxfpcrjvbkqhoc4drm', vault='j7nmhqlsjmp2r6umly5t75hzb4') }} + - PGID=100 + - TS_AUTHKEY={{ lookup('onepassword', '4gsgavajnxfpcrjvbkqhoc4drm', field='TS_AUTHKEY', vault='j7nmhqlsjmp2r6umly5t75hzb4') }} volumes: - - /mnt/services/golink:/home/nonroot + - {{ golink_data_dir }}:/home/nonroot restart: "unless-stopped" diff --git a/config/ansible/tasks/servers/services/golink/golink.yml b/config/ansible/tasks/servers/services/golink/golink.yml index 94ff1f4..386d80b 100644 --- a/config/ansible/tasks/servers/services/golink/golink.yml +++ b/config/ansible/tasks/servers/services/golink/golink.yml @@ -1,20 +1,29 @@ - name: Deploy GoLink service block: + - name: Set GoLink data directory + ansible.builtin.set_fact: + golink_data_dir: "/mnt/storage-box/services/golink" + + - name: Set GoLink service directory + ansible.builtin.set_fact: + golink_service_dir: "{{ ansible_env.HOME }}/services/golink" + - name: Create GoLink directories ansible.builtin.file: path: "{{ item }}" state: directory mode: "0755" loop: - - /mnt/storage-box/services/golink + - "{{ golink_data_dir }}" + - "{{ golink_service_dir }}" - name: Deploy GoLink docker-compose.yml ansible.builtin.template: src: docker-compose.yml.j2 - dest: /mnt/storage-box/services/golink/docker-compose.yml + dest: "{{ golink_service_dir }}/docker-compose.yml" mode: "0644" register: golink_compose - - name: Start GoLink service - ansible.builtin.command: docker-compose -f /mnt/storage-box/services/golink/docker-compose.yml up -d + - name: Restart GoLink service + ansible.builtin.command: docker compose -f "{{ golink_service_dir }}/docker-compose.yml" restart when: golink_compose.changed