Files
certd/packages/ui/certd-server/src/config/config.default.ts
T

141 lines
3.8 KiB
TypeScript
Raw Normal View History

2024-07-15 00:30:33 +08:00
import { MidwayConfig } from '@midwayjs/core';
// import { join } from 'path';
// import { dirname } from 'node:path';
// import { fileURLToPath } from 'node:url';
// // const __filename = fileURLToPath(import.meta.url);
// const __dirname = dirname(fileURLToPath(import.meta.url));
2024-07-15 00:30:33 +08:00
import { FlywayHistory } from '@certd/midway-flyway-js';
import { UserEntity } from '../modules/sys/authority/entity/user.js';
2024-07-15 00:30:33 +08:00
import { PipelineEntity } from '../modules/pipeline/entity/pipeline.js';
2023-05-26 16:18:24 +08:00
//import { logger } from '../utils/logger';
2023-05-25 15:17:58 +08:00
// load .env file in process.cwd
2024-11-04 15:14:56 +08:00
import { loadDotEnv, mergeConfig } from './loader.js';
2024-10-03 22:03:49 +08:00
import { libServerEntities } from '@certd/lib-server';
import { commercialEntities } from '@certd/commercial-core';
2024-10-05 01:46:25 +08:00
import { tmpdir } from 'node:os';
2024-10-11 00:05:51 +08:00
import { DefaultUploadFileMimeType, uploadWhiteList } from '@midwayjs/upload';
2024-10-05 01:46:25 +08:00
import path from 'path';
2024-10-11 00:05:51 +08:00
2024-07-17 01:30:00 +08:00
const env = process.env.NODE_ENV || 'development';
2023-06-26 12:26:59 +08:00
const development = {
2025-06-03 18:16:35 +08:00
midwayLogger: {
default: {
dir: './logs',
},
// ...
},
2024-08-27 13:46:19 +08:00
keys: 'certd',
2023-01-29 13:44:19 +08:00
koa: {
2025-09-18 10:05:07 +08:00
hostname:"::",
2023-01-29 13:44:19 +08:00
port: 7001,
},
2024-10-26 16:36:57 +08:00
https: {
enabled: true,
port: 7002,
key: './data/ssl/cert.key',
cert: './data/ssl/cert.crt',
},
2023-05-25 13:43:32 +08:00
staticFile: {
2023-07-03 09:15:52 +08:00
usePrecompiledGzip: true,
buffer: true,
2024-10-11 00:05:51 +08:00
maxAge: 30 * 24 * 60 * 60,
2023-07-03 09:15:52 +08:00
gzip: true,
2023-05-25 13:43:32 +08:00
dirs: {
default: {
prefix: '/',
dir: 'public',
2023-05-25 15:17:58 +08:00
alias: {
'/': '/index.html',
2024-10-11 00:05:51 +08:00
'\\': '/index.html',
2023-05-25 15:17:58 +08:00
},
2024-10-11 00:05:51 +08:00
maxFiles: 200,
2023-05-25 13:43:32 +08:00
},
},
},
cron: {
2024-08-13 20:30:42 +08:00
//启动时立即触发一次
immediateTriggerOnce: false,
immediateTriggerSiteMonitor: false,
2024-08-13 20:30:42 +08:00
//启动时仅注册adminid=1)用户的
onlyAdminUser: false,
},
2023-01-29 13:44:19 +08:00
/**
* 演示环境
*/
preview: {
enabled: false,
},
/**
* 数据库
*/
typeorm: {
dataSource: {
default: {
/**
* 单数据库实例
*/
2024-07-20 18:04:07 +08:00
type: 'better-sqlite3',
database: './data/db.sqlite',
2023-01-29 13:44:19 +08:00
synchronize: false, // 如果第一次使用,不存在表,有同步的需求可以写 true
logging: false,
2024-12-09 22:40:17 +08:00
highlightSql: false,
2023-01-29 13:44:19 +08:00
// 配置实体模型 或者 entities: '/entity',
entities: ['**/modules/**/entity/*.js', ...libServerEntities, ...commercialEntities, PipelineEntity, FlywayHistory, UserEntity],
2023-01-29 13:44:19 +08:00
},
},
},
/**
* 自动升级数据库脚本
*/
flyway: {
scriptDir: './db/migration',
2023-01-29 13:44:19 +08:00
},
2023-06-28 09:44:35 +08:00
auth: {
2023-01-29 13:44:19 +08:00
jwt: {
2023-06-29 08:56:09 +08:00
expire: 7 * 24 * 60 * 60, //单位秒
2023-01-29 13:44:19 +08:00
},
},
2023-06-28 15:16:19 +08:00
certd: {
fileRootDir: './data/files',
2023-06-28 15:16:19 +08:00
},
system: {
resetAdminPasswd: false,
},
2024-08-23 13:15:06 +08:00
plus: {
serverBaseUrls: ['http://127.0.0.1:11007'],
2024-08-23 13:15:06 +08:00
},
2024-10-05 01:46:25 +08:00
upload: {
// mode: UploadMode, 默认为file,即上传到服务器临时目录,可以配置为 stream
mode: 'file',
// fileSize: string, 最大上传文件大小,默认为 10mb
fileSize: '10mb',
whitelist: uploadWhiteList, //文件扩展名白名单
mimeTypeWhiteList: DefaultUploadFileMimeType, //文件MIME类型白名单
// whitelist: uploadWhiteList.filter(ext => ext !== '.pdf'),
// tmpdir: string,上传的文件临时存储路径
tmpdir: path.join(tmpdir(), 'certd-upload-files'),
// cleanTimeout: number,上传的文件在临时目录中多久之后自动删除,默认为 5 分钟
cleanTimeout: 5 * 60 * 1000,
// base64: boolean,设置原始body是否是base64格式,默认为false,一般用于腾讯云的兼容
base64: false,
// 仅在匹配路径到 /api/upload 的时候去解析 body 中的文件信息
match: /\/api\/basic\/file\/upload/,
},
2024-10-10 18:38:22 +08:00
agent: {
enabled: false,
contactText: '',
contactLink: '',
},
2023-01-29 13:44:19 +08:00
} as MidwayConfig;
2024-11-04 15:14:56 +08:00
loadDotEnv();
mergeConfig(development, 'development');
2024-07-17 01:30:00 +08:00
mergeConfig(development, env);
2024-07-15 00:30:33 +08:00
2023-06-26 12:26:59 +08:00
export default development;