dockering complete

This commit is contained in:
Expand-sys 2021-06-16 19:31:41 +10:00
parent 8b32816b9b
commit ff3ee26571
8 changed files with 63 additions and 58 deletions

6
Dockerfile Normal file
View file

@ -0,0 +1,6 @@
# syntax=docker/dockerfile:1
FROM keymetrics/pm2:16-buster
WORKDIR /app
COPY . .
RUN npm install
CMD [ "pm2-runtime", "start", "pm2.json", "--watch"]

View file

@ -1,8 +1,7 @@
const { CCashClient } = require("ccash-client-js");
const client = new CCashClient(process.env.BANKAPIURL);
async function postUser(name, password) {
const client = new CCashClient(process.env.BANKAPIURL);
console.log(process.env.BANKAPIURL);
try {
return await client.addUser(name, password);

View file

@ -17,9 +17,6 @@ const mongoose = require("mongoose");
const { CCashClient } = require("ccash-client-js");
dotenv.config();
const { postUser } = require("./helpers/functions.js");
if (process.env.BANKAPIURL) {
const client = new CCashClient(process.env.BANKAPIURL);
}
app.set("views", path.join(__dirname, "views"));
app.set("view engine", "pug");
@ -82,6 +79,7 @@ app.post("/setup", async function (req, res) {
process.env.SECURE = true;
}
process.env.BANKAPIURL = url;
console.log(process.env.BANKAPIURL);
fs.writeFileSync(
".env",
"BANKAPIURL=" +
@ -91,37 +89,41 @@ app.post("/setup", async function (req, res) {
process.env.SECURE +
"\nSETUP=true"
);
fs.mkdirSync("tmp");
fs.writeFileSync("tmp/restart.txt");
fs.writeFileSync("tmp/restart.txt", "");
res.redirect("/");
});
app.get("/", async function (req, res) {
if (setup == false || !setup) {
if (process.env.SETUP == false || !process.env.SETUP) {
res.render("setup");
}
let checkalive;
try {
checkalive = await client.help();
} catch (err) {
console.log(err);
}
let alive = false;
try {
if (checkalive) {
alive = true;
} else {
const client = new CCashClient(process.env.BANKAPIURL);
let checkalive;
try {
checkalive = await client.help();
} catch (err) {
console.log(err);
}
let alive = false;
try {
if (checkalive) {
alive = true;
}
} catch (err) {
console.log(err);
}
} catch (err) {
console.log(err);
}
res.render("index", {
user: req.session.user,
admin: req.session.admin,
alive: alive,
random: papy(),
});
res.render("index", {
user: req.session.user,
admin: req.session.admin,
alive: alive,
url: process.env.BANKAPIURL,
random: papy(),
});
}
});
app.get("/BankF", ensureAuthenticated, async function (req, res) {
const client = new CCashClient(process.env.BANKAPIURL);
let successes = req.session.successes;
let errors = req.session.errors;
req.session.errors = [];
@ -215,6 +217,7 @@ app.get("/BankF", ensureAuthenticated, async function (req, res) {
});
app.post("/sendfunds", async function (req, res) {
const client = new CCashClient(process.env.BANKAPIURL);
let { amount, name, senderpass } = req.body;
req.session.errors = [];
req.session.successes = [];
@ -236,6 +239,7 @@ app.post("/sendfunds", async function (req, res) {
});
app.post("/register", async function (req, res) {
const client = new CCashClient(process.env.BANKAPIURL);
var { name, password, password2 } = req.body;
req.session.errors = [];
req.session.successes = [];
@ -264,6 +268,7 @@ app.post("/register", async function (req, res) {
});
app.post("/login", async function (req, res) {
const client = new CCashClient(process.env.BANKAPIURL);
if (req.session.user) {
res.redirect("/");
}
@ -338,7 +343,9 @@ app.get("/register", function (req, res) {
random: papy(),
});
});
process.on("SIGINT", function () {
process.exit();
});
app.listen(process.env.PORT || 3000, function () {
console.log("Server started on port 3000...");
});

12
pm2.json Normal file
View file

@ -0,0 +1,12 @@
{
"name": "ccashfrontend",
"script": "index.js",
"watch": "tmp/restart.txt",
"instances": "1",
"env": {
"NODE_ENV": "development"
},
"env_production": {
"NODE_ENV": "production"
}
}

View file

@ -12,32 +12,11 @@ const got = require("got");
const MemoryStore = require("memorystore")(session);
const fs = require("fs");
const mongoose = require("mongoose");
const { CCashClient } = require("ccash-client-js");
const client = new CCashClient(process.env.BANKAPIURL);
console.log("Sen was here");
function mongo() {
if (process.env.MONGO) {
console.log(process.env.MONGO);
mongoose.connect(process.env.MONGO, {
useNewUrlParser: true,
useUnifiedTopology: true,
useFindAndModify: true,
});
let db = mongoose.connection;
db.once("open", function () {
console.log("Connected to MongoDB");
});
//check for DB errors
db.on("error", function (err) {
console.log(err);
});
}
}
router.get("/", checkAdmin, function (req, res) {
let successes = req.session.successes;
req.session.successes = [];
@ -54,6 +33,7 @@ router.get("/", checkAdmin, function (req, res) {
});
router.post("/user", checkAdmin, async function (req, res) {
const client = new CCashClient(process.env.BANKAPIURL);
req.session.errors = [];
req.session.successes = [];
let { name, init_pass, init_bal, password2 } = req.body;
@ -86,6 +66,7 @@ router.post("/user", checkAdmin, async function (req, res) {
});
router.post("/baluser", checkAdmin, async function (req, res) {
const client = new CCashClient(process.env.BANKAPIURL);
let { name } = req.body;
let balance;
req.session.successes = [];
@ -104,6 +85,7 @@ router.post("/baluser", checkAdmin, async function (req, res) {
});
router.post("/bal", checkAdmin, async function (req, res) {
const client = new CCashClient(process.env.BANKAPIURL);
let { name, amount } = req.body;
let patch;
req.session.successes = [];
@ -119,6 +101,7 @@ router.post("/bal", checkAdmin, async function (req, res) {
});
router.post("/userdelete", checkAdmin, async function (req, res) {
const client = new CCashClient(process.env.BANKAPIURL);
let { name, attempt } = req.body;
if (attempt != req.session.adminp) {
req.session.errors.push({ msg: "Wrong Admin Password" });
@ -136,6 +119,7 @@ router.post("/userdelete", checkAdmin, async function (req, res) {
});
router.post("/destroyallsessions", checkAdmin, async function (req, res) {
const client = new CCashClient(process.env.BANKAPIURL);
let { attempt } = req.body;
let adminTest;
req.session.errors = [];
@ -182,6 +166,7 @@ router.post("/changebackend", checkAdmin, async function (req, res) {
});
router.post("/close", checkAdmin, async function (req, res) {
const client = new CCashClient(process.env.BANKAPIURL);
let { attempt } = req.body;
let close;
close = client.close();

View file

@ -10,8 +10,6 @@ const session = require("express-session");
const { postUser } = require("../helpers/functions.js");
const { CCashClient } = require("ccash-client-js");
const client = new CCashClient(process.env.BANKAPIURL);
router.get("/", ensureAuthenticated, function (req, res) {
let successes = req.session.successes;
req.session.successes = [];
@ -27,6 +25,7 @@ router.get("/", ensureAuthenticated, function (req, res) {
});
router.post("/pass", ensureAuthenticated, async function (req, res) {
const client = new CCashClient(process.env.BANKAPIURL);
let { attempt, new_pass, password2 } = req.body;
let patch;
if (attempt == undefined) {

View file

@ -9,6 +9,7 @@ block content
h4 Is the server online?
if alive
h4 YES!
h4 #{url}
if !alive
H4 no :(
h4 #{url}

View file

@ -11,10 +11,6 @@ block content
input.form-control(name='url', type='url')
label SSL enabled on front end? leave unchecked if unsure:
input.form-control(name='secure', type='checkbox')
label Enable marketplace:
input.form-control(name='marketplace', type='checkbox')
label MongoDB url insert if using marketplace
input.form-control(name='mongo', type='text')
br
input.btn.btn-primary(type='submit',value='Submit')
br