58 lines
1.9 KiB
YAML
58 lines
1.9 KiB
YAML
---
|
|
- name: Ensure ghost group is created
|
|
ansible.builtin.group:
|
|
name: "{{ ghost_user_group }}"
|
|
state: present
|
|
system: true
|
|
|
|
- name: Ensure ghost user is created
|
|
ansible.builtin.user:
|
|
name: "{{ ghost_user }}"
|
|
groups:
|
|
- "{{ ghost_user_group }}"
|
|
append: true
|
|
state: present
|
|
system: true
|
|
|
|
- name: Ensure host paths for docker volumes exist for ghost
|
|
ansible.builtin.file:
|
|
path: "{{ item.path }}"
|
|
state: directory
|
|
mode: "0750"
|
|
owner: "{{ item.owner | default(ghost_user) }}"
|
|
group: "{{ item.group | default(ghost_user_group) }}"
|
|
loop:
|
|
- path: "{{ ghost_base_path }}"
|
|
- path: "{{ ghost_data_path }}"
|
|
owner: "1000"
|
|
- path: "{{ ghost_config_path }}"
|
|
|
|
- name: Ensure ghost configuration file is templated
|
|
ansible.builtin.template:
|
|
src: "ghost.env.j2"
|
|
dest: "{{ ghost_config_file }}"
|
|
owner: "{{ ghost_user }}"
|
|
group: "{{ ghost_user_group }}"
|
|
mode: "0644"
|
|
|
|
- name: Ensure ghost container image is present on host
|
|
community.docker.docker_image:
|
|
name: "{{ ghost_container_image }}"
|
|
state: present
|
|
source: pull
|
|
force_source: "{{ ghost_container_image_tag is defined }}"
|
|
|
|
- name: Ensure ghost container '{{ ghost_container_name }}' is {{ ghost_container_state }}
|
|
community.docker.docker_container:
|
|
name: "{{ ghost_container_name }}"
|
|
image: "{{ ghost_container_image }}"
|
|
ports: "{{ ghost_container_ports | default(omit, true) }}"
|
|
labels: "{{ ghost_container_labels }}"
|
|
volumes: "{{ ghost_container_volumes }}"
|
|
env_file: "{{ ghost_config_file }}"
|
|
etc_hosts: "{{ ghost_container_etc_hosts | default(omit, true) }}"
|
|
networks: "{{ ghost_container_networks | default(omit, true) }}"
|
|
purge_networks: "{{ ghost_container_purge_networks | default(omit, true) }}"
|
|
restart_policy: "{{ ghost_container_restart_policy }}"
|
|
state: "{{ ghost_container_state }}"
|