mirror of
https://github.com/JamesTurland/JimsGarage.git
synced 2025-08-14 09:22:21 +00:00
68 lines
2.3 KiB
YAML
68 lines
2.3 KiB
YAML
|
---
|
||
|
- name: Deploy Docker Container with Docker Compose
|
||
|
hosts: all
|
||
|
become: true
|
||
|
tasks:
|
||
|
- name: Include variables file
|
||
|
ansible.builtin.include_vars: myvars.yaml
|
||
|
|
||
|
- name: Ensure Docker is installed
|
||
|
ansible.builtin.package:
|
||
|
name: docker
|
||
|
state: present
|
||
|
|
||
|
- name: Ensure Docker service is running
|
||
|
ansible.builtin.service:
|
||
|
name: docker
|
||
|
state: started
|
||
|
enabled: true
|
||
|
|
||
|
- name: Create a directory for Docker Compose files
|
||
|
ansible.builtin.file:
|
||
|
path: /home/ubuntu/ansible-docker/docker-compose
|
||
|
state: directory
|
||
|
mode: '0755' # Optional file permissions
|
||
|
owner: ubuntu # Optional ownership
|
||
|
group: ubuntu # Optional group ownership
|
||
|
|
||
|
- name: Create a directory for Nginx website files
|
||
|
ansible.builtin.file:
|
||
|
path: /home/ubuntu/docker/nginx/web
|
||
|
state: directory
|
||
|
mode: '0755' # Optional file permissions
|
||
|
owner: ubuntu # Optional ownership
|
||
|
group: ubuntu # Optional group ownership
|
||
|
|
||
|
- name: Copy docker-compose to remote host
|
||
|
ansible.builtin.copy:
|
||
|
src: /home/ubuntu/nginx/docker-compose.yaml
|
||
|
dest: /home/ubuntu/ansible-docker/docker-compose/docker-compose.yaml
|
||
|
mode: '0755' # Optional file permissions
|
||
|
owner: ubuntu # Optional ownership
|
||
|
group: ubuntu # Optional group ownership
|
||
|
|
||
|
- name: Copy Nginx website folder to remote host # copies a folder - note no file extension
|
||
|
ansible.builtin.copy:
|
||
|
src: /home/ubuntu/nginx/website
|
||
|
dest: /home/ubuntu/docker/nginx/web
|
||
|
mode: '0755' # Optional file permissions
|
||
|
owner: ubuntu # Optional ownership
|
||
|
group: ubuntu # Optional group ownership
|
||
|
|
||
|
- name: Replace old name with new name (requires Ansible >= 2.4)
|
||
|
ansible.builtin.replace:
|
||
|
path: /home/ubuntu/docker/nginx/web/website/index.html
|
||
|
regexp: "Jim's Garage"
|
||
|
replace: "{{ website_name }}"
|
||
|
|
||
|
- name: Access and print secret
|
||
|
ansible.builtin.replace:
|
||
|
path: /home/ubuntu/docker/nginx/web/website/index.html
|
||
|
regexp: "Our Features"
|
||
|
replace: "{{ api_key }}"
|
||
|
|
||
|
- name: Start Docker Compose
|
||
|
community.docker.docker_compose:
|
||
|
project_src: /home/ubuntu/ansible-docker/docker-compose
|
||
|
state: present
|