Files
mozimo.in/ansible/roles/mozimo/tasks/main.yaml
T
tanshu 134f0b0a7a Deploy workflow: commit-id image tags, guarded deploy.sh, opt-in prune
- Makefile builds from 'git archive HEAD' (stale-remote-HEAD impossible):
  tags registry.tanshu.com/mozimo:<short-commit> + :main; build-check target
  verifies both architectures without pushing
- deploy.sh: refuses dirty tracked tree / HEAD != origin/main (--force to
  bypass), ff-only pull, passes the commit as image_tag to ansible,
  --prune flag for opt-in image cleanup
- ansible: docker_image uses image_tag extra-var (falls back to tag),
  prune task keeps the 3 newest mozimo images, mozimo-repo only
2026-09-06 13:21:16 +05:30

41 lines
1.1 KiB
YAML

---
# Tasks for docker role
- name: Log in to Docker registry
docker_login:
registry: "{{ registry }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Pull Mozimo image
docker_image:
name: "{{ docker_image }}"
source: pull
state: present
force_source: yes
- name: Ensure PocketBase data directory exists
file:
path: "{{ host_directory }}/pb_data"
state: directory
owner: "1000"
group: "1000"
- name: Create Mozimo container
docker_container:
name: "{{ docker_container }}"
image: "{{ docker_image }}"
state: started
restart_policy: "unless-stopped"
env_file: "{{ host_directory }}/.env"
volumes:
- "{{ host_directory }}/pb_data:/app/pb_data"
networks:
- name: "{{ docker_network }}"
- name: Prune old mozimo images, keep newest 3 (opt-in via ./deploy.sh --prune)
ansible.builtin.shell: >
docker images "registry.tanshu.com/mozimo" --format "{{.ID}}" | tail -n +4 | xargs -r docker rmi
when: mozimo_image_prune | default(false) | bool
failed_when: false
changed_when: true