mirror of
https://github.com/Expand-sys/ccashfrontend
synced 2026-03-22 12:37:13 +11:00
dockering complete
This commit is contained in:
parent
8b32816b9b
commit
ff3ee26571
8 changed files with 63 additions and 58 deletions
6
Dockerfile
Normal file
6
Dockerfile
Normal 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"]
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
const { CCashClient } = require("ccash-client-js");
|
const { CCashClient } = require("ccash-client-js");
|
||||||
|
|
||||||
const client = new CCashClient(process.env.BANKAPIURL);
|
|
||||||
|
|
||||||
async function postUser(name, password) {
|
async function postUser(name, password) {
|
||||||
|
const client = new CCashClient(process.env.BANKAPIURL);
|
||||||
console.log(process.env.BANKAPIURL);
|
console.log(process.env.BANKAPIURL);
|
||||||
try {
|
try {
|
||||||
return await client.addUser(name, password);
|
return await client.addUser(name, password);
|
||||||
|
|
|
||||||
61
index.js
61
index.js
|
|
@ -17,9 +17,6 @@ const mongoose = require("mongoose");
|
||||||
const { CCashClient } = require("ccash-client-js");
|
const { CCashClient } = require("ccash-client-js");
|
||||||
dotenv.config();
|
dotenv.config();
|
||||||
const { postUser } = require("./helpers/functions.js");
|
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("views", path.join(__dirname, "views"));
|
||||||
app.set("view engine", "pug");
|
app.set("view engine", "pug");
|
||||||
|
|
@ -82,6 +79,7 @@ app.post("/setup", async function (req, res) {
|
||||||
process.env.SECURE = true;
|
process.env.SECURE = true;
|
||||||
}
|
}
|
||||||
process.env.BANKAPIURL = url;
|
process.env.BANKAPIURL = url;
|
||||||
|
console.log(process.env.BANKAPIURL);
|
||||||
fs.writeFileSync(
|
fs.writeFileSync(
|
||||||
".env",
|
".env",
|
||||||
"BANKAPIURL=" +
|
"BANKAPIURL=" +
|
||||||
|
|
@ -91,37 +89,41 @@ app.post("/setup", async function (req, res) {
|
||||||
process.env.SECURE +
|
process.env.SECURE +
|
||||||
"\nSETUP=true"
|
"\nSETUP=true"
|
||||||
);
|
);
|
||||||
fs.mkdirSync("tmp");
|
fs.writeFileSync("tmp/restart.txt", "");
|
||||||
fs.writeFileSync("tmp/restart.txt");
|
res.redirect("/");
|
||||||
});
|
});
|
||||||
|
|
||||||
app.get("/", async function (req, res) {
|
app.get("/", async function (req, res) {
|
||||||
if (setup == false || !setup) {
|
if (process.env.SETUP == false || !process.env.SETUP) {
|
||||||
res.render("setup");
|
res.render("setup");
|
||||||
}
|
} else {
|
||||||
let checkalive;
|
const client = new CCashClient(process.env.BANKAPIURL);
|
||||||
try {
|
let checkalive;
|
||||||
checkalive = await client.help();
|
try {
|
||||||
} catch (err) {
|
checkalive = await client.help();
|
||||||
console.log(err);
|
} catch (err) {
|
||||||
}
|
console.log(err);
|
||||||
let alive = false;
|
}
|
||||||
try {
|
let alive = false;
|
||||||
if (checkalive) {
|
try {
|
||||||
alive = true;
|
if (checkalive) {
|
||||||
|
alive = true;
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
console.log(err);
|
||||||
}
|
}
|
||||||
} catch (err) {
|
|
||||||
console.log(err);
|
|
||||||
}
|
|
||||||
|
|
||||||
res.render("index", {
|
res.render("index", {
|
||||||
user: req.session.user,
|
user: req.session.user,
|
||||||
admin: req.session.admin,
|
admin: req.session.admin,
|
||||||
alive: alive,
|
alive: alive,
|
||||||
random: papy(),
|
url: process.env.BANKAPIURL,
|
||||||
});
|
random: papy(),
|
||||||
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
app.get("/BankF", ensureAuthenticated, async function (req, res) {
|
app.get("/BankF", ensureAuthenticated, async function (req, res) {
|
||||||
|
const client = new CCashClient(process.env.BANKAPIURL);
|
||||||
let successes = req.session.successes;
|
let successes = req.session.successes;
|
||||||
let errors = req.session.errors;
|
let errors = req.session.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) {
|
app.post("/sendfunds", async function (req, res) {
|
||||||
|
const client = new CCashClient(process.env.BANKAPIURL);
|
||||||
let { amount, name, senderpass } = req.body;
|
let { amount, name, senderpass } = req.body;
|
||||||
req.session.errors = [];
|
req.session.errors = [];
|
||||||
req.session.successes = [];
|
req.session.successes = [];
|
||||||
|
|
@ -236,6 +239,7 @@ app.post("/sendfunds", async function (req, res) {
|
||||||
});
|
});
|
||||||
|
|
||||||
app.post("/register", async function (req, res) {
|
app.post("/register", async function (req, res) {
|
||||||
|
const client = new CCashClient(process.env.BANKAPIURL);
|
||||||
var { name, password, password2 } = req.body;
|
var { name, password, password2 } = req.body;
|
||||||
req.session.errors = [];
|
req.session.errors = [];
|
||||||
req.session.successes = [];
|
req.session.successes = [];
|
||||||
|
|
@ -264,6 +268,7 @@ app.post("/register", async function (req, res) {
|
||||||
});
|
});
|
||||||
|
|
||||||
app.post("/login", async function (req, res) {
|
app.post("/login", async function (req, res) {
|
||||||
|
const client = new CCashClient(process.env.BANKAPIURL);
|
||||||
if (req.session.user) {
|
if (req.session.user) {
|
||||||
res.redirect("/");
|
res.redirect("/");
|
||||||
}
|
}
|
||||||
|
|
@ -338,7 +343,9 @@ app.get("/register", function (req, res) {
|
||||||
random: papy(),
|
random: papy(),
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
process.on("SIGINT", function () {
|
||||||
|
process.exit();
|
||||||
|
});
|
||||||
app.listen(process.env.PORT || 3000, function () {
|
app.listen(process.env.PORT || 3000, function () {
|
||||||
console.log("Server started on port 3000...");
|
console.log("Server started on port 3000...");
|
||||||
});
|
});
|
||||||
|
|
|
||||||
12
pm2.json
Normal file
12
pm2.json
Normal 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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -12,32 +12,11 @@ const got = require("got");
|
||||||
const MemoryStore = require("memorystore")(session);
|
const MemoryStore = require("memorystore")(session);
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const mongoose = require("mongoose");
|
const mongoose = require("mongoose");
|
||||||
|
|
||||||
const { CCashClient } = require("ccash-client-js");
|
const { CCashClient } = require("ccash-client-js");
|
||||||
|
|
||||||
const client = new CCashClient(process.env.BANKAPIURL);
|
|
||||||
console.log("Sen was here");
|
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) {
|
router.get("/", checkAdmin, function (req, res) {
|
||||||
let successes = req.session.successes;
|
let successes = req.session.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) {
|
router.post("/user", checkAdmin, async function (req, res) {
|
||||||
|
const client = new CCashClient(process.env.BANKAPIURL);
|
||||||
req.session.errors = [];
|
req.session.errors = [];
|
||||||
req.session.successes = [];
|
req.session.successes = [];
|
||||||
let { name, init_pass, init_bal, password2 } = req.body;
|
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) {
|
router.post("/baluser", checkAdmin, async function (req, res) {
|
||||||
|
const client = new CCashClient(process.env.BANKAPIURL);
|
||||||
let { name } = req.body;
|
let { name } = req.body;
|
||||||
let balance;
|
let balance;
|
||||||
req.session.successes = [];
|
req.session.successes = [];
|
||||||
|
|
@ -104,6 +85,7 @@ router.post("/baluser", checkAdmin, async function (req, res) {
|
||||||
});
|
});
|
||||||
|
|
||||||
router.post("/bal", 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 { name, amount } = req.body;
|
||||||
let patch;
|
let patch;
|
||||||
req.session.successes = [];
|
req.session.successes = [];
|
||||||
|
|
@ -119,6 +101,7 @@ router.post("/bal", checkAdmin, async function (req, res) {
|
||||||
});
|
});
|
||||||
|
|
||||||
router.post("/userdelete", 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;
|
let { name, attempt } = req.body;
|
||||||
if (attempt != req.session.adminp) {
|
if (attempt != req.session.adminp) {
|
||||||
req.session.errors.push({ msg: "Wrong Admin Password" });
|
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) {
|
router.post("/destroyallsessions", checkAdmin, async function (req, res) {
|
||||||
|
const client = new CCashClient(process.env.BANKAPIURL);
|
||||||
let { attempt } = req.body;
|
let { attempt } = req.body;
|
||||||
let adminTest;
|
let adminTest;
|
||||||
req.session.errors = [];
|
req.session.errors = [];
|
||||||
|
|
@ -182,6 +166,7 @@ router.post("/changebackend", checkAdmin, async function (req, res) {
|
||||||
});
|
});
|
||||||
|
|
||||||
router.post("/close", 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 { attempt } = req.body;
|
||||||
let close;
|
let close;
|
||||||
close = client.close();
|
close = client.close();
|
||||||
|
|
|
||||||
|
|
@ -10,8 +10,6 @@ const session = require("express-session");
|
||||||
const { postUser } = require("../helpers/functions.js");
|
const { postUser } = require("../helpers/functions.js");
|
||||||
const { CCashClient } = require("ccash-client-js");
|
const { CCashClient } = require("ccash-client-js");
|
||||||
|
|
||||||
const client = new CCashClient(process.env.BANKAPIURL);
|
|
||||||
|
|
||||||
router.get("/", ensureAuthenticated, function (req, res) {
|
router.get("/", ensureAuthenticated, function (req, res) {
|
||||||
let successes = req.session.successes;
|
let successes = req.session.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) {
|
router.post("/pass", ensureAuthenticated, async function (req, res) {
|
||||||
|
const client = new CCashClient(process.env.BANKAPIURL);
|
||||||
let { attempt, new_pass, password2 } = req.body;
|
let { attempt, new_pass, password2 } = req.body;
|
||||||
let patch;
|
let patch;
|
||||||
if (attempt == undefined) {
|
if (attempt == undefined) {
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ block content
|
||||||
h4 Is the server online?
|
h4 Is the server online?
|
||||||
if alive
|
if alive
|
||||||
h4 YES!
|
h4 YES!
|
||||||
|
h4 #{url}
|
||||||
if !alive
|
if !alive
|
||||||
H4 no :(
|
H4 no :(
|
||||||
|
h4 #{url}
|
||||||
|
|
|
||||||
|
|
@ -11,10 +11,6 @@ block content
|
||||||
input.form-control(name='url', type='url')
|
input.form-control(name='url', type='url')
|
||||||
label SSL enabled on front end? leave unchecked if unsure:
|
label SSL enabled on front end? leave unchecked if unsure:
|
||||||
input.form-control(name='secure', type='checkbox')
|
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
|
br
|
||||||
input.btn.btn-primary(type='submit',value='Submit')
|
input.btn.btn-primary(type='submit',value='Submit')
|
||||||
br
|
br
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue