coolify/api/libs/docker.js

29 lines
757 B
JavaScript
Raw Normal View History

2021-03-24 21:11:14 +00:00
const Dockerode = require('dockerode')
const { saveAppLog } = require('./logging')
const docker = {
engine: new Dockerode({
socketPath: process.env.DOCKER_ENGINE
}),
network: process.env.DOCKER_NETWORK
}
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) {
2021-03-24 21:11:14 +00:00
saveAppLog(event.stream, configuration)
}
}
})
2021-03-24 21:11:14 +00:00
}
module.exports = { streamEvents, docker }