aboutsummaryrefslogtreecommitdiffstats
path: root/lib/app.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2023-02-06 16:48:13 -0800
committerAdam Soltys <[email protected]>2023-02-06 16:48:13 -0800
commit9c667055c6367e1b2e239686e72f52995679a47e (patch)
tree0b1d4aee51ec2d4e92d08a9d1404ba4e2ecd462a /lib/app.js
parent15294844dbc8e73b4d1e92008a7eebc6b86b9ec5 (diff)
parent6f5602d112b68adb7452abf3047f20c32e7725b6 (diff)
downloadcoinos-server-9c667055c6367e1b2e239686e72f52995679a47e.tar.gz
coinos-server-9c667055c6367e1b2e239686e72f52995679a47e.zip
Merge branch 'master' into test
Diffstat (limited to 'lib/app.js')
-rw-r--r--lib/app.js40
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/app.js b/lib/app.js
new file mode 100644
index 00000000..4691786a
--- /dev/null
+++ b/lib/app.js
@@ -0,0 +1,40 @@
+import config from "$config";
+import fastify from "fastify";
+import fastifyWs from "@fastify/websocket";
+import fastifyMultipart from "@fastify/multipart";
+import fastifyStatic from "@fastify/static";
+import fastifyPassport from "@fastify/passport";
+import fastifySecureSession from "@fastify/secure-session";
+
+import path from "path";
+import pino from "pino";
+
+import { jwtStrategy } from "$lib/auth";
+import { socketServer } from "$lib/sockets";
+
+const app = fastify({
+ logger: pino(),
+ disableRequestLogging: true,
+ maxParamLength: 500
+});
+
+app.register(fastifySecureSession, {
+ key: Buffer.from(config.jwt, "hex")
+});
+
+app.register(fastifyPassport.initialize());
+app.register(fastifyPassport.secureSession());
+
+fastifyPassport.use("jwt", jwtStrategy);
+
+app.register(fastifyMultipart);
+
+app.register(fastifyStatic, {
+ root: path.join("/app/data/uploads"),
+ prefix: "/public/"
+});
+
+app.register(fastifyWs);
+app.register(socketServer);
+
+export default app;