server/packages/api/setup.ts
Jesse Wierzbinski aff51b651c
Some checks failed
Mirror to Codeberg / Mirror (push) Failing after 0s
Test Publish / build (client) (push) Failing after 0s
Test Publish / build (sdk) (push) Failing after 0s
refactor: ♻️ Rewrite logging logic into a unified package
2025-06-22 18:43:03 +02:00

37 lines
1.6 KiB
TypeScript

import { config } from "@versia-server/config";
import { Note, setupDatabase } from "@versia-server/kit/db";
import { connection } from "@versia-server/kit/redis";
import { serverLogger } from "@versia-server/logging";
import { searchManager } from "../../classes/search/search-manager.ts";
const timeAtStart = performance.now();
console.info(`
██╗ ██╗███████╗██████╗ ███████╗██╗ █████╗
██║ ██║██╔════╝██╔══██╗██╔════╝██║██╔══██╗
██║ ██║█████╗ ██████╔╝███████╗██║███████║
╚██╗ ██╔╝██╔══╝ ██╔══██╗╚════██║██║██╔══██║
╚████╔╝ ███████╗██║ ██║███████║██║██║ ██║
╚═══╝ ╚══════╝╚═╝ ╚═╝╚══════╝╚═╝╚═╝ ╚═╝
`);
serverLogger.info`Starting Versia Server...`;
await setupDatabase();
if (config.search.enabled) {
await searchManager.connect();
}
// Check if database is reachable
const postCount = await Note.getCount();
serverLogger.info`Versia Server started at ${config.http.bind}:${config.http.bind_port} in ${(performance.now() - timeAtStart).toFixed(0)}ms`;
serverLogger.info`Database is online, now serving ${postCount} posts`;
// Check if Redis is reachable
await connection.ping();
serverLogger.info`Redis is online`;