a19e1415f1
chore: add Dockerfile
85 lines
No EOL
2.3 KiB
JavaScript
85 lines
No EOL
2.3 KiB
JavaScript
// _
|
|
// o O O _ | | ___
|
|
// o | || | / _ \
|
|
// TS__[O] _\__/ \___/
|
|
// {======|_|"""""|_|"""""|
|
|
// ./o--000'"`-0-0-'"`-0-0-'
|
|
//
|
|
// Code written by «Johannes Reckers»
|
|
//------------------------------------------------>
|
|
|
|
//------------------------------------------------>
|
|
// Imports
|
|
//------------------------------------------------>
|
|
|
|
const express = require("express");
|
|
const bodyParser = require("body-parser");
|
|
const cookieParser = require("cookie-parser");
|
|
const mysql = require("mysql2");
|
|
const path = require("path");
|
|
|
|
if (!process.env.DOCKER) {
|
|
const dotenv = require("dotenv");
|
|
dotenv.config();
|
|
}
|
|
|
|
//------------------------------------------------>
|
|
// Express initialization & configuration
|
|
//------------------------------------------------>
|
|
|
|
// Initialize the express instance
|
|
const app = express();
|
|
|
|
// Set views directory and engine
|
|
app.set("views", path.join(__dirname, "views"));
|
|
app.set("view engine", "ejs");
|
|
|
|
//------------------------------------------------>
|
|
// Middlewares
|
|
//------------------------------------------------>
|
|
|
|
// Use body-parser and cookie-parser
|
|
app.use(bodyParser.urlencoded({ extended: false }));
|
|
app.use(cookieParser());
|
|
|
|
//------------------------------------------------>
|
|
// MySQL connection
|
|
//------------------------------------------------>
|
|
|
|
//! Make extra sure these values are loaded correctly, if you experience any connection issues.
|
|
const db = mysql.createConnection({
|
|
database: process.env.DB_NAME,
|
|
user: process.env.DB_USER,
|
|
password: process.env.DB_PASSWORD,
|
|
host: process.env.DB_HOST,
|
|
port: process.env.DB_PORT
|
|
});
|
|
|
|
db.connect((error) => {
|
|
if (error) {
|
|
console.error("[JET] Error connecting to MySQL database:", error);
|
|
} else {
|
|
console.log("[JET] Database connected successfully");
|
|
}
|
|
});
|
|
|
|
//------------------------------------------------>
|
|
// Routing
|
|
//------------------------------------------------>
|
|
|
|
const apiRouter = require("./routes/apiRoutes");
|
|
|
|
app.use("/api", apiRouter);
|
|
|
|
// Handle home route
|
|
app.get("/", (req, res) => {
|
|
res.render("layout");
|
|
});
|
|
|
|
//------------------------------------------------>
|
|
// Start Express
|
|
//------------------------------------------------>
|
|
|
|
app.listen(process.env.PORT, () => {
|
|
console.log(`[JET] started express on http://localhost:${process.env.PORT}`);
|
|
}); |