GeoNetAgent, LDAPWeb, server-audit, server-connection
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

48 lines
1.9 KiB

FROM composer:2 AS vendor
WORKDIR /app
COPY composer.json composer.lock* ./
RUN composer config audit.block-insecure false \
&& composer install --no-dev --no-scripts --optimize-autoloader --no-interaction --ignore-platform-reqs \
&& test -f vendor/autoload.php
FROM php:8.3-fpm-bookworm
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
curl gnupg2 apt-transport-https unixodbc-dev nginx supervisor libldap2-dev \
libpq-dev default-libmysqlclient-dev \
&& curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg \
&& echo "deb [arch=amd64 signed-by=/usr/share/keyrings/microsoft-prod.gpg] https://packages.microsoft.com/debian/12/prod bookworm main" \
> /etc/apt/sources.list.d/mssql-release.list \
&& apt-get update \
&& ACCEPT_EULA=Y apt-get install -y msodbcsql18 \
&& pecl install sqlsrv pdo_sqlsrv \
&& docker-php-ext-enable sqlsrv pdo_sqlsrv \
&& docker-php-ext-install ldap pdo_pgsql pdo_mysql \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
COPY docker/php-ollama-timeout.ini /usr/local/etc/php/conf.d/99-ollama-timeout.ini
COPY docker/php-fpm-ollama-timeout.conf /usr/local/etc/php-fpm.d/zz-ollama-timeout.conf
WORKDIR /var/www/html
COPY --from=vendor /app/vendor ./vendor
COPY . .
RUN mkdir -p storage/framework/{sessions,views,cache} storage/logs bootstrap/cache \
&& chown -R www-data:www-data storage bootstrap/cache \
&& chmod -R 775 storage bootstrap/cache
COPY docker/nginx.conf /etc/nginx/nginx.conf
COPY docker/default.conf /etc/nginx/conf.d/default.conf
COPY docker/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
COPY docker/entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
EXPOSE 80
HEALTHCHECK --interval=60s --timeout=10s --start-period=90s --retries=3 \
CMD curl -sf http://127.0.0.1/up || exit 1
ENTRYPOINT ["/entrypoint.sh"]