diff options
author | marudor <marudor@marudor.de> | 2018-02-08 22:56:44 +0100 |
---|---|---|
committer | msquare <msquare@notrademark.de> | 2018-08-19 16:44:33 +0200 |
commit | 2391952437b2e48d5e6cd2eb7b647f3eb3c3bf56 (patch) | |
tree | 36f1ac1ebbbbdd97f385f995698bed3b624b799e | |
parent | d243090fea52b68a5ad5d55a5927ca95b5bf8bb1 (diff) |
initial Docker stuff
-rw-r--r-- | Dockerfile | 31 | ||||
-rw-r--r-- | Dockerfile-proxy | 2 | ||||
-rw-r--r-- | docker-compose.yml | 37 | ||||
-rw-r--r-- | nginx.conf | 34 |
4 files changed, 104 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..a45633f5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,31 @@ +FROM composer AS composer +COPY composer.json /app/ +RUN composer install + + +FROM node:8-alpine as themes +WORKDIR /app +RUN npm install -g less +COPY --from=composer /app/vendor /app/vendor +COPY public/ /app/public +COPY themes/ /app/themes +RUN sh /app/themes/build-themes.sh + +FROM php:7-fpm-alpine +RUN apk add --no-cache icu-dev +RUN docker-php-ext-install intl +RUN apk add --no-cache gettext-dev +RUN docker-php-ext-install gettext +RUN docker-php-ext-install pdo_mysql + +COPY --from=composer /app/vendor /var/www/vendor +COPY --from=themes /app/public/ /var/www/html +COPY src/ /var/www/src/ +COPY includes/ /var/www/includes/ +COPY config/ /var/www/config/ +COPY locale/ /var/www/locale +COPY templates/ /var/www/templates + +# Symlink gets copied so we delete the symlink. +RUN rm /var/www/html/vendor/bootstrap +COPY vendor/twbs/bootstrap/dist/ /var/www/html/vendor/bootstrap/ diff --git a/Dockerfile-proxy b/Dockerfile-proxy new file mode 100644 index 00000000..b846f218 --- /dev/null +++ b/Dockerfile-proxy @@ -0,0 +1,2 @@ +FROM nginx:alpine +COPY nginx.conf /etc/nginx/nginx.conf diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..de18805e --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,37 @@ +version: "3.3" +services: + nginx: + build: + context: . + dockerfile: Dockerfile-proxy + ports: + - 5000:80 + volumes: + - static:/var/www/html + engelsystem: + build: ./ + environment: + MYSQL_HOST: db + MYSQL_USER: engelsystem + MYSQL_PASSWORD: engelsystem + MYSQL_DATABASE: engelsystem + volumes: + - static:/var/www/html + db: + image: mariadb:latest + environment: + MYSQL_DATABASE: engelsystem + MYSQL_USER: engelsystem + MYSQL_PASSWORD: engelsystem + MYSQL_RANDOM_ROOT_PASSWORD: 1 + volumes: + - db:/var/lib/mysql + # used for initial database stuff + # adminer: + # image: adminer + # restart: always + # ports: + # - 8080:8080 +volumes: + db: {} + static: {}
\ No newline at end of file diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 00000000..b8e69b00 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,34 @@ +error_log stderr; +events { + worker_connections 1024; +} +http { + client_body_temp_path /tmp/client_body_temp; + fastcgi_temp_path /tmp/fastcgi_temp; + proxy_temp_path /tmp/proxy_temp; + scgi_temp_path /tmp/scgi_temp; + uwsgi_temp_path /tmp/uwsgi_temp; + + server { + include mime.types; + access_log off; + listen [::]:80 ipv6only=off; + proxy_redirect off; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + index index.php; + root /var/www/html; + + location / { + try_files $uri $uri/index.php; + } + + location ~ \.php$ { + fastcgi_pass engelsystem:9000; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + include fastcgi_params; + } + } +} |