Files
dewemoji/app/Dockerfile
2026-02-04 21:26:36 +07:00

54 lines
1.2 KiB
Docker

# syntax=docker/dockerfile:1.7
FROM node:22-alpine AS frontend
WORKDIR /var/www/html
COPY package.json ./
RUN npm install
COPY resources ./resources
COPY public ./public
COPY vite.config.js ./
RUN npm run build
FROM composer:2 AS vendor
WORKDIR /var/www/html
COPY composer.json composer.lock ./
RUN composer install \
--no-dev \
--no-interaction \
--no-progress \
--prefer-dist \
--optimize-autoloader \
--no-scripts \
--ignore-platform-reqs
FROM php:8.2-apache
WORKDIR /var/www/html
RUN apt-get update && apt-get install -y \
libzip-dev \
libicu-dev \
unzip \
curl \
default-mysql-client \
&& docker-php-ext-install pdo_mysql bcmath exif intl zip \
&& a2enmod rewrite headers expires \
&& rm -rf /var/lib/apt/lists/*
COPY . .
COPY --from=vendor /var/www/html/vendor ./vendor
COPY --from=frontend /var/www/html/public/build ./public/build
COPY docker/apache-vhost.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 \
&& chown -R www-data:www-data storage bootstrap/cache \
&& chmod -R ug+rwx storage bootstrap/cache
EXPOSE 80
ENTRYPOINT ["entrypoint.sh"]
CMD ["apache2-foreground"]