From f9d8cf1fee8b7b2337d2eb530d026d9cad94c520 Mon Sep 17 00:00:00 2001 From: TheNewSound Date: Mon, 27 Oct 2025 13:48:26 +0100 Subject: [PATCH 1/6] Update Dockerfile to use ADD for downloading files Replaced curl command with ADD instruction for downloading Invoice Ninja instead of RUN curl. Signed-off-by: TheNewSound --- debian/Dockerfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/debian/Dockerfile b/debian/Dockerfile index e4595bd..8985113 100644 --- a/debian/Dockerfile +++ b/debian/Dockerfile @@ -4,8 +4,9 @@ FROM php:${PHP}-fpm AS prepare-app USER www-data -RUN curl -sL "https://github.com/invoiceninja/invoiceninja/releases/latest/download/invoiceninja.tar.gz" | \ - tar -xz -C /var/www/html \ +ADD https://github.com/invoiceninja/invoiceninja/releases/latest/download/invoiceninja.tar.gz /tmp/invoiceninja.tar.gz +RUN tar -xzf /tmp/invoiceninja.tar.gz -C /var/www/html --strip-components=1 \ + && rm /tmp/invoiceninja.tar.gz \ && ln -s /var/www/html/resources/views/react/index.blade.php /var/www/html/public/index.html \ && php artisan storage:link \ # Workaround for application updates From e1ed2f0eabe42e0f0c1b45e79190ef37d6f8611c Mon Sep 17 00:00:00 2001 From: TheNewSound Date: Mon, 27 Oct 2025 16:39:04 +0100 Subject: [PATCH 2/6] Update Dockerfile Fix permissions of downloaded tar.gz file via ADD Signed-off-by: TheNewSound --- debian/Dockerfile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/debian/Dockerfile b/debian/Dockerfile index 8985113..fcddbd1 100644 --- a/debian/Dockerfile +++ b/debian/Dockerfile @@ -2,9 +2,13 @@ ARG PHP=8.4 FROM php:${PHP}-fpm AS prepare-app +# Download and extract as root +ADD https://github.com/invoiceninja/invoiceninja/releases/latest/download/invoiceninja.tar.gz /tmp/invoiceninja.tar.gz +# Set correct permissions +RUN chown -R www-data:www-data /tmp/invoiceninja.tar.gz + USER www-data -ADD https://github.com/invoiceninja/invoiceninja/releases/latest/download/invoiceninja.tar.gz /tmp/invoiceninja.tar.gz RUN tar -xzf /tmp/invoiceninja.tar.gz -C /var/www/html --strip-components=1 \ && rm /tmp/invoiceninja.tar.gz \ && ln -s /var/www/html/resources/views/react/index.blade.php /var/www/html/public/index.html \ From b40a60a12d6831a92c18321fce25ea90ab2090c2 Mon Sep 17 00:00:00 2001 From: TheNewSound Date: Mon, 27 Oct 2025 16:48:15 +0100 Subject: [PATCH 3/6] Fix ownership command for invoiceninja tarball Signed-off-by: TheNewSound --- debian/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/Dockerfile b/debian/Dockerfile index fcddbd1..c24811d 100644 --- a/debian/Dockerfile +++ b/debian/Dockerfile @@ -5,7 +5,7 @@ FROM php:${PHP}-fpm AS prepare-app # Download and extract as root ADD https://github.com/invoiceninja/invoiceninja/releases/latest/download/invoiceninja.tar.gz /tmp/invoiceninja.tar.gz # Set correct permissions -RUN chown -R www-data:www-data /tmp/invoiceninja.tar.gz +RUN chown www-data:www-data /tmp/invoiceninja.tar.gz USER www-data From d639f649a3da4fea65509b07808f5c6ddb6bf0c2 Mon Sep 17 00:00:00 2001 From: TheNewSound Date: Mon, 27 Oct 2025 16:54:22 +0100 Subject: [PATCH 4/6] Modify tar command in Dockerfile Removed strip-components option from tar command. Signed-off-by: TheNewSound --- debian/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/Dockerfile b/debian/Dockerfile index c24811d..07f612e 100644 --- a/debian/Dockerfile +++ b/debian/Dockerfile @@ -9,7 +9,7 @@ RUN chown www-data:www-data /tmp/invoiceninja.tar.gz USER www-data -RUN tar -xzf /tmp/invoiceninja.tar.gz -C /var/www/html --strip-components=1 \ +RUN tar -xzf /tmp/invoiceninja.tar.gz -C /var/www/html \ && rm /tmp/invoiceninja.tar.gz \ && ln -s /var/www/html/resources/views/react/index.blade.php /var/www/html/public/index.html \ && php artisan storage:link \ From 0a774f9283fe05c2f43268113369b24f80ee1e78 Mon Sep 17 00:00:00 2001 From: TheNewSound Date: Mon, 27 Oct 2025 23:35:10 +0100 Subject: [PATCH 5/6] Use --chown in Dockerfile to set permissions Signed-off-by: TheNewSound --- debian/Dockerfile | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/debian/Dockerfile b/debian/Dockerfile index 07f612e..d969664 100644 --- a/debian/Dockerfile +++ b/debian/Dockerfile @@ -2,10 +2,8 @@ ARG PHP=8.4 FROM php:${PHP}-fpm AS prepare-app -# Download and extract as root -ADD https://github.com/invoiceninja/invoiceninja/releases/latest/download/invoiceninja.tar.gz /tmp/invoiceninja.tar.gz -# Set correct permissions -RUN chown www-data:www-data /tmp/invoiceninja.tar.gz +# ADD is always executed as root, so we use --chown +ADD --chown=www-data:www-data https://github.com/invoiceninja/invoiceninja/releases/latest/download/invoiceninja.tar.gz /tmp/invoiceninja.tar.gz USER www-data From 192c59d596f7abc6731e69396886c384f59cf1c6 Mon Sep 17 00:00:00 2001 From: TheNewSound Date: Tue, 28 Oct 2025 09:01:47 +0100 Subject: [PATCH 6/6] Remove `--chown` and `rm` from Dockerfile Signed-off-by: TheNewSound --- debian/Dockerfile | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/debian/Dockerfile b/debian/Dockerfile index d969664..13333be 100644 --- a/debian/Dockerfile +++ b/debian/Dockerfile @@ -2,13 +2,11 @@ ARG PHP=8.4 FROM php:${PHP}-fpm AS prepare-app -# ADD is always executed as root, so we use --chown -ADD --chown=www-data:www-data https://github.com/invoiceninja/invoiceninja/releases/latest/download/invoiceninja.tar.gz /tmp/invoiceninja.tar.gz +ADD https://github.com/invoiceninja/invoiceninja/releases/latest/download/invoiceninja.tar.gz /tmp/invoiceninja.tar.gz USER www-data RUN tar -xzf /tmp/invoiceninja.tar.gz -C /var/www/html \ - && rm /tmp/invoiceninja.tar.gz \ && ln -s /var/www/html/resources/views/react/index.blade.php /var/www/html/public/index.html \ && php artisan storage:link \ # Workaround for application updates