Vous ne pouvez pas sélectionner plus de 25 sujets
Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
|
- FROM php:8.5-apache
-
- # Install PHP extensions + system tools
- # - pdo_sqlite / zip: required by the app and Composer
- # - freetds / unixodbc / tdsodbc: SQL Server access via ODBC for PrintStream import
- # - cron: runs the PrintStream background import on a schedule
- RUN apt-get update \
- && apt-get install -y \
- libsqlite3-dev \
- libzip-dev \
- unzip \
- freetds-dev \
- freetds-bin \
- unixodbc-dev \
- tdsodbc \
- cron \
- && rm -rf /var/lib/apt/lists/* \
- && docker-php-ext-install pdo_sqlite zip \
- && docker-php-ext-configure pdo_odbc --with-pdo-odbc=unixODBC,/usr \
- && docker-php-ext-install pdo_odbc \
- && a2enmod rewrite
-
- # Install Composer
- COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
-
- # Configure Apache virtual host
- COPY docker/vhost.conf /etc/apache2/sites-available/000-default.conf
- COPY docker/entrypoint.sh /usr/local/bin/entrypoint.sh
- RUN chmod +x /usr/local/bin/entrypoint.sh
-
- WORKDIR /var/www/html
-
- # Copy application files
- COPY . .
-
- # Generate autoloader (no external dependencies — just generates vendor/autoload.php)
- RUN composer install --no-dev --optimize-autoloader --no-interaction
-
- # Install crontab for background PrintStream import
- COPY docker/crontab /etc/cron.d/kanban-import
- RUN chmod 0644 /etc/cron.d/kanban-import
-
- # Create writable directories and set correct permissions
- RUN mkdir -p database storage \
- && chown -R www-data:www-data /var/www/html \
- && chmod 775 database storage
-
- EXPOSE 80
-
- ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|