UNPKG

@aivec/wp-docker-dev-factory

Version:

Spin up local WordPress environments with Docker.

39 lines (35 loc) 1.19 kB
import logger from '../logger'; import { execSync } from 'child_process'; import { FinalInstanceConfig } from '../types'; import fs from 'fs'; const stopContainers = async (config: FinalInstanceConfig): Promise<void> => { logger.info(`${logger.WHITE}Stopping WordPress...${logger.NC}`); try { execSync(`docker stop ${config.containerName}`, { stdio: 'pipe' }); } catch (error) { // doesnt matter if container isn't running.... } /* try { execSync(`docker rm ${config.containerName}`, { stdio: 'pipe' }); } catch (error) { console.log(error.stderr.toString()); } */ logger.info(`${logger.WHITE}Stopping database...${logger.NC}`); try { // Convert object to .env format const envContent = Object.entries(config.envvarsMap) .map(([key, value]) => `${key}=${value}`) .join('\n'); // Write to .env file fs.writeFileSync(`${config.topdir}/docker/.env`, envContent); execSync( `docker compose -p ${config.instanceName} -f ${config.topdir}/docker/docker-compose.wp.yml down`, { stdio: 'pipe', }, ); } catch (error) { console.log(error.stderr.toString()); } }; export default stopContainers;