From fca2f44231b4b7c5657a1d4b19c70b563655a294 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20REYNAUD?= Date: Wed, 27 May 2020 16:22:38 +0200 Subject: [PATCH] Add Docker --- docker/.gitignore | 1 + docker/Dockerfile | 11 +++++++++++ docker/docker-compose.yml | 14 ++++++++++++++ docker/start.sh | 20 ++++++++++++++++++++ 4 files changed, 46 insertions(+) create mode 100644 docker/.gitignore create mode 100644 docker/Dockerfile create mode 100644 docker/docker-compose.yml create mode 100755 docker/start.sh diff --git a/docker/.gitignore b/docker/.gitignore new file mode 100644 index 0000000..4c49bd7 --- /dev/null +++ b/docker/.gitignore @@ -0,0 +1 @@ +.env diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..a95c00a --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,11 @@ +FROM php:7.4-cli-alpine + +RUN apk add \ + libzip-dev \ + oniguruma-dev + +RUN docker-php-ext-install \ + zip \ + mbstring \ + iconv \ + fileinfo diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 0000000..b1f053d --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,14 @@ +version: '3' + +services: + php: + build: + context: . + user: "${USER_ID}:${GROUP_ID}" + volumes: + - ..:/var/www/html + - "${ROOT_PATH}:/var/www/html/data" + restart: "no" + ports: + - "${PORT:-8000}:8000" + command: php -S 0.0.0.0:8000 -t /var/www/html/data /var/www/html/tinyfilemanager.php diff --git a/docker/start.sh b/docker/start.sh new file mode 100755 index 0000000..2c2e11f --- /dev/null +++ b/docker/start.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +set -e + +if [[ ! -f ".env" ]]; then + echo "COMPOSE_PROJECT_NAME=tinyfilemanager" >> .env + + root_path="" + while [[ "${root_path}" == "" ]]; do + read -p "Define the root path: " root_path + done + + echo "ROOT_PATH=${root_path}" >> .env + echo "USER_ID=$(id -u)" >> .env + echo "GROUP_ID=$(id -g)" >> .env +fi + +docker-compose stop +docker-compose build --parallel +docker-compose up -d --remove-orphans