forked from Attendize/Attendize
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile-apache
52 lines (40 loc) · 1.33 KB
/
Dockerfile-apache
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
# Run Attendize on an apache server
# Multi stage docker file for the Attendize application layer images
# Base image with apache, php, composer and mysql built on ubuntu
FROM leen15/apache-php-mysql as base
# update composer to v2
RUN composer self-update
# install dependencies
RUN apt-get update && apt-get install -y \
libpq-dev \
libpng-dev \
libjpeg62-dev \
libfreetype6-dev \
libxrender1 \
libfontconfig \
libxext-dev \
libglib2.0-0 \
php-mysql \
php-pgsql \
php-gd \
php-zip \
zip \
unzip git nano \
wait-for-it
# Set up code
WORKDIR /var/www
COPY . .
# run composer, chmod files, setup laravel key
RUN ./scripts/setup
# The worker container runs the laravel queue in the background
FROM base as worker
CMD ["php", "artisan", "queue:work", "--daemon"]
# The web container runs the HTTP server and connects to all other services in the application stack
FROM base as web
# TODO: Add self signed SSL certificate
# Port to expose
EXPOSE 80
# Starting apache server
CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]
# NOTE: if you are deploying to production with this image, you should extend this Dockerfile with another stage that
# performs clean up (i.e. removing composer) and installs your own dependencies (i.e. your own ssl certificate).