Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

51 linhas
1.5KB

  1. FROM php:8.5-apache
  2. # Install PHP extensions + system tools
  3. # - pdo_sqlite / zip: required by the app and Composer
  4. # - freetds / unixodbc / tdsodbc: SQL Server access via ODBC for PrintStream import
  5. # - cron: runs the PrintStream background import on a schedule
  6. RUN apt-get update \
  7. && apt-get install -y \
  8. libsqlite3-dev \
  9. libzip-dev \
  10. unzip \
  11. freetds-dev \
  12. freetds-bin \
  13. unixodbc-dev \
  14. tdsodbc \
  15. cron \
  16. && rm -rf /var/lib/apt/lists/* \
  17. && docker-php-ext-install pdo_sqlite zip \
  18. && docker-php-ext-configure pdo_odbc --with-pdo-odbc=unixODBC,/usr \
  19. && docker-php-ext-install pdo_odbc \
  20. && a2enmod rewrite
  21. # Install Composer
  22. COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
  23. # Configure Apache virtual host
  24. COPY docker/vhost.conf /etc/apache2/sites-available/000-default.conf
  25. COPY docker/entrypoint.sh /usr/local/bin/entrypoint.sh
  26. RUN chmod +x /usr/local/bin/entrypoint.sh
  27. WORKDIR /var/www/html
  28. # Copy application files
  29. COPY . .
  30. # Generate autoloader (no external dependencies — just generates vendor/autoload.php)
  31. RUN composer install --no-dev --optimize-autoloader --no-interaction
  32. # Install crontab for background PrintStream import
  33. COPY docker/crontab /etc/cron.d/kanban-import
  34. RUN chmod 0644 /etc/cron.d/kanban-import
  35. # Create writable directories and set correct permissions
  36. RUN mkdir -p database storage \
  37. && chown -R www-data:www-data /var/www/html \
  38. && chmod 775 database storage
  39. EXPOSE 80
  40. ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]

Powered by TurnKey Linux.