You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+4-15Lines changed: 4 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -101,34 +101,23 @@ List of environment variables for more customization:
101
101
| CADVISOR_PORT | 8080 ||
102
102
| ENABLE_DATA_API | true | Use this env to export the `/data` API that returns the swarm status as a JSON object. Note that it requires basic-auth if `ENABLE_AUTHENTICATION` is activated. |
103
103
| ENABLE_NETWORKS | false |`true` by default, set to `false` to remove the network section from the dashboard. |
104
+
| DOCKER_SOCKET | tcp://localhost:2375 |`/var/run/docker.sock` by default. You can use it with [docker-socket-proxy](https://github.com/Tecnativa/docker-socket-proxy). |
104
105
105
106
## Security
106
107
107
108
+ We redact docker event data before sending them to the client. The previous version was sending the whole docker event data, including environment variables (someone might have stored some passwords in them, by mistake!). So, please consider using the newer version.
108
109
109
110
+ Using the `ENABLE_AUTHENTICATION` environment variable, there is an option to use `Basic Auth`. The WebSocket server will close the connection if it does not receive a valid authentication token. See the example in the above section for more info.
110
111
111
-
+ Using the `ENABLE_HTTPS` environment variable, there is an option to use `HTTPS` and `WSS`. We have Let’s Encrypt integration with the DNS challenge. See the example in the above section for more info.
112
-
113
-
114
-
## Production use
115
-
116
-
There are two considerations for any serious deployment of the dashboard:
117
-
118
-
1. Security - the dashboard node.js server has access to the docker daemon unix socket
119
-
and runs on the manager, which makes it a significant attack surface (i.e. compromising
120
-
the dashboard's node server would give an attacker full control of the swarm)
121
-
2. The interaction with docker API is a fairly rough implementation and
122
-
is not very optimized. The server polls the API every 1000 ms, publishing the
123
-
response data to all open WebSockets if it changed since last time. There
124
-
is probably a better way to look for changes in the Swarm that could be used
125
-
in the future.
112
+
+ Using the `ENABLE_HTTPS` environment variable, there is an option to use `HTTPS` and `WSS`. We have Let’s Encrypt integration with the DNS challenge. See the example for more info.
126
113
114
+
+ You can use [docker-socket-proxy](https://github.com/Tecnativa/docker-socket-proxy) with the `DOCKER_SOCKET` environment variable to minimize permissions and enhance security.
127
115
128
116
## Rough roadmap
129
117
130
118
* Show more service details (published port, image name, and version)
131
119
* Node / Service / Task details panel
120
+
* Improving performance by sending only the changes to online clients
132
121
133
122
Both feature requests and pull requests are welcome. If you want to build/test the code locally, see [commands.md](./test-cluster/commands.md) in the `test-cluster` directory.
0 commit comments