diff --git a/roles/coolify/defaults/main.yml b/roles/coolify/defaults/main.yml new file mode 100644 index 0000000..e35d1e2 --- /dev/null +++ b/roles/coolify/defaults/main.yml @@ -0,0 +1,16 @@ +--- +coolify_installer_url: "https://cdn.coollabs.io/coolify/install.sh" +coolify_installer_dest: "/tmp/coolify-install.sh" +coolify_data_dir: "/data/coolify" +coolify_compose_file: "{{ coolify_data_dir }}/source/docker-compose.yml" + +## Pin to a release or leave empty for latest +coolify_version: "" + +## Set to false to manage upgrades manually +coolify_autoupdate: true + +## All 3 needed for sucessful user creation +coolify_root_username: "" +coolify_root_user_email: "" +coolify_root_user_password: "" diff --git a/roles/coolify/tasks/main.yml b/roles/coolify/tasks/main.yml new file mode 100644 index 0000000..263f52f --- /dev/null +++ b/roles/coolify/tasks/main.yml @@ -0,0 +1,30 @@ +--- +- name: Check if Coolify is already installed + become: true + ansible.builtin.stat: + path: "{{ coolify_compose_file }}" + register: coolify_installed + +- name: Download Coolify installer + ansible.builtin.get_url: + url: "{{ coolify_installer_url }}" + dest: "{{ coolify_installer_dest }}" + mode: "0755" + when: not coolify_installed.stat.exists + +- name: Run Coolify installer + become: true + ansible.builtin.command: + argv: + - "{{ coolify_installer_dest }}" + - "{{ coolify_version }}" + environment: + AUTOUPDATE: "{{ coolify_autoupdate | bool | ternary('true', 'false') }}" + ROOT_USERNAME: "{{ coolify_root_username }}" + ROOT_USER_EMAIL: "{{ coolify_root_user_email }}" + ROOT_USER_PASSWORD: "{{ coolify_root_user_password }}" + when: not coolify_installed.stat.exists + changed_when: true + async: 1800 + poll: 15 + no_log: true