1
0
mirror of https://github.com/NginxProxyManager/nginx-proxy-manager.git synced 2025-12-05 07:42:07 +03:00

Initial commit

This commit is contained in:
Jamie Curnow
2017-12-21 09:02:37 +10:00
parent dc830df253
commit 6e7435c35d
140 changed files with 19554 additions and 0 deletions

View File

@@ -0,0 +1,78 @@
'use strict';
const fs = require('fs');
const ejs = require('ejs');
const logger = require('../logger');
const utils = require('../lib/utils');
const error = require('../lib/error');
const internalNginx = {
/**
* @returns {Promise}
*/
test: () => {
logger.info('Testing Nginx configuration');
return utils.exec('/usr/sbin/nginx -t');
},
/**
* @returns {Promise}
*/
reload: () => {
return internalNginx.test()
.then(() => {
logger.info('Reloading Nginx');
return utils.exec('/usr/sbin/nginx -s reload');
});
},
/**
* @param {Object} host
* @returns {String}
*/
getConfigName: host => {
return '/config/nginx/' + host.hostname + '.conf';
},
/**
* @param {Object} host
* @returns {Promise}
*/
generateConfig: host => {
return new Promise((resolve, reject) => {
let template = null;
let filename = internalNginx.getConfigName(host);
try {
template = fs.readFileSync(__dirname + '/../templates/host.conf.ejs', {encoding: 'utf8'});
let config_text = ejs.render(template, host);
fs.writeFileSync(filename, config_text, {encoding: 'utf8'});
resolve(true);
} catch (err) {
reject(new error.ConfigurationError(err.message));
}
});
},
/**
* @param {Object} host
* @param {Boolean} [throw_errors]
* @returns {Promise}
*/
deleteConfig: (host, throw_errors) => {
return new Promise((resolve, reject) => {
try {
fs.unlinkSync(internalNginx.getConfigName(host));
} catch (err) {
if (throw_errors) {
reject(err);
}
}
resolve();
});
}
};
module.exports = internalNginx;