2022-06-20 09:00:42 +02:00
|
|
|
import { NextApiRequest, NextApiResponse } from 'next';
|
|
|
|
|
|
|
|
|
|
import Docker from 'dockerode';
|
|
|
|
|
|
|
|
|
|
async function Get(req: NextApiRequest, res: NextApiResponse) {
|
2022-07-21 11:43:43 +02:00
|
|
|
try {
|
|
|
|
|
const docker = new Docker();
|
2022-07-22 13:17:17 +02:00
|
|
|
const containers = await docker.listContainers({ all: true });
|
2022-07-21 11:43:43 +02:00
|
|
|
res.status(200).json(containers);
|
|
|
|
|
} catch (err) {
|
|
|
|
|
res.status(500).json({ err });
|
|
|
|
|
}
|
2022-06-20 09:00:42 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default async (req: NextApiRequest, res: NextApiResponse) => {
|
|
|
|
|
// Filter out if the reuqest is a POST or a GET
|
|
|
|
|
if (req.method === 'GET') {
|
|
|
|
|
return Get(req, res);
|
|
|
|
|
}
|
|
|
|
|
return res.status(405).json({
|
|
|
|
|
statusCode: 405,
|
|
|
|
|
message: 'Method not allowed',
|
|
|
|
|
});
|
|
|
|
|
};
|