updated for new view
This commit is contained in:
34
README.md
Normal file
34
README.md
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
ServiceDock — Docker Swarm as a Service
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
Docker swarm is cool, much simpler to use than OpenShift, but unfortunately I did not find a really nice overview Web-UI to monitor the services, so I created [this one](https://mrw.sh/webservices/servicedock).
|
||||||
|
|
||||||
|
Run
|
||||||
|
---
|
||||||
|
|
||||||
|
### Command-Line:
|
||||||
|
|
||||||
|
docker run --rm -it -p 8888:4000 -v /var/run/docker.sock:/var/run/docker.sock:ro mwaeckerlin/servicedock:latest
|
||||||
|
|
||||||
|
### YAML to Deploy in Swarm:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
version: '3.7'
|
||||||
|
services:
|
||||||
|
|
||||||
|
servicedock:
|
||||||
|
image: mwaeckerlin/servicedock
|
||||||
|
volumes:
|
||||||
|
- type: bind
|
||||||
|
source: /var/run/docker.sock
|
||||||
|
target: /var/run/docker.sock
|
||||||
|
read-only: true
|
||||||
|
ports:
|
||||||
|
- 8035:4000
|
||||||
|
deploy:
|
||||||
|
placement:
|
||||||
|
constraints: [node.role == manager]
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: 100M
|
||||||
|
```
|
2
bin/www
2
bin/www
@@ -9,7 +9,7 @@ var server = app.listen(app.get('port'), function() {
|
|||||||
debug('Express server listening on port ' + server.address().port)
|
debug('Express server listening on port ' + server.address().port)
|
||||||
})
|
})
|
||||||
var io = require('socket.io').listen(server)
|
var io = require('socket.io').listen(server)
|
||||||
var docker = require('docker.js')(app, io)
|
var docker = require('docker.js')(app, io, process.env.UPDATE_INTERVAL||10000, process.env.STATS_INTERVAL||10000)
|
||||||
|
|
||||||
io.sockets.on('connection', docker.connect)
|
io.sockets.on('connection', docker.connect)
|
||||||
debug('Socket server listening on port ' + server.address().port);
|
debug('Socket server listening on port ' + server.address().port);
|
||||||
|
@@ -4,7 +4,7 @@ function error(msg) {
|
|||||||
// handle display errors
|
// handle display errors
|
||||||
}
|
}
|
||||||
function init() {
|
function init() {
|
||||||
socket = io.connect();
|
socket = io.connect()
|
||||||
docker = new Docker(socket, error, '#containers', '#nodes', '#stacks');
|
docker = new Docker(socket, error, '#containers', '#nodes', '#stacks')
|
||||||
}
|
}
|
||||||
$(init);
|
$(init)
|
||||||
|
@@ -7,15 +7,18 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"body-parser": "*",
|
"body-parser": "*",
|
||||||
|
"child_process": "^1.0.2",
|
||||||
"cookie-parser": "*",
|
"cookie-parser": "*",
|
||||||
"debug": "*",
|
"debug": "*",
|
||||||
"docker.js": ">=1.2.0",
|
"docker.js": "^1.2.2",
|
||||||
"express": "*",
|
"express": "*",
|
||||||
|
"jquery": "^3.1.1",
|
||||||
"morgan": "*",
|
"morgan": "*",
|
||||||
"pty.js": "*",
|
"pty.js": "^0.3.1",
|
||||||
"pug": "*",
|
"pug": "*",
|
||||||
"socket.io": "*",
|
"socket.io": "*",
|
||||||
"static-favicon": "*",
|
"static-favicon": "*",
|
||||||
"stylus": "*"
|
"stylus": "*",
|
||||||
|
"viz.js": "^1.4.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -4,6 +4,6 @@ body
|
|||||||
a
|
a
|
||||||
color: #00B7FF
|
color: #00B7FF
|
||||||
|
|
||||||
#main > svg
|
#stacks > svg
|
||||||
width: 100%
|
width: 100%
|
||||||
height: auto
|
height: auto
|
Reference in New Issue
Block a user