| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | 
							- // ===========================================
 
- // Wiki.js | Server
 
- // Licensed under AGPLv3
 
- // ===========================================
 
- import path from 'node:path'
 
- import { DateTime } from 'luxon'
 
- import semver from 'semver'
 
- import { customAlphabet } from 'nanoid'
 
- import fse from 'fs-extra'
 
- import configSvc from './core/config.mjs'
 
- import kernel from './core/kernel.mjs'
 
- import logger from './core/logger.mjs'
 
- const nanoid = customAlphabet('1234567890abcdef', 10)
 
- if (!semver.satisfies(process.version, '>=18')) {
 
-   console.error('ERROR: Node.js 18.x or later required!')
 
-   process.exit(1)
 
- }
 
- if (fse.pathExistsSync('./package.json')) {
 
-   console.error('ERROR: Must run server from the parent directory!')
 
-   process.exit(1)
 
- }
 
- const WIKI = {
 
-   IS_DEBUG: process.env.NODE_ENV === 'development',
 
-   ROOTPATH: process.cwd(),
 
-   INSTANCE_ID: nanoid(10),
 
-   SERVERPATH: path.join(process.cwd(), 'server'),
 
-   configSvc,
 
-   kernel,
 
-   sites: {},
 
-   sitesMappings: {},
 
-   startedAt: DateTime.utc(),
 
-   storage: {
 
-     defs: [],
 
-     modules: []
 
-   }
 
- }
 
- global.WIKI = WIKI
 
- await WIKI.configSvc.init()
 
- // ----------------------------------------
 
- // Init Logger
 
- // ----------------------------------------
 
- WIKI.logger = logger.init()
 
- // ----------------------------------------
 
- // Start Kernel
 
- // ----------------------------------------
 
- WIKI.kernel.init()
 
- // ----------------------------------------
 
- // Register exit handler
 
- // ----------------------------------------
 
- process.on('SIGINT', () => {
 
-   WIKI.kernel.shutdown()
 
- })
 
- process.on('message', (msg) => {
 
-   if (msg === 'shutdown') {
 
-     WIKI.kernel.shutdown()
 
-   }
 
- })
 
 
  |