summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarudor <marudor@marudor.de>2018-02-08 22:56:44 +0100
committermsquare <msquare@notrademark.de>2018-08-19 16:44:33 +0200
commit2391952437b2e48d5e6cd2eb7b647f3eb3c3bf56 (patch)
tree36f1ac1ebbbbdd97f385f995698bed3b624b799e
parentd243090fea52b68a5ad5d55a5927ca95b5bf8bb1 (diff)
initial Docker stuff
-rw-r--r--Dockerfile31
-rw-r--r--Dockerfile-proxy2
-rw-r--r--docker-compose.yml37
-rw-r--r--nginx.conf34
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;
+ }
+ }
+}