download
raw
1.23 kB
FROM php:8.2-apache
# Install system dependencies in one layer
RUN apt-get update && apt-get install -y \
git unzip curl libsqlite3-dev \
&& rm -rf /var/lib/apt/lists/* \
&& docker-php-ext-install pdo pdo_sqlite \
&& a2enmod rewrite
# Install Composer
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
# Set working directory
WORKDIR /var/www/html
# Copy application files
COPY . /var/www/html/
# Install PHP dependencies (vendor/ is not in .dockerignore but install anyway to be safe)
RUN composer install --no-dev --no-interaction --prefer-dist --optimize-autoloader
# Apache config: listen on port 7860 and set DocumentRoot to public/
RUN echo "Listen 7860" > /etc/apache2/ports.conf
COPY apache-laravel.conf /etc/apache2/sites-available/000-default.conf
# Create required directories and set permissions
RUN mkdir -p storage/framework/sessions storage/framework/views storage/framework/cache/data \
storage/logs bootstrap/cache database \
&& chown -R www-data:www-data storage bootstrap/cache database \
&& chmod -R 775 storage bootstrap/cache
# Copy and set entrypoint
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
EXPOSE 7860
ENTRYPOINT ["/entrypoint.sh"]

Xet Storage Details

Size:
1.23 kB
·
Xet hash:
5f632ded91e5f2e39e9b04c5b59b6c0566dd5e75570c95d6887bd23f955d9a8c

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.