added docker-compose file for production
This commit is contained in:
1 parent
ec6d7e2a80
commit
b532c51c32
5 files changed
+172
No files matched your search
+54
@@ -0,0 +1,54 @@
|
||||
# syntax=docker/dockerfile:1.7
|
||||
ARG PHP_VERSION=8.5
|
||||
|
||||
# --- frontend assets -------------------------------------------------------
|
||||
FROM node:22-alpine AS frontend
|
||||
WORKDIR /app
|
||||
COPY package.json package-lock.json ./
|
||||
RUN npm ci
|
||||
COPY vite.config.js ./
|
||||
COPY resources ./resources
|
||||
RUN npm run build
|
||||
|
||||
# --- application -------------------------------------------------------
|
||||
FROM php:${PHP_VERSION}-apache AS app
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
libsqlite3-dev \
|
||||
libicu-dev \
|
||||
libzip-dev \
|
||||
unzip \
|
||||
git \
|
||||
curl \
|
||||
&& docker-php-ext-install \
|
||||
pdo_sqlite \
|
||||
intl \
|
||||
zip \
|
||||
bcmath \
|
||||
pcntl \
|
||||
opcache \
|
||||
&& a2enmod rewrite \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
|
||||
|
||||
COPY docker/apache/000-default.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 . .
|
||||
COPY --from=frontend /app/public/build ./public/build
|
||||
|
||||
# auth.json holds the Filament composer repository credentials; it's
|
||||
# gitignored and must never end up baked into an image layer, so it's
|
||||
# supplied as a BuildKit secret and mounted only for this RUN step.
|
||||
RUN --mount=type=secret,id=composer_auth,target=/var/www/html/auth.json \
|
||||
composer install --no-dev --no-interaction --no-progress --optimize-autoloader
|
||||
|
||||
RUN mkdir -p storage/app storage/framework/cache storage/framework/sessions storage/framework/views storage/logs bootstrap/cache \
|
||||
&& chown -R www-data:www-data storage bootstrap/cache
|
||||
|
||||
ENTRYPOINT ["entrypoint.sh"]
|
||||
CMD ["apache2-foreground"]
|
||||
Reference in new issue
Block a user