From e8cad2e20448519f5a3295bea9fe14e29763e410 Mon Sep 17 00:00:00 2001 From: talksik Date: Thu, 2 Jun 2022 11:25:24 -0500 Subject: [PATCH] adding docker stuff --- packages/api/.dockerignore | 1 + packages/api/.env.development | 5 +--- packages/api/.env.production | 3 ++ packages/api/Dockerfile | 17 ++++++++++++ packages/api/index.ts | 52 +++++++++++++++++------------------ 5 files changed, 48 insertions(+), 30 deletions(-) create mode 100644 packages/api/.dockerignore create mode 100644 packages/api/.env.production create mode 100644 packages/api/Dockerfile diff --git a/packages/api/.dockerignore b/packages/api/.dockerignore new file mode 100644 index 0000000..b512c09 --- /dev/null +++ b/packages/api/.dockerignore @@ -0,0 +1 @@ +node_modules \ No newline at end of file diff --git a/packages/api/.env.development b/packages/api/.env.development index 3c69087..95d58c9 100644 --- a/packages/api/.env.development +++ b/packages/api/.env.development @@ -1,6 +1,3 @@ MONGO_CONNECTION_STRING=mongodb+srv://default:M9iZXokJlZpN4KLX@cluster0.mkuqa.mongodb.net/default?retryWrites=true&w=majority -JWT_TOKEN_SECRET=afajdslfwk1@lkkasdfl21ASDF!2 - -GOOGLE_AUTH_CLIENT_ID=423533244953-banligobgbof8hg89i6cr1l7u0p7c2pk.apps.googleusercontent.com -GOOGLE_AUTH_CLIENT_SECRET= \ No newline at end of file +JWT_TOKEN_SECRET=afajdslfwk1@lkkasdfl21ASDF!2 \ No newline at end of file diff --git a/packages/api/.env.production b/packages/api/.env.production new file mode 100644 index 0000000..7be6773 --- /dev/null +++ b/packages/api/.env.production @@ -0,0 +1,3 @@ +MONGO_CONNECTION_STRING=mongodb+srv://default:M9iZXokJlZpN4KLX@cluster0.mkuqa.mongodb.net/default?retryWrites=true&w=majority + +JWT_TOKEN_SECRET=woasdfkajsdflj!@!@#0012399 \ No newline at end of file diff --git a/packages/api/Dockerfile b/packages/api/Dockerfile new file mode 100644 index 0000000..6564708 --- /dev/null +++ b/packages/api/Dockerfile @@ -0,0 +1,17 @@ +FROM node:12 + +WORKDIR /app + +COPY package.json ./ +COPY ../core ./packages + +RUN yarn install + +COPY . . + +ENV PORT=8080 +ENV NODE_ENV=production + +EXPOSE 8080 + +CMD ["yarn", "production"] \ No newline at end of file diff --git a/packages/api/index.ts b/packages/api/index.ts index 275c1fb..3dd2b6c 100644 --- a/packages/api/index.ts +++ b/packages/api/index.ts @@ -1,18 +1,18 @@ -import express, { Application, Request, Response } from "express"; +import express, { Application, Request, Response } from 'express'; -import GetAllSocketClients from "@nirvana/core/sockets/getAllActiveSocketClients"; -import InitializeWs from "./sockets"; -import { NextFunction } from "express"; -import NirvanaResponse from "@nirvana/core/responses/nirvanaResponse"; -import ReceiveSignal from "../core/sockets/receiveSignal"; -import SendSignal from "@nirvana/core/sockets/sendSignal"; -import SocketChannels from "@nirvana/core/sockets/channels"; -import { UserService } from "./services/user.service"; -import { UserStatus } from "@nirvana/core/models"; -import cors from "cors"; -import getLineRoutes from "./routes/line"; -import getSearchRoutes from "./routes/search"; -import getUserRoutes from "./routes/user"; +import GetAllSocketClients from '@nirvana/core/sockets/getAllActiveSocketClients'; +import InitializeWs from './sockets'; +import { NextFunction } from 'express'; +import NirvanaResponse from '@nirvana/core/responses/nirvanaResponse'; +import ReceiveSignal from '../core/sockets/receiveSignal'; +import SendSignal from '@nirvana/core/sockets/sendSignal'; +import SocketChannels from '@nirvana/core/sockets/channels'; +import { UserService } from './services/user.service'; +import { UserStatus } from '@nirvana/core/models'; +import cors from 'cors'; +import getLineRoutes from './routes/line'; +import getSearchRoutes from './routes/search'; +import getUserRoutes from './routes/user'; const app = express(); @@ -20,29 +20,29 @@ app.use(cors()); app.use(express.json()); app.use((req: Request, res: Response, next: NextFunction) => { - console.log("Time: ", new Date()); + console.log('Time: ', new Date()); next(); }); -app.get("/", (req: Request, res: Response) => { - res.send("hello world."); +app.get('/', (req: Request, res: Response) => { + res.send('hello world.'); }); -app.use("/api/status", (req: Request, res: Response) => { - res.json(new NirvanaResponse("wohoo, server is healthy")); +app.use('/api/status', (req: Request, res: Response) => { + res.json(new NirvanaResponse('wohoo, server is healthy')); }); -app.use("/api/user", getUserRoutes()); -app.use("/api/search", getSearchRoutes()); -app.use("/api/lines", getLineRoutes()); +app.use('/api/user', getUserRoutes()); +app.use('/api/search', getSearchRoutes()); +app.use('/api/lines', getLineRoutes()); -const PORT = 5000; -const server = app.listen(PORT, () => console.log("express running")); +const PORT = 8080; +const server = app.listen(PORT, () => console.log('express running')); -const io = require("socket.io")(server, { +const io = require('socket.io')(server, { // todo: add authentication cors: { - origin: "*", + origin: '*', }, });