23a4ebb74a
Changed the whole tech stack to SvelteKit which means: - Typescript - SSR - No fastify :( - Beta, but it's fine! Other changes: - Tailwind -> Tailwind JIT - A lot more
28 lines
725 B
TypeScript
28 lines
725 B
TypeScript
import Dockerode from 'dockerode';
|
|
import { saveAppLog } from './applications/logging';
|
|
|
|
const { DOCKER_ENGINE, DOCKER_NETWORK } = process.env;
|
|
export const docker = {
|
|
engine: new Dockerode({
|
|
socketPath: DOCKER_ENGINE
|
|
}),
|
|
network: DOCKER_NETWORK
|
|
};
|
|
export async function streamEvents(stream, configuration) {
|
|
await new Promise((resolve, reject) => {
|
|
docker.engine.modem.followProgress(stream, onFinished, onProgress);
|
|
function onFinished(err, res) {
|
|
if (err) reject(err);
|
|
resolve(res);
|
|
}
|
|
function onProgress(event) {
|
|
if (event.error) {
|
|
saveAppLog(event.error, configuration, true);
|
|
reject(event.error);
|
|
} else if (event.stream) {
|
|
saveAppLog(event.stream, configuration);
|
|
}
|
|
}
|
|
});
|
|
}
|