Files
InvoiceNinja-StartOS/dockerfile
2025-08-14 05:02:28 +00:00

31 lines
1.3 KiB
Plaintext

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"]