From 1d22b41fbafd198938ab25a14b1977035912d3b7 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Sun, 19 Nov 2023 16:14:04 +0100 Subject: [PATCH] docker files --- docker-compose.yml | 39 +++++++++++++++++++++++++++++++++++++++ docker/Dockerfile.mariadb | 1 + docker/Dockerfile.nginx | 3 +++ docker/Dockerfile.php | 5 +++++ nginx/default.conf | 26 ++++++++++++++++++++++++++ nginx/log/.gitignore | 2 ++ 6 files changed, 76 insertions(+) create mode 100644 docker-compose.yml create mode 100644 docker/Dockerfile.mariadb create mode 100644 docker/Dockerfile.nginx create mode 100644 docker/Dockerfile.php create mode 100644 nginx/default.conf create mode 100644 nginx/log/.gitignore diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..58a14bf --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,39 @@ +version: "3.4" + +services: + mariadb: + build: + context: ./docker + dockerfile: ./Dockerfile.mariadb + environment: + #- MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=1 + - MARIADB_ROOT_PASSWORD=SECRET + - MARIADB_USER=web + ports: + - 3306:3306 + volumes: + - db_vol:/var/lib/mysql + + php: + build: + context: . + dockerfile: ./docker/Dockerfile.php + volumes: + - ./:/app + user: "1000" + + nginx: + build: + context: . + dockerfile: ./docker/Dockerfile.nginx + depends_on: + - php + - mariadb + ports: + - 80:80 + volumes: + - ./nginx/log:/var/log/nginx + - ./:/app + +volumes: + db_vol: \ No newline at end of file diff --git a/docker/Dockerfile.mariadb b/docker/Dockerfile.mariadb new file mode 100644 index 0000000..3775d47 --- /dev/null +++ b/docker/Dockerfile.mariadb @@ -0,0 +1 @@ +FROM mariadb:latest diff --git a/docker/Dockerfile.nginx b/docker/Dockerfile.nginx new file mode 100644 index 0000000..60c9d87 --- /dev/null +++ b/docker/Dockerfile.nginx @@ -0,0 +1,3 @@ +FROM nginx:latest + +COPY ../nginx/default.conf /etc/nginx/conf.d/default.conf \ No newline at end of file diff --git a/docker/Dockerfile.php b/docker/Dockerfile.php new file mode 100644 index 0000000..456ef11 --- /dev/null +++ b/docker/Dockerfile.php @@ -0,0 +1,5 @@ +FROM php:8.2-fpm-alpine + +# RUN docker-php-ext-install pdo pdo_mysql mbstring +# RUN apk add sqlite +RUN docker-php-ext-install session mysqli \ No newline at end of file diff --git a/nginx/default.conf b/nginx/default.conf new file mode 100644 index 0000000..e435834 --- /dev/null +++ b/nginx/default.conf @@ -0,0 +1,26 @@ +server { + listen 80 default_server; + listen [::]:80 default_server; + + root /app; + index index.php; + + rewrite ^(.*)/webfonts/(.*)$ /lib/system/lib/font_awesome/lib/webfonts/$2; + rewrite ^sai$ /sai.php$1; + rewrite ^(.*)/files/([^/]+)/([^/]+)$ /api.php?call=files&cat=$2&id=$3; + rewrite ^/cache/([^/]+)/([^/]+)$ /api.php?call=cache&id=$1&ident=$2; + + location / { + try_files $uri $uri/ =404; + + location ~ \.php$ { + fastcgi_split_path_info ^(.+\.php)(/.+)$; + fastcgi_pass php:9000; + fastcgi_index index.php; + include fastcgi_params; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param SCRIPT_NAME $fastcgi_script_name; + fastcgi_param PATH_INFO $fastcgi_path_info; + } + } +} \ No newline at end of file diff --git a/nginx/log/.gitignore b/nginx/log/.gitignore new file mode 100644 index 0000000..c96a04f --- /dev/null +++ b/nginx/log/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore \ No newline at end of file