diff --git a/app.js b/app.js
index aecd8db..97a058c 100755
--- a/app.js
+++ b/app.js
@@ -14,6 +14,7 @@ var busboy = require('connect-busboy'); // for file upload
// basic auth
var BASIC_AUTH_USER = process.env.BASIC_AUTH_USER;
var BASIC_AUTH_PWD = process.env.BASIC_AUTH_PWD;
+const BASE_URL = process.env.BASE_URL || '/';
if (BASIC_AUTH_USER && BASIC_AUTH_PWD) {
app.use(function(req, res, next) {
@@ -43,10 +44,10 @@ app.use(bodyParser.urlencoded({ // to support URL-encoded bodies
app.use(busboy()); // to support file uploads
// include all folders
-app.use(express.static(__dirname + '/public'));
-app.use(express.static(__dirname + '/public/css'));
-app.use(express.static(__dirname + '/public/js'));
-app.use(express.static(__dirname + '/config'));
+app.use(BASE_URL, express.static(__dirname + '/public'));
+app.use(BASE_URL, express.static(__dirname + '/public/css'));
+app.use(BASE_URL, express.static(__dirname + '/public/js'));
+app.use(BASE_URL, express.static(__dirname + '/config'));
app.set('views', __dirname + '/views');
// set host to 127.0.0.1 or the value set by environment var HOST
diff --git a/routes.js b/routes.js
index 2fb393f..0bdb96a 100644
--- a/routes.js
+++ b/routes.js
@@ -1,21 +1,24 @@
+const BASE_URL = process.env.BASE_URL || '/';
exports.routes = {
- "root" : "/",
- "save" : "/save",
- "run" : "/runjob",
- "crontab" : "/crontab",
- "stop" : "/stop",
- "start" : "/start",
- "remove": "/remove",
- "backup": "/backup",
- "restore": "/restore",
- "delete_backup": "/delete",
- "restore_backup": "/restore_backup",
- "export": "/export",
- "import": "/import", // this is import from database
- "import_crontab": "/import_crontab", // this is from existing crontab
- "logger": "/logger",
- "stdout": "/stdout",
+ "root" : BASE_URL,
+ "save" : BASE_URL+"save",
+ "run" : BASE_URL+"runjob",
+ "crontab" : BASE_URL+"crontab",
+ "stop" : BASE_URL+"stop",
+ "start" : BASE_URL+"start",
+ "remove": BASE_URL+"remove",
+ "backup": BASE_URL+"backup",
+ "restore": BASE_URL+"restore",
+ "delete_backup": BASE_URL+"delete",
+ "restore_backup": BASE_URL+"restore_backup",
+ "export": BASE_URL+"export",
+ "import": BASE_URL+"import", // this is import from database
+ "import_crontab": BASE_URL+"import_crontab", // this is from existing crontab
+ "logger": BASE_URL+"logger",
+ "stdout": BASE_URL+"stdout",
};
+
+
exports.relative = Object.keys(exports.routes).reduce((p, c) => ({...p, [c]: exports.routes[c].replace(/^\//, '')}), {});
exports.relative["root"] = ".";
\ No newline at end of file
diff --git a/views/index.ejs b/views/index.ejs
index 804b4ba..907d70b 100644
--- a/views/index.ejs
+++ b/views/index.ejs
@@ -6,7 +6,7 @@
-
+