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