import { resolve } from 'path' import { config } from 'dotenv' import fastify from 'fastify' import fastifyStatic from 'fastify-static' import httpProxy from 'fastify-http-proxy' config() const server = fastify({ logger: { level: process.env.LOGGER_LEVEL, prettyPrint: process.env.LOGGER_PRETTY_PRINT === 'true', } }) server.register(httpProxy, { upstream: process.env.API_URL!, prefix: '/api', }) server.register(fastifyStatic, { root: resolve(__dirname, './app'), wildcard: false, }) server.get('/*', {}, (_, reply) => { reply.sendFile('index.html') }) const port = parseInt(process.env.PORT!, 10) server.listen(port, err => { if (err) { server.log.error(err) process.exit(1) } })