From 2b061c5f651eb2e6163ec775ee0807648f0a15c3 Mon Sep 17 00:00:00 2001 From: Stephan <57194608+stephan418@users.noreply.github.com> Date: Thu, 2 Dec 2021 10:44:52 +0100 Subject: [PATCH] Add a docker dev environment that starts a container without building the image + Add dev.sh script to start the dev environment + Add generated flags to the .gitignore file --- .gitignore | 5 ++++- dev.sh | 26 ++++++++++++++++++++++++++ scripts/docker-entrypoint.dev.sh | 13 +++++++++++++ 3 files changed, 43 insertions(+), 1 deletion(-) create mode 100755 dev.sh create mode 100755 scripts/docker-entrypoint.dev.sh diff --git a/.gitignore b/.gitignore index a674f3d..f3b78d7 100644 --- a/.gitignore +++ b/.gitignore @@ -107,4 +107,7 @@ dist prisma/migrations # Ignore config files for docker -host/ \ No newline at end of file +host/ + +# Ignore flags +INITIALIZED diff --git a/dev.sh b/dev.sh new file mode 100755 index 0000000..6675d41 --- /dev/null +++ b/dev.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +DATABASE_PASSWORD=server docker-compose up -d mail postgres redis + +if [ ! "$(docker ps -a | grep server_dev)" ]; then + echo Creating "server_dev" container + + docker run -it \ + --name server_dev \ + --mount type=bind,source="$(pwd)",target=/app \ + --network server_default \ + -p 3000:3000 -e PORT=3000 \ + -e DATABASE_URL="postgresql://server:server@postgres:5432/management?schema=public" \ + -e DATABASE_USER=server \ + -e DATABASE_PASSWORD=server \ + --entrypoint "/app/scripts/docker-entrypoint.dev.sh" \ + node +else + echo "Container \"server_dev\" already exists; Starting container" + + docker start -ia server_dev +fi + +# After container termination + +docker-compose stop diff --git a/scripts/docker-entrypoint.dev.sh b/scripts/docker-entrypoint.dev.sh new file mode 100755 index 0000000..02a4c50 --- /dev/null +++ b/scripts/docker-entrypoint.dev.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +if ! test -f INITIALIZED; then + touch INITIALIZED + + cd /app + + npm i -g ts-node nodemon + npm i + npx prisma db push +fi + +nodemon /app/src/app.ts