diff --git a/packages/server/.gitignore b/packages/server/.gitignore
index 93a464bbf2b54b6d47f210414ea99b55a0da004e..1550f1629525d3757d5cb53bbf090d563e4c099e 100644
--- a/packages/server/.gitignore
+++ b/packages/server/.gitignore
@@ -1 +1 @@
-static/
\ No newline at end of file
+server/
\ No newline at end of file
diff --git a/packages/server/next/app/globals.css b/packages/server/next/app/globals.css
index 7f6e077570c338bba6d9b15d610f5fdac36f023d..bfaeb1a4ef64c6618f657471e5b49b7c33808103 100644
--- a/packages/server/next/app/globals.css
+++ b/packages/server/next/app/globals.css
@@ -1,6 +1,7 @@
 @import "tailwindcss";
 
 @source '../../node_modules/@llamaindex/chat-ui/**/*.{ts,tsx}';
+@source '../app/**/*.{ts,tsx}';
 
 @custom-variant dark (&:is(.dark *));
 
diff --git a/packages/server/package.json b/packages/server/package.json
index b187217be3dda8b2d98cd0860a573288cae3dacb..756190426a01193a204c68baaba2461bc840d299 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -18,7 +18,8 @@
     }
   },
   "files": [
-    "dist"
+    "dist",
+    "server"
   ],
   "repository": {
     "type": "git",
@@ -26,11 +27,11 @@
     "directory": "packages/server"
   },
   "scripts": {
-    "clean": "rm -rf ./dist next/.next next/out",
+    "clean": "rm -rf ./dist ./server next/.next next/out",
     "prebuild": "pnpm clean",
     "build": "bunchee",
     "postbuild": "pnpm copy:next-src && pnpm build:static && pnpm copy:static",
-    "copy:next-src": "cp -r ./next ./dist/next",
+    "copy:next-src": "cp -r ./next ./server",
     "build:static": "cd ./next && next build",
     "copy:static": "cp -r ./next/out ./dist/static",
     "dev": "bunchee --watch"
diff --git a/packages/server/src/server.ts b/packages/server/src/server.ts
index 2737aaa80d3e2598c21452b4fe86286f24b41168..3f492f31e076bc2fee9c725708d7422d9fedc0c7 100644
--- a/packages/server/src/server.ts
+++ b/packages/server/src/server.ts
@@ -11,7 +11,7 @@ export class LlamaIndexServer {
   workflowFactory: () => Promise<ServerWorkflow> | ServerWorkflow;
 
   constructor({ workflow, ...nextAppOptions }: LlamaIndexServerOptions) {
-    const nextDir = path.join(__dirname, "./next");
+    const nextDir = path.join(__dirname, "../server");
     const dev = process.env.NODE_ENV !== "production";
     this.app = next({ ...nextAppOptions, dev, dir: nextDir });
     this.port = nextAppOptions.port ?? 3000;