72 lines
2.0 KiB
YAML
72 lines
2.0 KiB
YAML
---
|
|
- name: Install prerequisites (apt)
|
|
become: true
|
|
ansible.builtin.apt:
|
|
name:
|
|
- curl
|
|
- openssl
|
|
state: present
|
|
update_cache: true
|
|
cache_valid_time: 3600
|
|
tags: coolify, prerequisites, installation
|
|
|
|
- name: Ensure Docker service is started and enabled
|
|
become: true
|
|
ansible.builtin.systemd:
|
|
name: docker
|
|
state: started
|
|
enabled: true
|
|
tags: coolify, docker, installation
|
|
|
|
- name: Create Coolify directory structure
|
|
become: true
|
|
ansible.builtin.file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
owner: "{{ coolify_owner }}"
|
|
group: "{{ coolify_group }}"
|
|
mode: "0750"
|
|
loop:
|
|
- "{{ coolify_base_dir }}/source"
|
|
- "{{ coolify_base_dir }}/ssh/keys"
|
|
- "{{ coolify_base_dir }}/ssh/mux"
|
|
- "{{ coolify_base_dir }}/applications"
|
|
- "{{ coolify_base_dir }}/databases"
|
|
- "{{ coolify_base_dir }}/backups"
|
|
- "{{ coolify_base_dir }}/services"
|
|
- "{{ coolify_base_dir }}/proxy/dynamic"
|
|
- "{{ coolify_base_dir }}/webhooks-during-maintenance"
|
|
tags: coolify, files, installation
|
|
|
|
- name: Deploy Coolify compose files from templates
|
|
become: true
|
|
ansible.builtin.template:
|
|
src: "{{ item.src }}"
|
|
dest: "{{ coolify_base_dir }}/source/{{ item.dest }}"
|
|
owner: "{{ coolify_owner }}"
|
|
group: "{{ coolify_group }}"
|
|
mode: "0644"
|
|
loop:
|
|
- src: docker-compose.yml.j2
|
|
dest: docker-compose.yml
|
|
- src: docker-compose.prod.yml.j2
|
|
dest: docker-compose.prod.yml
|
|
loop_control:
|
|
label: "{{ item.dest }}"
|
|
tags: coolify, files, installation
|
|
|
|
- name: Configure Coolify environment
|
|
ansible.builtin.include_tasks: configure.yaml
|
|
tags: coolify, configuration, installation
|
|
|
|
- name: Start Coolify services
|
|
ansible.builtin.include_tasks: start.yaml
|
|
tags: coolify, start, installation
|
|
|
|
- name: Show installation success message
|
|
ansible.builtin.debug:
|
|
msg:
|
|
- "Coolify installed successfully"
|
|
- "Access at: http://{{ ansible_host }}:{{ coolify_app_port }}"
|
|
tags: coolify, installation
|