UNPKG

redirector-cli

Version:

Global CLI tool for managing Redirector backend services with Docker Compose

51 lines 2.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.stopCommand = stopCommand; const logger_1 = require("../utils/logger"); const config_1 = require("../utils/config"); const docker_1 = require("../utils/docker"); async function stopCommand(options) { try { logger_1.Logger.header("Stopping Redirector Services"); const projectPath = process.cwd(); // Check if project is initialized const isInitialized = await config_1.ConfigManager.isRedirectorProject(projectPath); if (!isInitialized) { logger_1.Logger.error("No Redirector project found in current directory"); logger_1.Logger.info("Run `redirector setup` first to initialize the project"); process.exit(1); } // Load configuration const config = await config_1.ConfigManager.loadConfig(projectPath); const docker = new docker_1.DockerManager(config, projectPath); // Check current status const containers = await docker.getStatus(); const runningContainers = containers.filter((c) => c.status.includes("running")); if (runningContainers.length === 0) { logger_1.Logger.info("No running services found"); return; } logger_1.Logger.info(`Found ${runningContainers.length} running service(s)`); // Stop services if (options.removeVolumes) { await docker.resetServices(); logger_1.Logger.success("Services stopped and volumes removed"); } else { await docker.stopServices(); logger_1.Logger.success("Services stopped successfully"); } logger_1.Logger.newLine(); logger_1.Logger.subheader("Useful Commands:"); logger_1.Logger.list([ "`redirector start` - Start services again", "`redirector status` - Check service status", "`redirector reset` - Remove all data and volumes", ]); } catch (error) { logger_1.Logger.error(`Failed to stop services: ${error}`); process.exit(1); } } //# sourceMappingURL=stop.js.map