update
This commit is contained in:
		@@ -9,6 +9,9 @@ COPY server/package.json ./
 | 
				
			|||||||
# 复制源码
 | 
					# 复制源码
 | 
				
			||||||
COPY ./server ./
 | 
					COPY ./server ./
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					COPY ./server/code ./code-backup
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					COPY ./web/dist ./demo/root/light-code-center
 | 
				
			||||||
RUN bun install
 | 
					RUN bun install
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# 构建(可选)
 | 
					# 构建(可选)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,11 +1,12 @@
 | 
				
			|||||||
services:
 | 
					services:
 | 
				
			||||||
  light-code:
 | 
					  light-code:
 | 
				
			||||||
    image: 'kevisual/light-code:latest'
 | 
					    # image: 'kevisual/light-code:latest'
 | 
				
			||||||
 | 
					    image: 'crpi-92z54xpbq1hzmdcz.cn-hangzhou.personal.cr.aliyuncs.com/kevisual/light-code:latest'
 | 
				
			||||||
    user: root
 | 
					    user: root
 | 
				
			||||||
    volumes:
 | 
					    volumes:
 | 
				
			||||||
      - ./data/code:/app/code
 | 
					      - ./data/code:/app/code
 | 
				
			||||||
    ports:
 | 
					    ports:
 | 
				
			||||||
      - '3005:4005'
 | 
					      - '6005:4005'
 | 
				
			||||||
    restart: always
 | 
					    restart: always
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  filebrowser:
 | 
					  filebrowser:
 | 
				
			||||||
@@ -17,7 +18,7 @@ services:
 | 
				
			|||||||
      - ./data/config:/config
 | 
					      - ./data/config:/config
 | 
				
			||||||
    restart: unless-stopped
 | 
					    restart: unless-stopped
 | 
				
			||||||
    ports:
 | 
					    ports:
 | 
				
			||||||
      - '8080:80'
 | 
					      - '6006:80'
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
      - PUID=1000
 | 
					      - PUID=1000
 | 
				
			||||||
      - PGID=1000
 | 
					      - PGID=1000
 | 
				
			||||||
@@ -7,7 +7,9 @@
 | 
				
			|||||||
    "dev": "pnpm run dev:server & pnpm run dev:web",
 | 
					    "dev": "pnpm run dev:server & pnpm run dev:web",
 | 
				
			||||||
    "dev:server": "cd server && pnpm dev",
 | 
					    "dev:server": "cd server && pnpm dev",
 | 
				
			||||||
    "dev:web": "cd web && pnpm dev",
 | 
					    "dev:web": "cd web && pnpm dev",
 | 
				
			||||||
    "docker:build": "docker build -t kevisual/light-code .",
 | 
					    "docker:build": "docker build -t kevisual/light-code:latest .",
 | 
				
			||||||
 | 
					    "docker:aliyun": "docker build -t crpi-92z54xpbq1hzmdcz.cn-hangzhou.personal.cr.aliyuncs.com/kevisual/light-code .",
 | 
				
			||||||
 | 
					    "docker:dev": "docker compose up",
 | 
				
			||||||
    "build": "turbo build"
 | 
					    "build": "turbo build"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "keywords": [],
 | 
					  "keywords": [],
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,6 +6,7 @@
 | 
				
			|||||||
  "scripts": {
 | 
					  "scripts": {
 | 
				
			||||||
    "dev": "bun run --watch --hot src/index.ts",
 | 
					    "dev": "bun run --watch --hot src/index.ts",
 | 
				
			||||||
    "start": "bun run src/index.ts",
 | 
					    "start": "bun run src/index.ts",
 | 
				
			||||||
 | 
					    "prestart": "bun src/test/check-code.ts",
 | 
				
			||||||
    "build": "NODE_ENV=production bun bun.config.ts"
 | 
					    "build": "NODE_ENV=production bun bun.config.ts"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  "keywords": [],
 | 
					  "keywords": [],
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,6 +3,7 @@ import { proxyRoute, initProxy } from '@kevisual/local-proxy/proxy.ts';
 | 
				
			|||||||
initProxy({
 | 
					initProxy({
 | 
				
			||||||
  pagesDir: './demo',
 | 
					  pagesDir: './demo',
 | 
				
			||||||
  watch: true,
 | 
					  watch: true,
 | 
				
			||||||
 | 
					  home: '/root/light-code-center',
 | 
				
			||||||
});
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { app } from './app.ts'
 | 
					import { app } from './app.ts'
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										37
									
								
								server/src/test/check-code.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								server/src/test/check-code.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,37 @@
 | 
				
			|||||||
 | 
					import path from 'node:path'
 | 
				
			||||||
 | 
					import fs from 'node:fs'
 | 
				
			||||||
 | 
					const main = async () => {
 | 
				
			||||||
 | 
					  const root = path.join(process.cwd(), 'code');
 | 
				
			||||||
 | 
					  const buckupRoot = path.join(process.cwd(), 'code-backup');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // 如果 code 文件夹不存在或文件夹列表长度等于0,则从 code-backup 复制
 | 
				
			||||||
 | 
					  let shouldCopy = false;
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  if (!fs.existsSync(root)) {
 | 
				
			||||||
 | 
					    console.log('code 文件夹不存在');
 | 
				
			||||||
 | 
					    shouldCopy = true;
 | 
				
			||||||
 | 
					  } else {
 | 
				
			||||||
 | 
					    // 检查 code 文件夹下的文件夹列表
 | 
				
			||||||
 | 
					    const items = await fs.promises.readdir(root, { withFileTypes: true });
 | 
				
			||||||
 | 
					    const folders = items.filter(item => item.isDirectory());
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    if (folders.length === 0) {
 | 
				
			||||||
 | 
					      console.log('code 文件夹存在但为空(无子文件夹)');
 | 
				
			||||||
 | 
					      shouldCopy = true;
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					      console.log(`code 文件夹已存在且包含 ${folders.length} 个子文件夹`);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					  if (shouldCopy) {
 | 
				
			||||||
 | 
					    if (fs.existsSync(buckupRoot)) {
 | 
				
			||||||
 | 
					      console.log('正在从 code-backup 复制...');
 | 
				
			||||||
 | 
					      await fs.promises.cp(buckupRoot, root, { recursive: true });
 | 
				
			||||||
 | 
					      console.log('复制完成!');
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					      console.log('code-backup 文件夹不存在,无法复制');
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					main().catch(console.error)
 | 
				
			||||||
		Reference in New Issue
	
	Block a user