diff --git a/admin-api/docker.js b/admin-api/docker.js new file mode 100644 index 0000000..1417503 --- /dev/null +++ b/admin-api/docker.js @@ -0,0 +1,4 @@ +const Docker = require('dockerode'); +const docker = new Docker(); + +module.exports = docker; diff --git a/admin-api/routes/containerRoutes.js b/admin-api/routes/containerRoutes.js new file mode 100644 index 0000000..c76eba4 --- /dev/null +++ b/admin-api/routes/containerRoutes.js @@ -0,0 +1,15 @@ +const express = require('express'); +const docker = require('../docker'); + +const router = express.Router(); + +router.get('/', async (req, res) => { + try { + const containers = await docker.listContainers(); + res.json(containers); + } catch (error) { + res.status(500).send({ error: error.message }); + } +}); + +module.exports = router; \ No newline at end of file diff --git a/admin-api/server.js b/admin-api/server.js index f94bdce..7212395 100644 --- a/admin-api/server.js +++ b/admin-api/server.js @@ -3,6 +3,7 @@ const express = require('express'); const session = require('express-session'); const passport = require('passport'); const authRoutes = require('./routes/authRoutes'); +const containerRoutes = require('./routes/containerRoutes'); const app = express(); app.use(express.json()); @@ -11,6 +12,7 @@ app.use(passport.initialize()); app.use(passport.session()); app.use('/api/auth', authRoutes); +app.use('/api/containers', containerRoutes); app.listen(3001, () => { console.log('Backend server running on port 3001'); diff --git a/admin-app/src/components/Dashboard.jsx b/admin-app/src/components/Dashboard.jsx new file mode 100644 index 0000000..2c19834 --- /dev/null +++ b/admin-app/src/components/Dashboard.jsx @@ -0,0 +1,27 @@ +import React, { useState, useEffect } from 'react'; +import axios from 'axios'; + +const Dashboard = () => { + const [containers, setContainers] = useState([]); + + useEffect(() => { + const fetchContainers = async () => { + const response = await axios.get('/api/containers'); + setContainers(response.data); + }; + fetchContainers(); + }, []); + + return ( +