update
This commit is contained in:
		@@ -9,6 +9,9 @@ COPY server/package.json ./
 | 
			
		||||
# 复制源码
 | 
			
		||||
COPY ./server ./
 | 
			
		||||
 | 
			
		||||
COPY ./server/code ./code-backup
 | 
			
		||||
 | 
			
		||||
COPY ./web/dist ./demo/root/light-code-center
 | 
			
		||||
RUN bun install
 | 
			
		||||
 | 
			
		||||
# 构建(可选)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,11 +1,12 @@
 | 
			
		||||
services:
 | 
			
		||||
  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
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./data/code:/app/code
 | 
			
		||||
    ports:
 | 
			
		||||
      - '3005:4005'
 | 
			
		||||
      - '6005:4005'
 | 
			
		||||
    restart: always
 | 
			
		||||
 | 
			
		||||
  filebrowser:
 | 
			
		||||
@@ -17,7 +18,7 @@ services:
 | 
			
		||||
      - ./data/config:/config
 | 
			
		||||
    restart: unless-stopped
 | 
			
		||||
    ports:
 | 
			
		||||
      - '8080:80'
 | 
			
		||||
      - '6006:80'
 | 
			
		||||
    environment:
 | 
			
		||||
      - PUID=1000
 | 
			
		||||
      - PGID=1000
 | 
			
		||||
@@ -7,7 +7,9 @@
 | 
			
		||||
    "dev": "pnpm run dev:server & pnpm run dev:web",
 | 
			
		||||
    "dev:server": "cd server && 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"
 | 
			
		||||
  },
 | 
			
		||||
  "keywords": [],
 | 
			
		||||
 
 | 
			
		||||
@@ -6,6 +6,7 @@
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "dev": "bun run --watch --hot src/index.ts",
 | 
			
		||||
    "start": "bun run src/index.ts",
 | 
			
		||||
    "prestart": "bun src/test/check-code.ts",
 | 
			
		||||
    "build": "NODE_ENV=production bun bun.config.ts"
 | 
			
		||||
  },
 | 
			
		||||
  "keywords": [],
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,7 @@ import { proxyRoute, initProxy } from '@kevisual/local-proxy/proxy.ts';
 | 
			
		||||
initProxy({
 | 
			
		||||
  pagesDir: './demo',
 | 
			
		||||
  watch: true,
 | 
			
		||||
  home: '/root/light-code-center',
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
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