--- app_dir: "{{ host_root_path }}/{{ app_name }}" app_uid: "{{ ansible_facts.user_uid }}" app_gid: "{{ ansible_facts.user_gid }}" app_permission_mode: "0640" # files (compose.yml, rendered templates) app_dir_mode: "0755" # directories (app_dir and app_subdirectories) app_restart_policy: unless-stopped app_backup_path: "{{ backup_path }}/{{ app_name }}" app_backup_path_remote: "{{ app_dir }}/backups" app_backup: true app_backup_subdirectories: [] app_backup_stop_services: true app_backup_retention_days_controller: 90 app_backup_retention_days_remote: 7 app_restore: false app_restore_source: controller app_restore_max_age_days: 30 app_compose_dest: "{{ app_dir }}/docker-compose.yml" app_compose_validate: true app_compose_pull: policy app_compose_recreate: auto app_compose_start: true app_compose_project_name: "{{ app_dir | basename }}" app_container_name: "{{ app_name }}" app_health_check: true app_health_check_method: docker app_health_check_retries: 30 app_health_check_delay: 10 app_health_check_status_codes: [200, 201, 202] # Relative src — Ansible's template resolver searches loaded roles' templates/ # directories, so this finds the calling (shim) role's compose.yml.j2 without # any absolute-path plumbing. app_compose_template: compose.yml.j2 app_subdirectories: [] # - config # - data app_extra_templates: [] # - src: path/to/template/config.json.j2 # dest: "{{ app_dir }}/config.json"