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