mirror of
				https://github.com/NginxProxyManager/nginx-proxy-manager.git
				synced 2025-10-31 07:43:33 +00:00 
			
		
		
		
	frontend doesn't include when building in react version adds swagger for existing dns-providers endpoint
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			55 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"
 | |
| //
 | |
| 
 | |
| import batchflow from "batchflow";
 | |
| import dnsPlugins from "../certbot/dns-plugins.json" with { type: "json" };
 | |
| import { installPlugin } from "../lib/certbot.js";
 | |
| import { certbot as logger } from "../logger.js";
 | |
| 
 | |
| let hasErrors = false;
 | |
| const failingPlugins = [];
 | |
| 
 | |
| let pluginKeys = Object.keys(dnsPlugins);
 | |
| if (process.argv.length > 2) {
 | |
| 	pluginKeys = process.argv.slice(2);
 | |
| }
 | |
| 
 | |
| batchflow(pluginKeys)
 | |
| 	.sequential()
 | |
| 	.each((i, pluginKey, next) => {
 | |
| 		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);
 | |
| 		}
 | |
| 	});
 |