---
# ansible/provision.yml
# Run once to fully provision the VPS.
#
# Usage:
# ansible-playbook -i inventory/hosts.yml provision.yml --ask-become-pass
#
# What it does (in order):
# 1. bootstrap — adds baseline packages
# 2. docker — installs Docker Engine + Compose plugin
# 3. appuser — creates the deploy user, copies the SSH key
# 4. directories — creates /srv/app/production
# 5. TODO: Add nginx + compose here as well
- name: Provision server
hosts: vps
become: yes
become_method: doas
roles:
- bootstrap
- docker
- appuser
- directories
post_tasks:
- name: Confirm deploy user can reach Docker
ansible.builtin.command: docker info
become_user: "{{ deploy_user }}"
changed_when: false
register: docker_check
- name: Show Docker status
ansible.builtin.debug:
msg: "Docker is reachable by {{ deploy_user }}"
when: docker_check.rc == 0