diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..385fe6f --- /dev/null +++ b/.dockerignore @@ -0,0 +1,5 @@ +.ai +.junie +.git +storage +tests diff --git a/docker-compose.prod b/docker-compose.prod new file mode 100644 index 0000000..a38af56 --- /dev/null +++ b/docker-compose.prod @@ -0,0 +1,14 @@ +services: + mareike-app: + build: + context: . + dockerfile: docker/prod.Dockerfile + + mareike-nginx: + build: + context: . + dockerfile: docker/Dockerfile.nginx + depends_on: + - mareike-app + ports: + - 9000:80 diff --git a/docker/prod.Dockerfile b/docker/prod.Dockerfile new file mode 100644 index 0000000..38ba604 --- /dev/null +++ b/docker/prod.Dockerfile @@ -0,0 +1,36 @@ +FROM php:8.5-fpm-alpine AS base + +ARG UID=1000 +ARG GID=1000 +ENV USER=mareike +ENV GROUPNAME=$USER + +RUN addgroup -g ${GID} -S ${GROUPNAME} \ + && adduser -u ${UID} -D -S -G ${GROUPNAME} ${USER} + +RUN apk add --no-cache \ + mc \ + unzip + +COPY --chmod=0755 /docker/php/composer.phar /usr/bin/composer +RUN apk add --no-cache --virtual .build-deps \ + autoconf \ + build-base \ + libzip-dev \ + libpng-dev \ + libxml2-dev \ + oniguruma-dev \ + nodejs \ + npm + +RUN docker-php-ext-install mysqli pdo pdo_mysql mbstring zip exif pcntl gd + +COPY . /var/www/html +WORKDIR /var/www/html +RUN composer install --no-dev --optimize-autoloader +RUN npm install +RUN npm run build + +EXPOSE 9000 + +CMD ["php-fpm"]