--- # ============================================================================= # Soft Cleanup - Stop containers, preserve data # ============================================================================= # Run: ansible-playbook -i inventory.yml cleanup-soft.yml - name: Soft Cleanup - Stop containers, preserve data hosts: netbird_servers become: true vars_files: - group_vars/netbird_servers.yml tasks: - name: Check if docker-compose.yml exists ansible.builtin.stat: path: "{{ netbird_base_dir }}/docker-compose.yml" register: compose_file - name: Stop and remove containers (preserve volumes) ansible.builtin.command: cmd: docker compose down chdir: "{{ netbird_base_dir }}" when: compose_file.stat.exists changed_when: true - name: Get preserved Docker volumes ansible.builtin.command: cmd: docker volume ls -q --filter name=netbird register: preserved_volumes changed_when: false ignore_errors: true - name: Get config files ansible.builtin.find: paths: "{{ netbird_base_dir }}" patterns: "*" register: config_files - name: Display cleanup summary ansible.builtin.debug: msg: | ============================================ Soft Cleanup Complete! ============================================ Stopped and removed: - All NetBird containers Preserved (data intact): - Docker volumes: {% for vol in preserved_volumes.stdout_lines %} - {{ vol }} {% endfor %} - Configuration directory: {{ netbird_base_dir }} - Configuration files: {% for file in config_files.files %} - {{ file.path | basename }} {% endfor %} To restart services: cd {{ netbird_base_dir }} && docker compose up -d To perform full cleanup (wipe data): ansible-playbook cleanup-full.yml -i inventory.yml ============================================