add environment for production

This commit is contained in:
wayanrivan
2025-05-16 09:37:10 +07:00
parent 5b837d8cc2
commit d9ddbd596e
5 changed files with 105 additions and 0 deletions

0
.dockerignore Normal file
View File

46
.woodpecker.yml Normal file
View File

@ -0,0 +1,46 @@
steps:
- name: setup
image: node:22-alpine
commands:
- apk update && apk add git
- npm i typescript -g
- npm install
- echo '✅ success setup project'
when:
branch:
- main
- name: build-swagger
image: node:22-alpine
environment:
NODE_ENV: prod
commands:
- npm run swagger
when:
branch:
- main
- name: build-src
image: node:22-alpine
environment:
NODE_ENV: prod
commands:
- npm i typescript -g
- npm run build:production
- echo '✅ success compile typescript and ready to deploy'
when:
branch:
- main
- name: deploy
image: docker
commands:
- docker builder prune -f
- docker container prune -f
- docker-compose build
- docker-compose up -d --no-deps --build --remove-orphans
volumes:
- /var/run/docker.sock:/var/run/docker.sock
when:
branch:
- main

40
Dockerfile Normal file
View File

@ -0,0 +1,40 @@
FROM node:22-alpine AS base
RUN apk update && apk add git
COPY package.json ./
RUN npm install
#RUN npm install typescript -g
# add folder if needs more
COPY src ./src
# COPY config ./config
# COPY assets ./assets
COPY public ./public
COPY tsconfig.json ./tsconfig.json
ENV NODE_ENV=prod
# RUN npm run swagger
RUN npm run build:production
FROM node:22-alpine
# Copy node modules and build directory from base image to new image
COPY --from=base ./node_modules ./node_modules
COPY --from=base ./package.json ./package.json
COPY --from=base /dist /dist
# COPY --from=base /config /config
# COPY --from=base /config /dist/config
# COPY --from=base /assets /assets
COPY --from=base /src /src
COPY --from=base /public /public
# Expose required port
# CMD ["npm", "run", "start"]
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

View File

@ -496,11 +496,19 @@ const DetailTransaction = () => {
<div className="grid grid-cols-2 gap-4">
<div>
<p className="text-sm text-gray-500">Full Name</p>
<<<<<<< Updated upstream
<p className="font-medium">{transactionDetails?.origin_customer?.origin_name}</p>
</div>
<div>
<p className="text-sm text-gray-500">Phone Number</p>
<p className="font-medium">{transactionDetails?.origin_msisdn}</p>
=======
<p className="font-medium">{transactionDetails?.origin_customer?.fullname ?? transactionDetails?.origin_customer?.origin_name}</p>
</div>
<div>
<p className="text-sm text-gray-500">Phone Number</p>
<p className="font-medium">{transactionDetails?.origin_customer?.msisdn ?? transactionDetails?.origin_msisdn}</p>
>>>>>>> Stashed changes
</div>
<div>
<p className="text-sm text-gray-500">Email</p>

11
⁠docker-compose.yml Normal file
View File

@ -0,0 +1,11 @@
version: '3.9'
services:
api:
image: app-dashboard:1.0.0
container_name: app-dashboard
build: .
command: npm run start
ports:
- '4040:4040' # Specify the exposed port, we will need this to access the app from local machine