- Update Gitea configuration (remove DEFAULT_ACTIONS_URL) - Fix deployment documentation - Update Ansible playbooks - Clean up deprecated files - Add new deployment scripts and templates
72 lines
1.9 KiB
YAML
72 lines
1.9 KiB
YAML
---
|
|
# Fix Nginx 404 by setting up shared app-code volume
|
|
- name: Check if application stack directory exists
|
|
stat:
|
|
path: "{{ app_stack_path }}"
|
|
register: app_stack_dir
|
|
|
|
- name: Fail if application stack directory doesn't exist
|
|
fail:
|
|
msg: "Application stack directory not found at {{ app_stack_path }}"
|
|
when: not app_stack_dir.stat.exists
|
|
|
|
- name: Copy updated docker-compose.yml to production
|
|
copy:
|
|
src: "{{ playbook_dir }}/../../stacks/application/docker-compose.yml"
|
|
dest: "{{ app_stack_path }}/docker-compose.yml"
|
|
owner: "{{ ansible_user }}"
|
|
group: "{{ ansible_user }}"
|
|
mode: '0644'
|
|
register: compose_updated
|
|
|
|
- name: Initialize app-code volume with files from app image
|
|
shell: |
|
|
# Stop containers first
|
|
cd {{ app_stack_path }}
|
|
docker compose down nginx || true
|
|
|
|
# Create and initialize app-code volume
|
|
docker volume create app-code || true
|
|
|
|
# Copy files from app image to volume using temporary container
|
|
docker run --rm \
|
|
-v app-code:/target \
|
|
{{ app_image_external }}:latest \
|
|
sh -c "cp -r /var/www/html/* /target/ 2>/dev/null || true"
|
|
args:
|
|
executable: /bin/bash
|
|
register: volume_init
|
|
changed_when: true
|
|
failed_when: false
|
|
|
|
- name: Start containers
|
|
shell: |
|
|
cd {{ app_stack_path }}
|
|
docker compose up -d
|
|
args:
|
|
executable: /bin/bash
|
|
register: containers_started
|
|
|
|
- name: Wait for containers to be healthy
|
|
pause:
|
|
seconds: 15
|
|
|
|
- name: Check container status
|
|
shell: |
|
|
cd {{ app_stack_path }}
|
|
docker compose ps
|
|
args:
|
|
executable: /bin/bash
|
|
register: final_status
|
|
|
|
- name: Display container status
|
|
debug:
|
|
msg: "{{ final_status.stdout_lines }}"
|
|
|
|
- name: Display summary
|
|
debug:
|
|
msg:
|
|
- "=== Nginx 404 Fix Complete ==="
|
|
- "Volume initialized: {{ 'Yes' if volume_init.changed else 'No' }}"
|
|
- "Containers restarted: {{ 'Yes' if containers_started.changed else 'No' }}"
|