Full document, spreadsheet, slideshow, and diagram tooling
1import { serve } from '@hono/node-server';
2import { createApp } from './app.js';
3import { buildInstanceInfo } from './config.js';
4import { readFileSync } from 'node:fs';
5import { resolve } from 'node:path';
6
7const PORT = parseInt(process.env.PORT || '8080', 10);
8const DIST_PATH = resolve(process.env.DIST_PATH || './dist');
9
10let version = 'dev';
11try {
12 const pkg = JSON.parse(readFileSync(resolve('./package.json'), 'utf-8'));
13 version = pkg.version || 'dev';
14} catch {}
15
16const instanceInfo = buildInstanceInfo();
17const app = createApp({ instanceInfo, distPath: DIST_PATH, version });
18
19console.log(`Atmosphere Office v${version}`);
20console.log(` flavor: ${instanceInfo.flavor}`);
21console.log(` access: ${instanceInfo.accessControl?.mode ?? 'open'}`);
22console.log(` port: ${PORT}`);
23
24serve({ fetch: app.fetch, port: PORT }, (info) => {
25 console.log(`Listening on http://localhost:${info.port}`);
26});