mirror of
https://github.com/jc21/nginx-proxy-manager.git
synced 2024-08-30 18:22:48 +00:00
db23c9a52f
- Added a script to install every single plugin, used in development and debugging - Improved certbot plugin install commands - Adjusted some version for plugins to install properly - It's noted that some plugins require deps that do not match other plugins, however these use cases should be extremely rare
50 lines
1.3 KiB
JavaScript
Executable File
50 lines
1.3 KiB
JavaScript
Executable File
#!/usr/bin/node
|
|
|
|
// Usage:
|
|
// Install all plugins defined in `certbot-dns-plugins.json`:
|
|
// ./install-certbot-plugins
|
|
// Install one or more specific plugins:
|
|
// ./install-certbot-plugins route53 cloudflare
|
|
//
|
|
// Usage with a running docker container:
|
|
// docker exec npm_core /command/s6-setuidgid 1000:1000 bash -c "/app/scripts/install-certbot-plugins"
|
|
//
|
|
|
|
const dnsPlugins = require('../global/certbot-dns-plugins.json');
|
|
const certbot = require('../lib/certbot');
|
|
const logger = require('../logger').certbot;
|
|
const batchflow = require('batchflow');
|
|
|
|
let hasErrors = false;
|
|
let failingPlugins = [];
|
|
|
|
let pluginKeys = Object.keys(dnsPlugins);
|
|
if (process.argv.length > 2) {
|
|
pluginKeys = process.argv.slice(2);
|
|
}
|
|
|
|
batchflow(pluginKeys).sequential()
|
|
.each((i, pluginKey, next) => {
|
|
certbot.installPlugin(pluginKey)
|
|
.then(() => {
|
|
next();
|
|
})
|
|
.catch((err) => {
|
|
hasErrors = true;
|
|
failingPlugins.push(pluginKey);
|
|
next(err);
|
|
});
|
|
})
|
|
.error((err) => {
|
|
logger.error(err.message);
|
|
})
|
|
.end(() => {
|
|
if (hasErrors) {
|
|
logger.error('Some plugins failed to install. Please check the logs above. Failing plugins: ' + '\n - ' + failingPlugins.join('\n - '));
|
|
process.exit(1);
|
|
} else {
|
|
logger.complete('Plugins installed successfully');
|
|
process.exit(0);
|
|
}
|
|
});
|