diff --git a/.smb/config.toml b/.smb/config.toml index 7257771..2b68ad5 100644 --- a/.smb/config.toml +++ b/.smb/config.toml @@ -12,7 +12,7 @@ source = "." path = "apps/web/smbcloudweb" package_manager = "pnpm" pm2_app = "smbcloud-web" -port = 3028 +port = 3030 deployment_method = 1 created_at = "2025-06-09T17:55:01.800Z" updated_at = "2025-06-09T17:55:01.800Z" diff --git a/README.md b/README.md index 6b57a3e..78d0d1f 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ License
-
+
diff --git a/ecosystem.config.js b/ecosystem.config.js
index 5949757..d1dd0e3 100644
--- a/ecosystem.config.js
+++ b/ecosystem.config.js
@@ -50,7 +50,7 @@ module.exports = {
env_production: {
NODE_ENV: "production",
// The standalone server reads PORT and HOSTNAME from env.
- PORT: "3028",
+ PORT: "3030",
HOSTNAME: "127.0.0.1",
NEXT_TELEMETRY_DISABLED: "1",
diff --git a/nginx/smbcloud.xyz b/nginx/smbcloud.xyz
new file mode 100644
index 0000000..140c62e
--- /dev/null
+++ b/nginx/smbcloud.xyz
@@ -0,0 +1,59 @@
+# ─────────────────────────────────────────────────────────────
+# smbcloud.xyz — minimal Nginx reverse-proxy for Next.js SSR
+#
+# This follows the simpler smbcloud-web-console pattern:
+# proxy everything to the standalone Next.js server and let the app
+# serve both SSR responses and /_next/static assets.
+#
+# Next.js runs via PM2: node server.js (PORT=3030, HOSTNAME=127.0.0.1)
+# Deploy path: /home/git/apps/web/smbcloudweb/
+# PM2 app: smbcloud-web
+#
+# Keep the port aligned in three places:
+# 1. .smb/config.toml
+# 2. PM2 env / ecosystem.config.js
+# 3. this nginx proxy target
+# ─────────────────────────────────────────────────────────────
+
+server {
+ listen 80;
+ listen [::]:80;
+ server_name smbcloud.xyz www.smbcloud.xyz;
+
+ return 301 https://$host$request_uri;
+}
+
+server {
+ listen 443 ssl http2;
+ listen [::]:443 ssl http2;
+ server_name smbcloud.xyz www.smbcloud.xyz;
+
+ ssl_certificate /etc/letsencrypt/live/smbcloud.xyz/fullchain.pem;
+ ssl_certificate_key /etc/letsencrypt/live/smbcloud.xyz/privkey.pem;
+ include /etc/letsencrypt/options-ssl-nginx.conf;
+ ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
+
+ access_log /var/log/nginx/smbcloud.xyz.access.log;
+ error_log /var/log/nginx/smbcloud.xyz.error.log;
+
+ location / {
+ proxy_pass http://127.0.0.1:3030;
+ proxy_http_version 1.1;
+
+ proxy_set_header Host $host;
+ proxy_set_header X-Forwarded-Host $host;
+ proxy_set_header X-Forwarded-Port 443;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $scheme;
+
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection "upgrade";
+
+ proxy_connect_timeout 60s;
+ proxy_send_timeout 60s;
+ proxy_read_timeout 60s;
+ proxy_buffering off;
+ proxy_cache_bypass $http_upgrade;
+ }
+}
diff --git a/package.json b/package.json
index e14f7b3..4ad976a 100644
--- a/package.json
+++ b/package.json
@@ -8,7 +8,7 @@
"build:content": "contentlayer2 build",
"preview": "next build && next start",
"start": "next start",
- "start-smbcloudweb": "next start -p 3015",
+ "start-smbcloudweb": "next start -p 3030",
"lint": "eslint ."
},
"dependencies": {