# serve in windows

## install nvm , node
install nvm in windows : 
    - downlowd  nvm-setup.exe : https://github.com/coreybutler/nvm-windows/releases
    - install  nvm-setup.exe

install node 24.0.0 :
    nvm install 24.0.0    
    nvm use 24.0.0

## install node_modules
serve 
```
    git clone --recurse-submodules https://git2.tavasi.ir/nuxt_v4/front2.git    
    cd front2
    npm install

    npm run dev-monir
```

# build to ubuntu server
  
 #build in local windows :
      - ?? r&d  ?? : #NUXT_PUBLIC_BASE_URL=http://192.168.23.160/
      - npm run build-monir
          -- r&d : زمان بیلد بسیار زیاد چرا ؟

sudo apt update
sudo apt install -y curl git
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm --version
nvm install 24.0.0
nvm use --lts
nvm alias default lts/*
npm install -g pm2
PORT=3000 pm2 start .output/server/index.mjs --name "nuxt-app"
pm2 save
pm2 startup
http://192.168.23.103:3000/dashboard/base


install nvm in ubuntu : 
      - ????

install node 24.0.0 :
      - ???

 run server :
    1.  npm install -g pm2
    2.  pm2 start .output/server/index.mjs --name "nuxt-app"  
    2. port :  PORT=3003 pm2 start .output/server/index.mjs --name "nuxt-app"
    3.  pm2 save
    4.  pm2 startup


restart : 
    pm2 restart "???-app"




####
PORT=3000 HOST=0.0.0.0 pm2 start .output/server/index.mjs --name test-nuxt
pm2 list
pm2 delete test-nuxt


می‌تونم یک **ردمی کامل برای نصب، آپدیت و اجرای Nuxt روی اوبونتو** بر اساس توضیحات شما آماده کنم. این شامل نصب NVM، Node.js، PM2 و راه‌اندازی سرور است:

---

# راهنمای نصب و اجرا روی Ubuntu

### ۱. به‌روزرسانی سیستم و نصب پیش‌نیازها

```bash
sudo apt update
sudo apt install -y curl git build-essential
```

---

### ۲. نصب NVM (Node Version Manager)

```bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm --version
```

> اگر بعد از `source ~/.bashrc` دستور `nvm` را نشناخت، ترمینال را ببندید و دوباره باز کنید.

---

### ۳. نصب Node.js 24 و انتخاب آن به عنوان پیش‌فرض

```bash
nvm install 24
nvm use 24
nvm alias default 24
node -v
npm -v
```

---

### ۴. نصب PM2 برای مدیریت فرآیند‌ها

```bash
npm install -g pm2
pm2 -v
```

---

### ۵. کلون پروژه Nuxt و نصب وابستگی‌ها

```bash
git clone --recurse-submodules https://git2.tavasi.ir/nuxt_v4/base_ui.git
cd base_ui
npm install
```

---

### ۶. اجرای محیط توسعه (Development)

```bash
npm run dev-monir
```

> سرور روی `http://localhost:3000` یا IP ماشین شما قابل دسترسی است.

---

### ۷. ساخت برنامه برای تولید (Build)

```bash
# اگر نیاز به تغییر متغیر محیطی دارید:
export NUXT_PUBLIC_BASE_URL=http://192.168.23.160/

npm run build-monir
```

> ⚠️ زمان بیلد طولانی می‌تواند به دلیل حجم پروژه یا سیستم باشد. برای کاهش زمان، از `pnpm` یا استفاده از Docker cache هم می‌توان کمک گرفت.

---

### ۸. اجرای برنامه روی سرور با PM2 (Production)

```bash
# نصب اگر قبلا انجام نشده:
npm install -g pm2

# اجرای برنامه با پورت مشخص
PORT=3000 HOST=0.0.0.0 pm2 start .output/server/index.mjs --name "nuxt-app"

# ذخیره وضعیت pm2 برای اجرای خودکار پس از ریبوت
pm2 save
pm2 startup
```

> بعد از اجرای `pm2 startup`، دستور نمایش داده شده را کپی و اجرا کنید تا PM2 روی بوت اوبونتو فعال شود.

---

### ۹. دسترسی

به مرورگر بروید و آدرس زیر را باز کنید:

```
http://<IP-Server>:3000/dashboard/base
```

---

💡 **نکات تکمیلی:**

* برای بروزرسانی Node.js:

```bash
nvm install 24 --reinstall-packages-from=24
nvm use 24
```

* اگر می‌خواهید تغییرات در کد بدون ریستارت دستی سرور اعمال شود، از `pm2 reload nuxt-app` استفاده کنید.




٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫  جایگذینی ورژن جدید ٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫٫

1.
npm run build {buid name project} 

2.
نصب نرم افزار winscp و لاگین کردن در سرور و جایگذینی فایل output جدید

3.
با دستورات زیر در ترمینال جایگذاری انجام میگردد

   ssh sabr@192.168.23.103

   sabr@frant:~$ pm2 restart nuxt-app




# نکاتی برای استفاده از npm mirror  


### سایتها

https://parswebserver.com/mirror-storages-for-pip/

https://mirror-npm.runflare.com/
https://mirror-pypi.runflare.com/
https://archive.ito.gov.ir/npm/


npm install --registry https://registry.npmmirror.com express

npm config set registry "https://archive.ito.gov.ir/npm/" 









>> npm config list

; "project" config from H:\my_mindmap\my-nuxt-project\.npmrc

@baghi330:registry = "https://npm.pkg.github.com/"
//npm.pkg.github.com/:_authToken = (protected)

; node bin location = C:\Program Files\nodejs\node.exe      
; node version = v22.13.1
; npm local prefix = H:\my_mindmap\my-nuxt-project
; npm version = 11.3.0
; cwd = H:\my_mindmap\my-nuxt-project
; HOME = C:\Users\user
; Run `npm config ls -l` to show all defaults.   