From a895fbb2641f2e9a6d1ab9a039b9ddac6c6dd899 Mon Sep 17 00:00:00 2001 From: ngthanhvu Date: Mon, 10 Aug 2026 03:16:31 -0400 Subject: [PATCH] feat(docker): restructure Docker setup with new Dockerfiles and docker-compose files --- .dockerignore => docker/.dockerignore | 0 Dockerfile.dev => docker/Dockerfile | 0 Dockerfile => docker/Dockerfile.prod | 0 docker/docker-compose.prod.yml | 45 +++++++++++++++++++ .../docker-compose.yml | 6 +-- 5 files changed, 48 insertions(+), 3 deletions(-) rename .dockerignore => docker/.dockerignore (100%) rename Dockerfile.dev => docker/Dockerfile (100%) rename Dockerfile => docker/Dockerfile.prod (100%) create mode 100644 docker/docker-compose.prod.yml rename docker-compose.yml => docker/docker-compose.yml (92%) diff --git a/.dockerignore b/docker/.dockerignore similarity index 100% rename from .dockerignore rename to docker/.dockerignore diff --git a/Dockerfile.dev b/docker/Dockerfile similarity index 100% rename from Dockerfile.dev rename to docker/Dockerfile diff --git a/Dockerfile b/docker/Dockerfile.prod similarity index 100% rename from Dockerfile rename to docker/Dockerfile.prod diff --git a/docker/docker-compose.prod.yml b/docker/docker-compose.prod.yml new file mode 100644 index 0000000..fbe2179 --- /dev/null +++ b/docker/docker-compose.prod.yml @@ -0,0 +1,45 @@ +services: + mysql: + image: mysql:8.0 + container_name: cinek-mysql + restart: unless-stopped + environment: + MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-rootpassword} + MYSQL_DATABASE: ${MYSQL_DATABASE:-cinek} + MYSQL_USER: ${MYSQL_USER:-cinek} + MYSQL_PASSWORD: ${MYSQL_PASSWORD:-cinekpassword} + ports: + - "3306:3306" + volumes: + - mysql_data:/var/lib/mysql + + redis: + image: redis:7-alpine + container_name: cinek-redis + restart: unless-stopped + ports: + - "6379:6379" + volumes: + - redis_data:/data + + cinek: + build: + context: .. + dockerfile: docker/Dockerfile.prod + container_name: cinek + restart: unless-stopped + environment: + NODE_ENV: production + HOST: 0.0.0.0 + PORT: 3002 + DATABASE_URL: ${DATABASE_URL} + REDIS_URL: ${REDIS_URL} + ports: + - "3002:3002" + depends_on: + - mysql + - redis + +volumes: + mysql_data: + redis_data: diff --git a/docker-compose.yml b/docker/docker-compose.yml similarity index 92% rename from docker-compose.yml rename to docker/docker-compose.yml index a2c48f4..a971faa 100644 --- a/docker-compose.yml +++ b/docker/docker-compose.yml @@ -24,8 +24,8 @@ services: cinek: build: - context: . - dockerfile: Dockerfile + context: .. + dockerfile: docker/Dockerfile container_name: cinek restart: unless-stopped environment: @@ -36,7 +36,7 @@ services: ports: - "3002:3002" volumes: - - .:/app + - ../:/app - /app/node_modules depends_on: - mysql