From 472f04b98c60124edd64700a4ac203fe487e39d3 Mon Sep 17 00:00:00 2001 From: alessandrovitali Date: Mon, 17 Aug 2026 17:52:01 +0200 Subject: [PATCH 1/3] feat: add coolify installation role --- roles/coolify/defaults/main.yml | 11 +++++++++++ roles/coolify/tasks/main.yml | 25 +++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 roles/coolify/defaults/main.yml create mode 100644 roles/coolify/tasks/main.yml diff --git a/roles/coolify/defaults/main.yml b/roles/coolify/defaults/main.yml new file mode 100644 index 0000000..2976514 --- /dev/null +++ b/roles/coolify/defaults/main.yml @@ -0,0 +1,11 @@ +--- +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 (e.g. "v4.0.0") or leave empty for latest. +coolify_version: "" + +## Coolify self-updates by default; set false to manage upgrades yourself. +coolify_autoupdate: true diff --git a/roles/coolify/tasks/main.yml b/roles/coolify/tasks/main.yml new file mode 100644 index 0000000..ff12606 --- /dev/null +++ b/roles/coolify/tasks/main.yml @@ -0,0 +1,25 @@ +--- +- name: Check if Coolify is already installed + 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') }}" + when: not coolify_installed.stat.exists + changed_when: true + async: 1800 + poll: 15 -- 2.54.0 From 4fdab81b9c65c63a6ce4874bd1382e7492f3ba32 Mon Sep 17 00:00:00 2001 From: alessandrovitali Date: Tue, 18 Aug 2026 17:52:12 +0200 Subject: [PATCH 2/3] feat: pre-seed admin user --- roles/coolify/defaults/main.yml | 9 +++++++-- roles/coolify/tasks/main.yml | 4 ++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/roles/coolify/defaults/main.yml b/roles/coolify/defaults/main.yml index 2976514..e35d1e2 100644 --- a/roles/coolify/defaults/main.yml +++ b/roles/coolify/defaults/main.yml @@ -4,8 +4,13 @@ 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 (e.g. "v4.0.0") or leave empty for latest. +## Pin to a release or leave empty for latest coolify_version: "" -## Coolify self-updates by default; set false to manage upgrades yourself. +## 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 index ff12606..27f3bc7 100644 --- a/roles/coolify/tasks/main.yml +++ b/roles/coolify/tasks/main.yml @@ -19,7 +19,11 @@ - "{{ 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 -- 2.54.0 From 63b5d37883e21991569bfb9b3580fe84fc1dfac9 Mon Sep 17 00:00:00 2001 From: alessandrovitali Date: Wed, 19 Aug 2026 19:50:22 +0200 Subject: [PATCH 3/3] fix: directory traversal permission --- roles/coolify/tasks/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/coolify/tasks/main.yml b/roles/coolify/tasks/main.yml index 27f3bc7..263f52f 100644 --- a/roles/coolify/tasks/main.yml +++ b/roles/coolify/tasks/main.yml @@ -1,5 +1,6 @@ --- - name: Check if Coolify is already installed + become: true ansible.builtin.stat: path: "{{ coolify_compose_file }}" register: coolify_installed -- 2.54.0