From 38ac797b2dac1d33690913c5297f088e746a86b7 Mon Sep 17 00:00:00 2001 From: David Trattnig <david.trattnig@o94.at> Date: Thu, 6 May 2021 16:05:55 +0200 Subject: [PATCH] Initial docker config. #12 --- .dockerignore | 3 +++ Dockerfile | 21 +++++++++++++++++++++ run.sh | 32 ++++++++++++++++++++++++++++---- 3 files changed, 52 insertions(+), 4 deletions(-) create mode 100644 .dockerignore create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..0e4f06c --- /dev/null +++ b/.dockerignore @@ -0,0 +1,3 @@ +.git +node_modules +dist diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..efa26b1 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ +FROM node:lts-alpine AS base + +LABEL maintainer="David Trattnig <david.trattnig@subsquare.at>" + +# Base Stage + +WORKDIR /aura +COPY package*.json ./ +RUN npm install + +# Development Stage + +FROM base AS dev +EXPOSE 5000 +CMD ["./run.sh", "dev"] + +# Production Stage + +FROM base AS prod +COPY . . +CMD ["./run.sh", "build"] \ No newline at end of file diff --git a/run.sh b/run.sh index 4f2ab61..6f38920 100755 --- a/run.sh +++ b/run.sh @@ -11,7 +11,7 @@ docker="false" # - build # -if [[ $* =~ ^(dev|build)$ ]]; then +if [[ $* =~ ^(dev|build|push)$ ]]; then mode=$1 fi @@ -42,14 +42,38 @@ if [[ $docker == "false" ]]; then npm run build fi - fi # +++ DOCKER COMMANDS +++ # if [[ $docker == "true" ]]; then - BASE_D=$(realpath "${BASH_SOURCE%/*}/") + BASE_DIR=$(readlink -f .) + echo "Absolute base dir: " $BASE_DIR + + ### Start local development server ### + + if [[ $mode == "dev" ]]; then + #TODO docker run command for dev server (See dev stage in Dockerfile) + echo "Missing implementation" + fi + + ### Create build for use in production ### + + if [[ $mode == "prod" ]]; then + #TODO docker run command for prod build (See prod stage in Dockerfile) + echo "Missing implementation" + fi + + ### Create Docker Image from local project ### - # ~~~ 404 ~~~ + if [[ $mode == "build" ]]; then + docker build -t autoradio/engine-clock . + fi + + ### Pushes the latest Docker Image to Docker Hub ### + + if [[ $mode == "push" ]]; then + docker push autoradio/engine-clock + fi fi \ No newline at end of file -- GitLab