28 lines
648 B
Docker
28 lines
648 B
Docker
# Stage 1: Build the React Application
|
|
FROM node:20 AS build
|
|
WORKDIR /app
|
|
COPY package.json package-lock.json ./
|
|
RUN npm ci
|
|
COPY . .
|
|
RUN npm run build
|
|
|
|
# Stage 2: Serve the application with Apache
|
|
FROM --platform=linux/amd64 php:8.4-apache
|
|
WORKDIR /var/www/html
|
|
|
|
# Enable necessary Apache modules
|
|
RUN a2enmod rewrite headers
|
|
|
|
COPY vhost.conf /etc/apache2/sites-available/000-default.conf
|
|
|
|
# Copy the built application from the build stage
|
|
COPY --from=build /app/dist /app/dist
|
|
|
|
# Ensure correct permissions
|
|
RUN chown -R www-data:www-data /app
|
|
|
|
# Keep original PHP extensions just in case
|
|
RUN docker-php-ext-install mysqli pdo pdo_mysql
|
|
|
|
EXPOSE 80
|