- NodeJS v22
- Yarn
- Proxy Server (e.g Nginx)
- PostgreSQL v14
- PM2 Process Manager
- Cloning repository dari magis.
- Install semua dependency.
yarn install-
Copy env.example ke .env.
-
Atur config sesuai kebutuhan.
APP_PORT=3000 MODE=dev DB_HOST=localhost DB_PORT=5432 DB_USER=postgres DB_PASSWORD=postgres DB_NAME=inventory JWT_SECRET=superrahasia_dan_unik
- Atur proxy pada vite.config.ts ke arah port API
...
server: {
proxy: {
'/api': 'http://localhost:3000'
}
},
...- Build app.
yarn build- Copy env.example & package.json ke dist/api/
- Pindahkan semua isi folder dist ke server.
- Install semua dependensi dari API
# Pastikan active directory di API
yarn install- Copy env.example ke .env.
- Atur config sesuai kebutuhan.
APP_PORT=3000
MODE=prod
DB_HOST=localhost
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=postgres
DB_NAME=inventory
JWT_SECRET=superrahasia_dan_unik- Migrasi semua database.
yarn migration:run- Jalankan service API
pm2 start dist/main.js --name api
pm2 save- Setup nginx agar mengarah ke API & Web pada file /etc/nginx/sites-enabled/default.
server {
listen 80;
server_name magis.com; #Domain jika punya
client_max_body_size 100M;
root /home/test/Services/magis/web; # Path Website
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
location /api {
proxy_pass http://127.0.0.1:3000/api; # Arahkan ke API
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}- Test config nginx
sudo nginx -t- Reload nginx
sudo nginx -s reload