From 7d302816cdb382160aabfe3b2296a1cf565b9bba Mon Sep 17 00:00:00 2001 From: Rohit Mulani <289630555+rohitmulani63-ops@users.noreply.github.com> Date: Mon, 22 Jun 2026 14:19:35 +0400 Subject: [PATCH 1/4] feat: add FileRun template --- blueprints/filerun/docker-compose.yml | 35 +++++++++++++++++++++++++++ blueprints/filerun/filerun.svg | 7 ++++++ blueprints/filerun/template.toml | 19 +++++++++++++++ meta.json | 17 +++++++++++++ 4 files changed, 78 insertions(+) create mode 100644 blueprints/filerun/docker-compose.yml create mode 100644 blueprints/filerun/filerun.svg create mode 100644 blueprints/filerun/template.toml diff --git a/blueprints/filerun/docker-compose.yml b/blueprints/filerun/docker-compose.yml new file mode 100644 index 00000000..0f1d3646 --- /dev/null +++ b/blueprints/filerun/docker-compose.yml @@ -0,0 +1,35 @@ +version: "3.8" + +services: + filerun: + image: filerun/filerun:latest + restart: unless-stopped + user: "1001:1001" + depends_on: + - db + environment: + FR_DB_HOST: db + FR_DB_PORT: 3306 + FR_DB_NAME: ${MYSQL_DATABASE} + FR_DB_USER: ${MYSQL_USER} + FR_DB_PASS: ${MYSQL_PASSWORD} + volumes: + - filerun-html:/var/www/html + - filerun-user-files:/user-files + + db: + image: mariadb:12.2 + restart: unless-stopped + environment: + MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD} + MYSQL_USER: ${MYSQL_USER} + MYSQL_PASSWORD: ${MYSQL_PASSWORD} + MYSQL_DATABASE: ${MYSQL_DATABASE} + MARIADB_AUTO_UPGRADE: "1" + volumes: + - filerun-db:/var/lib/mysql + +volumes: + filerun-html: + filerun-user-files: + filerun-db: diff --git a/blueprints/filerun/filerun.svg b/blueprints/filerun/filerun.svg new file mode 100644 index 00000000..7825769e --- /dev/null +++ b/blueprints/filerun/filerun.svg @@ -0,0 +1,7 @@ + + FileRun + + + + + diff --git a/blueprints/filerun/template.toml b/blueprints/filerun/template.toml new file mode 100644 index 00000000..6edf05ac --- /dev/null +++ b/blueprints/filerun/template.toml @@ -0,0 +1,19 @@ +[variables] +main_domain = "${domain}" +mysql_user = "filerun" +mysql_database = "filerun" +mysql_password = "${password:32}" +mariadb_root_password = "${password:32}" + +[config] +env = [ + "MYSQL_USER=${mysql_user}", + "MYSQL_DATABASE=${mysql_database}", + "MYSQL_PASSWORD=${mysql_password}", + "MARIADB_ROOT_PASSWORD=${mariadb_root_password}", +] + +[[config.domains]] +serviceName = "filerun" +port = 80 +host = "${main_domain}" diff --git a/meta.json b/meta.json index 8be7825d..7e519d05 100644 --- a/meta.json +++ b/meta.json @@ -2292,6 +2292,23 @@ "storage" ] }, + { + "id": "filerun", + "name": "FileRun", + "version": "latest", + "description": "FileRun is a self-hosted file manager and file sharing platform.", + "logo": "filerun.svg", + "links": { + "website": "https://filerun.com/", + "docs": "https://docs.filerun.com/docker", + "github": "https://github.com/filerun/docker" + }, + "tags": [ + "file-manager", + "file-sharing", + "storage" + ] + }, { "id": "filestash", "name": "Filestash", From a185fe862558146ff2fab98e221cafb35b9ef80a Mon Sep 17 00:00:00 2001 From: Rohit Mulani <289630555+rohitmulani63-ops@users.noreply.github.com> Date: Mon, 22 Jun 2026 14:19:54 +0400 Subject: [PATCH 2/4] fix: remove FileRun template BOM --- blueprints/filerun/template.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/blueprints/filerun/template.toml b/blueprints/filerun/template.toml index 6edf05ac..b9b2b8bf 100644 --- a/blueprints/filerun/template.toml +++ b/blueprints/filerun/template.toml @@ -1,4 +1,4 @@ -[variables] +[variables] main_domain = "${domain}" mysql_user = "filerun" mysql_database = "filerun" @@ -16,4 +16,4 @@ env = [ [[config.domains]] serviceName = "filerun" port = 80 -host = "${main_domain}" +host = "${main_domain}" \ No newline at end of file From dabe8466acf6f0efdbe3ef8c70fae9957d53d3ab Mon Sep 17 00:00:00 2001 From: Rohit Mulani <289630555+rohitmulani63-ops@users.noreply.github.com> Date: Tue, 7 Jul 2026 23:38:00 +0400 Subject: [PATCH 3/4] Align FileRun compose with upstream runtime settings --- blueprints/filerun/docker-compose.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/blueprints/filerun/docker-compose.yml b/blueprints/filerun/docker-compose.yml index 0f1d3646..78b164f3 100644 --- a/blueprints/filerun/docker-compose.yml +++ b/blueprints/filerun/docker-compose.yml @@ -4,9 +4,11 @@ services: filerun: image: filerun/filerun:latest restart: unless-stopped - user: "1001:1001" + user: "99:100" depends_on: - db + links: + - db:db environment: FR_DB_HOST: db FR_DB_PORT: 3306 @@ -20,6 +22,7 @@ services: db: image: mariadb:12.2 restart: unless-stopped + command: --old-mode=NO_PROGRESS_INFO environment: MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD} MYSQL_USER: ${MYSQL_USER} From 88fae2f9ccf1ee3cff86404f5bf23554eb4161fb Mon Sep 17 00:00:00 2001 From: Mauricio Siu Date: Wed, 8 Jul 2026 01:00:34 -0600 Subject: [PATCH 4/4] fix: chown named volumes so the non-root filerun user can install on first run The filerun/filerun image runs as user filerun (1001:1001), but /var/www/html is created as root in the image, so the named volume inherits root:root ownership. The entrypoint's first-run installer then fails to download filerun.zip into /var/www/html (Permission denied) and the container crash-loops with exit 1. - Add a busybox init service that chowns the html and user-files volumes to 1001:1001 before filerun starts (gated via service_completed_successfully). - Drop the user: "99:100" override, which is meant for pre-chowned host bind mounts in the upstream example, not named volumes. - Remove the UTF-8 BOM at the start of the file, the legacy links: entry and the obsolete version: key. Verified on a live Dokploy deploy: HTTP 200 with page title "FileRun :: Installation". Co-Authored-By: Claude Fable 5 --- blueprints/filerun/docker-compose.yml | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/blueprints/filerun/docker-compose.yml b/blueprints/filerun/docker-compose.yml index 78b164f3..eb39e695 100644 --- a/blueprints/filerun/docker-compose.yml +++ b/blueprints/filerun/docker-compose.yml @@ -1,14 +1,20 @@ -version: "3.8" - services: + filerun-init: + image: busybox:1.37 + restart: "no" + command: chown -R 1001:1001 /var/www/html /user-files + volumes: + - filerun-html:/var/www/html + - filerun-user-files:/user-files + filerun: image: filerun/filerun:latest restart: unless-stopped - user: "99:100" depends_on: - - db - links: - - db:db + filerun-init: + condition: service_completed_successfully + db: + condition: service_started environment: FR_DB_HOST: db FR_DB_PORT: 3306