diff --git a/docker/dev/Dockerfile b/docker/dev/Dockerfile index 9615991..6b4c9de 100644 --- a/docker/dev/Dockerfile +++ b/docker/dev/Dockerfile @@ -6,7 +6,7 @@ COPY . . # Install dependencies RUN chmod +x ./post-install.sh -RUN npm ci +RUN npm ci --also=dev ENV NODE_ENV=development diff --git a/docker/prod/Dockerfile b/docker/prod/Dockerfile index 635288f..d280ac3 100644 --- a/docker/prod/Dockerfile +++ b/docker/prod/Dockerfile @@ -8,6 +8,6 @@ ENV NODE_ENV=production # Install dependencies RUN chmod +x ./post-install.sh -RUN npm ci +RUN npm ci --also=dev CMD ["/bin/sh", "-c", "npm run prod"] diff --git a/docker/prod/docker-compose.yml b/docker/prod/docker-compose.yml new file mode 100644 index 0000000..cef9602 --- /dev/null +++ b/docker/prod/docker-compose.yml @@ -0,0 +1,7 @@ +services: + backend: + image: letehaha/budget-tracker-be + ports: + - '8081:8081' + environment: + - NODE_ENV=production diff --git a/docker/test/Dockerfile b/docker/test/Dockerfile index ee27976..d664494 100644 --- a/docker/test/Dockerfile +++ b/docker/test/Dockerfile @@ -10,7 +10,7 @@ COPY package*.json ./ COPY post-install.sh ./ COPY docker ./docker RUN chmod +x ./post-install.sh -RUN npm ci +RUN npm ci --also=dev # Copy the rest of the application COPY . . diff --git a/package-lock.json b/package-lock.json index e36d135..a0fb04c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,6 +16,7 @@ "config": "3.3.11", "connect-redis": "5.0.0", "cors": "2.8.5", + "cross-env": "^7.0.3", "crypto-js": "4.2.0", "currency-codes": "2.1.0", "date-fns": "3.6.0", @@ -54,7 +55,6 @@ "@types/validator": "13.11.9", "@typescript-eslint/eslint-plugin": "6.10.0", "@typescript-eslint/parser": "6.10.0", - "cross-env": "7.0.3", "eslint": "7.31.0", "eslint-config-airbnb-base": "14.2.1", "eslint-import-resolver-alias": "1.1.2", @@ -3153,7 +3153,6 @@ "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", - "dev": true, "dependencies": { "cross-spawn": "^7.0.1" }, diff --git a/package.json b/package.json index 84477e4..6e39e44 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "docker:dev:destroy": "./docker/dev/docker-destroy.sh", "docker:dev:run-in-container": "docker compose --env-file .env.development -f ./docker/dev/docker-compose.yml exec app", "docker:prod:build": "docker build . -t letehaha/budget-tracker-be -f ./docker/prod/Dockerfile", + "docker:prod:preview": "docker compose --env-file .env.development -f ./docker/prod/docker-compose.yml up -d", "docker:prod:push": "docker push letehaha/budget-tracker-be", "docker:prod:build-push": "npm run docker-build && npm run docker-push", "postinstall": "chmod +x ./post-install.sh && ./post-install.sh",