redirector-cli
Version:
Global CLI tool for managing Redirector backend services with Docker Compose
51 lines • 2.16 kB
JavaScript
;
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