From 8558f5e97937b5e940399b9447bfbc4c60ce6e06 Mon Sep 17 00:00:00 2001 From: Sonny Date: Tue, 24 Oct 2023 16:55:20 +0200 Subject: [PATCH] chore: update docker & makefile --- .dockerignore | 10 +++++- docker/Dockerfile => Dockerfile | 3 +- docker/makefile => Makefile | 7 ++-- ...cker-compose.yml => dev.docker-compose.yml | 4 +-- docker-compose.yml | 28 +++++++++++++++ docker-config/mysql-dev-init.sql | 1 + docker/docker-compose.yml | 36 ------------------- example.env | 2 +- 8 files changed, 44 insertions(+), 47 deletions(-) rename docker/Dockerfile => Dockerfile (58%) rename docker/makefile => Makefile (79%) rename docker/dev.docker-compose.yml => dev.docker-compose.yml (79%) create mode 100644 docker-compose.yml create mode 100644 docker-config/mysql-dev-init.sql delete mode 100644 docker/docker-compose.yml diff --git a/.dockerignore b/.dockerignore index 67a0e32..82056f3 100644 --- a/.dockerignore +++ b/.dockerignore @@ -2,4 +2,12 @@ node_modules .env .next .vscode -example.env \ No newline at end of file +example.env + +# Additional good to have ignores for dockerignore +Dockerfile* +docker-compose* +.dockerignore +*.md +.git +.gitignore diff --git a/docker/Dockerfile b/Dockerfile similarity index 58% rename from docker/Dockerfile rename to Dockerfile index 72d38f3..db7bd09 100644 --- a/docker/Dockerfile +++ b/Dockerfile @@ -4,9 +4,8 @@ WORKDIR /app COPY ./ /app RUN npm install -RUN npx prisma generate RUN npm run build EXPOSE 3000 -CMD npx prisma migrate deploy && npm run start \ No newline at end of file +CMD npx prisma migrate deploy && npm run start diff --git a/docker/makefile b/Makefile similarity index 79% rename from docker/makefile rename to Makefile index 4f4fa83..26364c2 100644 --- a/docker/makefile +++ b/Makefile @@ -14,8 +14,5 @@ start-dev: @echo 'Dont forget to do migrations before run dev' -start-prod: - docker-compose --env-file ../.env -f ./docker-compose.yml up -d - -build: - docker build -f ./Dockerfile -t sonny/my-links ../ +prod: + docker compose up -d --build diff --git a/docker/dev.docker-compose.yml b/dev.docker-compose.yml similarity index 79% rename from docker/dev.docker-compose.yml rename to dev.docker-compose.yml index bab30c0..7164c2f 100644 --- a/docker/dev.docker-compose.yml +++ b/dev.docker-compose.yml @@ -4,7 +4,7 @@ services: my-links-dev-db: image: mysql:latest restart: always - env_file: - - ../.env + env_file: + - .env ports: - 3306:3306 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..c6e5b36 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,28 @@ +version: "3.8" + +volumes: + db_volume_data: + driver: local + +services: + mylinks_db: + image: mysql:latest + restart: always + volumes: + - db_volume_data:/var/lib/postgresql/data + - ./docker-config/mysql-dev-init.sql:/docker-entrypoint-initdb.d/init.sql + env_file: + - .env + + mylinks: + restart: always + container_name: MyLinks + build: + context: . + ports: + - 3000:3000 + env_file: + - .env + depends_on: + mylinks_db: + condition: service_started diff --git a/docker-config/mysql-dev-init.sql b/docker-config/mysql-dev-init.sql new file mode 100644 index 0000000..7cb857c --- /dev/null +++ b/docker-config/mysql-dev-init.sql @@ -0,0 +1 @@ +CREATE DATABASE mylinks; \ No newline at end of file diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml deleted file mode 100644 index 82f74cf..0000000 --- a/docker/docker-compose.yml +++ /dev/null @@ -1,36 +0,0 @@ -version: "3.8" - -volumes: - db_volume_data: - driver: local - -networks: - my_links_net: - name: my_links_net - -services: - my-links-db: - image: mysql:latest - restart: always - volumes: - - db_volume_data:/var/lib/postgresql/data - env_file: - - ../.env - networks: - - my_links_net - - my-links: - image: sonny/my-links:latest - container_name: MyLinks - ports: - - 3000:3000 - restart: always - env_file: - - ../.env - environment: - DATABASE_URL: "mysql://${MYSQL_USER}:${MYSQL_PASSWORD}@my-links-db:3306/${MYSQL_DATABASE}" - depends_on: - my-links-db: - condition: service_started - networks: - - my_links_net diff --git a/example.env b/example.env index d811e80..87f683a 100644 --- a/example.env +++ b/example.env @@ -1,7 +1,7 @@ MYSQL_USER="my-user" MYSQL_PASSWORD="my-user_passwd" MYSQL_ROOT_PASSWORD="root_passwd" -MYSQL_DATABASE="MyLinks" +MYSQL_DATABASE="mylinks" # Or if you need external Database # DATABASE_IP="localhost"