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