summaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorIgor Scheller <igor.scheller@igorshp.de>2018-08-12 16:23:35 +0200
committermsquare <msquare@notrademark.de>2018-08-19 16:44:33 +0200
commit8ed3ed3a77a46997e5afa8915bb9ee77c8caf249 (patch)
tree3a5ab54b2c0e0b1a3a45ef469604ef86df7f4664 /contrib
parentd7ba51b3ecea3d6be6dc80677aa8d92a301109f1 (diff)
Moved docker files to contrib, added documentation
Diffstat (limited to 'contrib')
-rw-r--r--contrib/Dockerfile31
-rw-r--r--contrib/docker-compose.yml45
-rw-r--r--contrib/nginx/Dockerfile2
-rw-r--r--contrib/nginx/nginx.conf35
4 files changed, 113 insertions, 0 deletions
diff --git a/contrib/Dockerfile b/contrib/Dockerfile
new file mode 100644
index 00000000..a45633f5
--- /dev/null
+++ b/contrib/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/contrib/docker-compose.yml b/contrib/docker-compose.yml
new file mode 100644
index 00000000..9048fb49
--- /dev/null
+++ b/contrib/docker-compose.yml
@@ -0,0 +1,45 @@
+version: "3.6"
+services:
+ nginx:
+ image: engelsystem-nginx
+ build:
+ context: ..
+ dockerfile: contrib/nginx/Dockerfile
+ ports:
+ - 5000:80
+ volumes:
+ - static:/var/www/html
+ depends_on:
+ - engelsystem
+ engelsystem:
+ image: engelsystem
+ build:
+ context: ..
+ dockerfile: contrib/Dockerfile
+ environment:
+ MYSQL_HOST: database
+ MYSQL_USER: engelsystem
+ MYSQL_PASSWORD: engelsystem
+ MYSQL_DATABASE: engelsystem
+ volumes:
+ - static:/var/www/html
+ depends_on:
+ - database
+ database:
+ 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: {}
diff --git a/contrib/nginx/Dockerfile b/contrib/nginx/Dockerfile
new file mode 100644
index 00000000..a06ea3e7
--- /dev/null
+++ b/contrib/nginx/Dockerfile
@@ -0,0 +1,2 @@
+FROM nginx:alpine
+COPY contrib/nginx/nginx.conf /etc/nginx/nginx.conf
diff --git a/contrib/nginx/nginx.conf b/contrib/nginx/nginx.conf
new file mode 100644
index 00000000..bbaf5824
--- /dev/null
+++ b/contrib/nginx/nginx.conf
@@ -0,0 +1,35 @@
+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?$args;
+ }
+
+ location ~ \.php$ {
+ fastcgi_pass engelsystem:9000;
+ fastcgi_index index.php;
+ fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
+ fastcgi_param HTTPS on;
+ include fastcgi_params;
+ }
+ }
+}