d2e8cc6e70
- ansible.cfg: enable host_key_checking (closes #1) - update_upgrade.yml: fix reboot crash on non-Debian hosts, exclude AnsibleHost from targets (closes #2, #7) - deploy.yml: replace silent ignore_errors with real container health assertion (closes #3) - redeploy.yml: same assertion fix + restic --overwrite always + RESTIC_RESTORE_PATH variable (closes #3, #4, #5) - disaster.yml: same fixes as redeploy.yml (closes #3, #4, #5) - docker_update_containers.yml: create missing playbook (closes #6) - fresh_install.yml: add safety guard to abort if containers already running (closes #8) - docker_status.yml: add become: true (closes #9) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
59 lines
1.6 KiB
YAML
59 lines
1.6 KiB
YAML
- name: Build OCI Stack
|
|
hosts: OCI
|
|
tasks:
|
|
- name: Create folder
|
|
ansible.builtin.file:
|
|
path: ~/docker
|
|
state: directory
|
|
mode: '0755'
|
|
|
|
- name: Create caddy folder
|
|
ansible.builtin.file:
|
|
path: ~/docker/caddy
|
|
state: directory
|
|
mode: '0755'
|
|
|
|
- name: Create ddns folder
|
|
ansible.builtin.file:
|
|
path: ~/docker/ddns
|
|
state: directory
|
|
mode: '0755'
|
|
|
|
- name: Copy encrypted docker-compose
|
|
ansible.builtin.copy:
|
|
src: ./vault/compose/docker-compose.yml
|
|
dest: ~/docker
|
|
|
|
- name: Copy encrypted Caddyfile
|
|
ansible.builtin.copy:
|
|
src: ./vault/caddy/Caddyfile
|
|
dest: ~/docker/caddy/
|
|
|
|
- name: Copy encrypted ddns config
|
|
ansible.builtin.copy:
|
|
src: ./vault/ddns/ddns.json
|
|
dest: ~/docker/ddns/config.json
|
|
|
|
- name: Start container using Docker Compose
|
|
ansible.builtin.command:
|
|
cmd: docker compose up -d
|
|
chdir: ~/docker
|
|
|
|
- name: Pause for 30 seconds to allow containers to stabilize
|
|
ansible.builtin.pause:
|
|
seconds: 30
|
|
|
|
- name: Verify all containers are running
|
|
ansible.builtin.shell: |
|
|
expected=$(docker compose config --services | wc -l | tr -d ' ')
|
|
running=$(docker compose ps --status running -q | wc -l | tr -d ' ')
|
|
if [ "$expected" != "$running" ]; then
|
|
echo "FAIL: $running/$expected containers running"
|
|
docker compose ps
|
|
exit 1
|
|
fi
|
|
echo "OK: all $running containers running"
|
|
args:
|
|
chdir: ~/docker
|
|
changed_when: false
|