commit 0f448b6d31c19c54d6d09d6dc84292c007359dd1 Author: brightside Date: Thu Aug 14 05:02:28 2025 +0000 initial draft from chatgpt diff --git a/dockerfile b/dockerfile new file mode 100644 index 0000000..f007d73 --- /dev/null +++ b/dockerfile @@ -0,0 +1,31 @@ +FROM php:8.3-fpm + +# Dependencies, including MariaDB +RUN apt-get update && apt-get install -y --no-install-recommends \ + mariadb-server supervisor curl unzip php-gd php-mbstring php-bcmath php-pdo-mysql php-zip \ + fonts-noto-cjk-extra fonts-wqy-microhei fonts-wqy-zenhei xfonts-wqy \ + && rm -rf /var/lib/apt/lists/* + + # Prepare directories + RUN mkdir -p /mnt/data/mysql /mnt/data/storage /mnt/data/public \ + && chown -R mysql:mysql /mnt/data/mysql \ + && chown -R www-data:www-data /mnt/data/storage /mnt/data/public + + WORKDIR /var/www/html + + # Install InvoiceNinja + RUN curl -sL "https://github.com/invoiceninja/invoiceninja/releases/latest/download/invoiceninja.tar.gz" | \ + tar -xz --strip-components=1 + + COPY supervisor/supervisord.conf /etc/supervisor/conf.d/supervisord.conf + COPY scripts/docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh + RUN chmod +x /usr/local/bin/docker-entrypoint.sh + + EXPOSE 80 + + HEALTHCHECK --interval=30s --timeout=5s --start-period=30s --retries=3 \ + CMD curl -f http://localhost/ || exit 1 + + ENTRYPOINT ["docker-entrypoint.sh"] + CMD ["supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"] + \ No newline at end of file