Umrah App
Clone repo
root@debianMaster:~# mkdir rihlatul-app
root@debianMaster:~# cd rihlatul-app
root@debianMaster:~/rihlatul-app# git clone https://github.com/SMKMADINATULQURAN-PROJECT-2023/FE-Kelompok-Umroh.git
root@debianMaster:~/rihlatul-app# git clone https://github.com/SMKMADINATULQURAN-PROJECT-2023/BE-Kelompok-Umroh.git
Membuat file .envproduction untuk FE
# SECRET KEY
NEXTAUTH_SECRET=dofbhkgjnosjgdklnsmgojdfkhglnsgnvfvsdkn
# REDIRECT URL (WEB'S URL)
NEXTAUTH_URL=http://192.168.10.1:5555
# URL API
Membuat file .envBE untuk BE
NODE_ENV = development
PORT = 3306
PORT_API = 5002
BASE_CLIENT_URL = http://192.168.10.1:5555
DB_USERNAME_DEV = 'umroh48'
DB_PASSWORD_DEV = '1234'
DB_NAME_DEV = 'smkm1712_umroh_DB'
DB_HOST_DEV = '202.83.120.91'
DB_DIALECT_DEV = mysql
DB_USERNAME = 'root'
DB_PASSWORD = ''
DB_NAME = 'umrah'
DB_HOST = '127.0.0.1'
DB_DIALECT = mysql
DB_USERNAME_TEST = 'root'
DB_PASSWORD_TEST = 'secret'
DB_NAME_TEST = 'u8767111_rihlatul'
DB_HOST_TEST = '192.168.10.1'
DB_DIALECT_TEST = mysql
MAIL_HOST = mail.smkmadinatulquran.sch.id
MAIL_PORT = 465
MAIL_USERNAME = latihan-email@smkmadinatulquran.sch.id
MAIL_PASSWORD = IHSAN$%09
MAIL_CLIENT_URL = http://localhost:1214/
JWT_SECRET = ghfjdkjnojsighijknlzsofjihgudhkggnsghsjmjfshogdfgn
ACCESS_TOKEN_SECRET = 5Np9LmQaJxTb2rY3sC8K6z7W1GvF0U4IhDqXoAeP
REFRESH_TOKEN_SECRET = 4Fh9YkTl8QjR2sA6gP5nDm7WqV1zX3cB0
JWT_EXPIRED = 3600
CLOUD_NAME = "dllw0z7bh"
API_KEY = "576412332728459"
API_SECRET = "IAuPjdvPxCFUcjmDjOZ4yd29leU"
Membuat Dockerfile dan .dockerignore di FE
FROM node:18
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
CMD npm run start
Membuat Dockerfile dan .dockerignore di BE
FROM node:18
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
CMD node dist/main --host
Membuat file dump untuk BE
arena BE butuh database dengan nama u87....
sebagaimana yang ada di file env, maka ketika kita membuat docker mysql, otomatis akan membuatkan database tersebut. Oleh karena itu, kita harus membuat dahulu file sql, yang akan dijalankan oleh docker mysql ketika running diawal.
- Membuat folder dump didalam rihlatul-app/umrohDB
- Membuat file u8767111_rihlatul.sql didalam folder dump
root@debianMaster:~/rihlatul-app# mkdir -p umrohDB/dump
root@debianMaster:~/rihlatul-app# nano umrohDB/dump/u8767111_rihlatul.sql
Membuat compose.yaml
services:
db:
image: mysql:latest
container_name: db
ports:
- 3306:3306
volumes:
- ./umrohDB/dump:/docker-entrypoint-initdb.d
- ./umrohDB/dbdata:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: secret
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: pma
links:
- db
environment:
PMA_HOST: db
PMA_PORT: 3306
PMA_ARBITRARY: 1
restart: always
ports:
- 8081:80
be:
build:
context: BE-Kelompok-Umroh/
dockerfile: Dockerfile
env_file:
- .envBE
container_name: nest-docker-mysql
ports:
- '5002:5002'
depends_on:
- db
volumes:
- ./BE-Kelompok-Umroh/src:/app/src
fe:
build:
context: FE-Kelompok-Umroh/
dockerfile: Dockerfile
env_file:
- ./FE-Kelompok-Umroh/.envproduction
container_name: umrah-fe
ports:
- '5555:5555'
links:
- be
volumes:
- /app/node_module
Menjalankan docker compose
Tes di Browser