import {Sequelize} from 'sequelize'; import {createClient} from "redis"; // Load & check environment require('dotenv').config(); require('./util/envCheck').validate(); export const redisClient = createClient(); redisClient.on("error", (error) => console.error(`Error : ${error}`)); (async () => { await redisClient.connect(); })(); // Connect to database export const sequelize = new Sequelize(process.env.DB_NAME || '', process.env.DB_USER || '', process.env.DB_PASS || '', {host: process.env.DB_HOST || '', dialect: 'mariadb'}); sequelize.authenticate().then(() => { console.log('[DB] Connected to database'); start(); }).catch(err => console.error(err)); // Start all servers const start = async () => { (await import("./server/api")).startServer(parseInt(process.env.API_PORT || '')); (await import("./server/shortener")).startServer(parseInt(process.env.SHORTENER_PORT || '')); if (!process.env.DISABLE_CONTENT_DELIVERY) (await import("./server/contentDelivery")).startServer(parseInt(process.env.CDN_PORT || '')); sequelize.sync(); }