blob: de3a4b1f3de96018e4fa5755b767bbf8d4631367 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
# Setup php, apache and stud.ip
FROM php:7.4-apache as base
# Install system requirements
RUN apt update && apt install -y --no-install-recommends \
default-mysql-client \
default-libmysqlclient-dev \
libcurl4-openssl-dev zlib1g-dev \
libpng-dev \
libjpeg-dev \
libonig-dev \
libzip-dev \
libicu-dev \
vim \
&& rm -rf /var/lib/apt/lists/*
# Install php extensions
RUN docker-php-ext-configure gd --with-jpeg
RUN docker-php-ext-install pdo gettext curl gd mbstring zip pdo pdo_mysql mysqli intl json
FROM node:14 as nodejs
# Install node modules
COPY . /studip
WORKDIR /studip
RUN make webpack-prod
FROM base as build
# Install composer
COPY --from=composer /usr/bin/composer /usr/bin/composer
# Copy studip
COPY --from=nodejs /studip /studip
# Execute make to install composer dependencies and build assets
WORKDIR /studip
RUN make composer
FROM base
# Reconfigure apache
ENV APACHE_DOCUMENT_ROOT /var/www/studip/public
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
COPY --from=build /studip /var/www/studip
WORKDIR /var/www/studip
# Add config template
COPY ./docker/studip/config_local.php ./config/config_local.inc.php
# Add custom entrypoint
COPY ./docker/studip/docker-entrypoint.sh /usr/local/bin/
RUN chmod u+x /usr/local/bin/docker-entrypoint.sh
# Set start parameters
ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
CMD ["apache2-foreground"]
|