FROM php:8.4-cli # Install system dependencies RUN apt-get update && apt-get install -y \ git \ unzip \ libzip-dev \ libsqlite3-dev \ sqlite3 \ && docker-php-ext-install zip pdo_sqlite \ && rm -rf /var/lib/apt/lists/* # Install Composer COPY --from=composer:latest /usr/bin/composer /usr/bin/composer # Set working directory WORKDIR /app # Copy composer files COPY composer.json composer.lock ./ # Install PHP dependencies RUN composer install --no-dev --optimize-autoloader --no-interaction # Copy application code COPY . . # Create non-root user RUN groupadd -r appuser && useradd -r -g appuser appuser # Set permissions RUN chmod +x bin/check-and-post \ && mkdir -p storage \ && touch storage/database.sqlite \ && chmod 666 storage/database.sqlite \ && chmod 755 storage \ && chown -R appuser:appuser /app USER appuser CMD ["php", "-f", "bin/check-and-post"]