diff --git a/.dockerignore b/.dockerignore index 47235b2..3a554d4 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1 +1,2 @@ src/uploads/ +uploads/ diff --git a/.gitignore b/.gitignore index 420ba37..f155490 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,5 @@ src/uploads/ .env .env.dev .env.prod +newsrc/ +uploads/ diff --git a/Dockerfile b/Dockerfile index 4ba2c6c..e249b5c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,6 @@ -FROM node:latest -RUN apt-get update && apt-get upgrade -y -WORKDIR /dunestorm/nubian +FROM node:16 +WORKDIR /dunemask/net/nubian COPY package.json . -RUN npm i --only=prod +RUN npm i COPY src src CMD ["npm","start"] -EXPOSE 52001 diff --git a/dist/predeploy-vanilla.sh b/dist/predeploy-vanilla.sh deleted file mode 100755 index 65b3c72..0000000 --- a/dist/predeploy-vanilla.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash -echo "Creating vanilla predeploy!" -# Set path correclty -if [[ $PWD == *"dist" ]]; -then cd .. -fi -# If .env exists, ignore it -if [[ ! -f ".env" ]];then - echo "Building vanilla env file!" - echo "KHUFU_UPLOAD_PATH=/srv/uploads">> .env -fi -# Install node dependencies -echo "Installing node depencencies!" -npm i diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index 91e51c5..0000000 --- a/docker-compose.yml +++ /dev/null @@ -1,18 +0,0 @@ -version: "3" -services: - nubian.dunestorm.net: - image: nubian.dunestorm.net - build: . - ports: - - "52001:52001" - environment: - - ALEXANDRIA_INTERNAL_URL=${ALEXANDRIA_INTERNAL_URL} - - ALEXANDRIA_DATABASE_PASSWORD=${ALEXANDRIA_DATABASE_PASSWORD} - - CAIRO_PUBLIC_URL=${CAIRO_PUBLIC_URL} - env_file: - - .env - networks: - - dunestorm_dev -networks: - dunestorm_dev: - external: true diff --git a/package.json b/package.json index 9534b47..04ade14 100644 --- a/package.json +++ b/package.json @@ -5,9 +5,7 @@ "main": "src/index.js", "scripts": { "start": "node src/index.js --no-warnings", - "start:dev": "nodemon src/index.js", - "build": "npm run build:all", - "build:all": "docker-compose build" + "start:dev": "nodemon src/index.js" }, "repository": { "type": "git", @@ -22,26 +20,20 @@ "dependencies": { "axios": "^0.21.1", "body-parser": "^1.19.0", + "chalk": "^4.1.2", "express": "^4.17.1", "express-bearer-token": "^2.4.0", + "figlet": "^1.5.2", + "moment": "^2.29.1", "mongoose": "^5.13.3", "multer": "^1.4.2", + "multer-gridfs-storage": "^5.0.2", "path": "^0.12.7", + "pg-promise": "^10.11.1", + "postgres-migrations": "^5.3.0", "rimraf": "^3.0.2" }, - "nodemonConfig": { - "restartable": "rs", - "ignore": [ - ".git", - "./src/uploads/", - "./src/zips/" - ], - "verbose": true, - "ext": "js,json", - "signal": "SIGINT", - "env": { - "CAIRO_URL": "http://localhost:52000", - "KHUFU_UPLOAD_PATH": "uploads/" - } + "devDependencies": { + "nodemon": "^2.0.14" } } diff --git a/src/api/storage.js b/src/api/storage.js index f88e5d0..36a5b2f 100644 --- a/src/api/storage.js +++ b/src/api/storage.js @@ -9,12 +9,12 @@ const { const config = require("../config.json"); const mongoose = require("mongoose"); mongoose.connect( - `mongodb://${process.env.ALEXANDRIA_INTERNAL_URL}/nubian?authSource=admin`, + `mongodb://${process.env.NUBIAN_MONGO_HOST}/nubian?authSource=admin`, { useUnifiedTopology: true, useNewUrlParser: true, - user: "admin", - pass: process.env.ALEXANDRIA_DATABASE_PASSWORD, + user: process.env.NUBIAN_MONGO_USERNAME, + pass: process.env.NUBIAN_MONGO_PASSWORD, } ); diff --git a/src/api/upload.js b/src/api/upload.js index c835ca2..bd5b640 100644 --- a/src/api/upload.js +++ b/src/api/upload.js @@ -25,9 +25,8 @@ const userUpload = multer({ //Helper Methods function userUploadDestination(user_id) { - if (!fs.existsSync(resolvePath(process.env.KHUFU_UPLOAD_PATH))) - fs.mkdirSync(resolvePath(process.env.KHUFU_UPLOAD_PATH)); - const destination = resolvePath(process.env.KHUFU_UPLOAD_PATH, `${user_id}`); + if (!fs.existsSync("uploads")) fs.mkdirSync("uploads"); + const destination = resolvePath(`uploads/${user_id}`); if (!fs.existsSync(destination)) fs.mkdirSync(destination); return destination; } diff --git a/src/index.js b/src/index.js index c45068b..2f066cc 100644 --- a/src/index.js +++ b/src/index.js @@ -14,7 +14,8 @@ const timeout = 10 * 60 * 1000; // 10 minutes app.use(bearerToken()); app.use(bodyParser.json({ limit: Server.BodyLimit })); app.use(bodyParser.urlencoded({ limit: Server.BodyLimit, extended: false })); -app.use(["/nubian/api/stash", "/api/stash", "/stash"], stashRouter); +app.use(require("./routes/vitals-router")); +app.use("/api/stash", stashRouter); const startServer = () => { var server = app.listen(port, () => { console.log("Node version:" + process.versions.node); diff --git a/src/routes/stash-route.js b/src/routes/stash-route.js index b508eb8..8303a60 100644 --- a/src/routes/stash-route.js +++ b/src/routes/stash-route.js @@ -13,7 +13,7 @@ const cairoMiddleware = (req, res, next) => { if (req.token == null) return next(); else axios - .get(`${process.env.CAIRO_PUBLIC_URL}/user/data`, { + .get(`${process.env.CAIRO_URL}/api/user/info`, { headers: { authorization: `Bearer ${req.token}` }, }) .then((authRes) => { diff --git a/src/routes/vitals-router.js b/src/routes/vitals-router.js new file mode 100644 index 0000000..31ae69d --- /dev/null +++ b/src/routes/vitals-router.js @@ -0,0 +1,4 @@ +const router = require("express").Router(); +router.get("/healthcheck", (req, res) => res.sendStatus(200)); +router.get("/alive", (req, res) => res.sendStatus(200)); +module.exports = router; diff --git a/src/schemas/file.js b/src/schemas/file.js index 9a40ef6..7b3dee2 100644 --- a/src/schemas/file.js +++ b/src/schemas/file.js @@ -8,7 +8,7 @@ const file = new Schema( type: String, required: true, }, - owner: { type: ObjId, ref: "user" }, + owner: { type: String}, name: { type: String, required: true,