Includes: API (Express/TypeScript), Astro site, Python workers, document generators, FCC compliance tools, Canada CRTC formation, Ansible infrastructure, and deployment scripts. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
85 lines
2 KiB
YAML
85 lines
2 KiB
YAML
---
|
|
- name: Remove old Docker packages
|
|
ansible.builtin.apt:
|
|
name:
|
|
- docker
|
|
- docker-engine
|
|
- docker.io
|
|
- containerd
|
|
- runc
|
|
state: absent
|
|
|
|
- name: Install prerequisites for Docker repo
|
|
ansible.builtin.apt:
|
|
name:
|
|
- apt-transport-https
|
|
- ca-certificates
|
|
- curl
|
|
- gnupg
|
|
state: present
|
|
|
|
- name: Add Docker GPG key
|
|
ansible.builtin.get_url:
|
|
url: https://download.docker.com/linux/debian/gpg
|
|
dest: /etc/apt/keyrings/docker.asc
|
|
mode: "0644"
|
|
|
|
- name: Add Docker apt repository
|
|
ansible.builtin.apt_repository:
|
|
repo: >-
|
|
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc]
|
|
https://download.docker.com/linux/debian
|
|
{{ ansible_distribution_release }} stable
|
|
filename: docker
|
|
state: present
|
|
|
|
- name: Install Docker CE and plugins
|
|
ansible.builtin.apt:
|
|
name:
|
|
- docker-ce
|
|
- docker-ce-cli
|
|
- containerd.io
|
|
- docker-buildx-plugin
|
|
- docker-compose-plugin
|
|
state: present
|
|
update_cache: true
|
|
notify: Restart docker
|
|
|
|
- name: Ensure Docker service is enabled and started
|
|
ansible.builtin.systemd:
|
|
name: docker
|
|
enabled: true
|
|
state: started
|
|
|
|
- name: Add deploy user to docker group
|
|
ansible.builtin.user:
|
|
name: "{{ deploy_user }}"
|
|
groups: docker
|
|
append: true
|
|
|
|
- name: Verify Docker Compose plugin is available
|
|
ansible.builtin.command:
|
|
cmd: docker compose version
|
|
changed_when: false
|
|
register: docker_compose_check
|
|
failed_when: docker_compose_check.rc != 0
|
|
|
|
# --- Auto-start on reboot via systemd ---
|
|
|
|
- name: Deploy performancewest systemd service unit
|
|
ansible.builtin.template:
|
|
src: performancewest.service.j2
|
|
dest: /etc/systemd/system/performancewest.service
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
notify:
|
|
- Reload systemd
|
|
- Enable performancewest service
|
|
|
|
- name: Ensure performancewest service is enabled and started
|
|
ansible.builtin.systemd:
|
|
name: performancewest
|
|
enabled: true
|
|
state: started
|
|
daemon_reload: true
|