Skip to content

Commit ddd17cb

Browse files
committed
add Dockerfile for dokku deployment
1 parent a937e6e commit ddd17cb

2 files changed

Lines changed: 57 additions & 0 deletions

File tree

.dockerignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
.git
2+
.gitignore
3+
.idea
4+
.vscode
5+
node_modules
6+
vendor
7+
logs
8+
tmp
9+
config/.env
10+
config/app_local.php
11+
tests
12+
.phpunit.cache
13+
.DS_Store

Dockerfile

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
FROM node:24-alpine AS assets
2+
3+
WORKDIR /app
4+
5+
COPY package.json package-lock.json ./
6+
RUN npm ci
7+
8+
COPY resources ./resources
9+
COPY vite.config.js ./
10+
RUN npm run build
11+
12+
13+
FROM php:8.4-apache AS app
14+
15+
WORKDIR /var/www/html
16+
17+
ENV APACHE_DOCUMENT_ROOT=/var/www/html/webroot
18+
19+
RUN apt-get update \
20+
&& apt-get install -y --no-install-recommends git unzip libicu-dev libzip-dev \
21+
&& docker-php-ext-install intl pdo_mysql zip \
22+
&& a2enmod rewrite headers expires \
23+
&& sed -ri "s!/var/www/html!${APACHE_DOCUMENT_ROOT}!g" /etc/apache2/sites-available/000-default.conf /etc/apache2/apache2.conf \
24+
&& rm -rf /var/lib/apt/lists/*
25+
26+
COPY --from=composer:2 /usr/bin/composer /usr/local/bin/composer
27+
28+
COPY . .
29+
COPY --from=assets /app/webroot/ ./webroot/
30+
31+
RUN composer install \
32+
--no-dev \
33+
--no-interaction \
34+
--no-progress \
35+
--prefer-dist \
36+
--optimize-autoloader
37+
38+
RUN mkdir -p logs tmp tmp/cache/models tmp/cache/persistent tmp/cache/views tmp/sessions tmp/tests \
39+
&& chown -R www-data:www-data logs tmp \
40+
&& chmod -R 775 logs tmp
41+
42+
EXPOSE 80
43+
44+
CMD ["apache2-foreground"]

0 commit comments

Comments
 (0)