link-stack/docker/scripts/docker.js
Darren Clarke b8c6e893ff WIP 4
2024-03-17 12:58:25 +01:00

30 lines
980 B
JavaScript

const { spawn } = require("child_process");
const app = process.argv[2];
const command = process.argv[3];
const files = {
all: ["zammad", "postgresql", "metamigo", "opensearch", "leafcutter", "link"],
linkDev: ["zammad", "postgresql", "opensearch"],
link: ["zammad", "postgresql", "opensearch", "link"],
leafcutterDev: ["opensearch"],
leafcutter: ["opensearch", "leafcutter"],
opensearch: ["opensearch"],
metamigoDev: ["zammad", "postgresql"],
metamigo: ["zammad", "postgresql", "metamigo"],
zammad: ["zammad", "postgresql", "opensearch"],
};
const finalFiles = files[app]
.map((file) => ['-f', `docker/compose/${file}.yml`]).flat();
const finalCommand = command === "up" ? ["up", "-d"] : [command];
const dockerCompose = spawn('docker', ['compose', '--env-file', '.env', ...finalFiles, ...finalCommand]);
dockerCompose.stdout.on('data', (data) => {
console.log(`${data}`);
});
dockerCompose.stderr.on('data', (data) => {
console.log(`${data}`);
});