diff --git a/index.html b/index.html index c42911935..f8db38408 100644 --- a/index.html +++ b/index.html @@ -110,10 +110,22 @@ $ docker run -d -p 10.20.30.1:80:9000 --privileged -v /var/run/docker.sock:/var/

Note: Replace /path/to/certs to the path to the certificate files on your disk.

+

+Use your own logo

+ +

You can use the --logo flag to specify an URL to your own logo.

+ +

For example, using the Docker logo:

+ +
$ docker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock cloudinovasi/cloudinovasi-ui --logo "https://www.docker.com/sites/all/themes/docker/assets/images/brand-full.svg"
+
+ +

The custom logo will replace the CloudInovasi logo in the UI.

+

Hide containers with specific labels

-

You can hide specific containers in the containers view by using the -hide-label or -l options and specifying a label.

+

You can hide specific containers in the containers view by using the --hide-label or -l options and specifying a label.

For example, take a container started with the label owner=acme:

@@ -125,6 +137,35 @@ $ docker run -d -p 10.20.30.1:80:9000 --privileged -v /var/run/docker.sock:/var/
$ docker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock cloudinovasi/cloudinovasi-ui -l owner=acme
 
+

+Reverse proxy configuration

+ +

Has been tested with Nginx 1.11.

+ +

Use the following configuration to host the UI at myhost.mydomain.com/dockerui:

+ +
upstream cloudinovasi-ui {
+    server ADDRESS:PORT;
+}
+
+server {
+  listen 80;
+
+  location /dockerui/ {
+      proxy_http_version 1.1;
+      proxy_set_header Connection "";
+      proxy_pass http://cloudinovasi-ui/;
+  }
+  location /dockerui/ws/ {
+      proxy_set_header Upgrade $http_upgrade;
+      proxy_set_header Connection "upgrade";
+      proxy_http_version 1.1;
+      proxy_pass http://cloudinovasi-ui/ws/;
+  }
+}
+ +

Replace ADDRESS:PORT with the CloudInovasi UI container details.

+

Available options

@@ -142,8 +183,6 @@ $ docker run -d -p 10.20.30.1:80:9000 --privileged -v /var/run/docker.sock:/var/
  • --swarm, -s: Swarm cluster support (default: false)
  • ---hide-label, -l: Hide containers with a specific label in the UI
  • -
  • --tlsverify: TLS support (default: false)
  • --tlscacert: Path to the CA (default /certs/ca.pem)
  • @@ -152,6 +191,8 @@ $ docker run -d -p 10.20.30.1:80:9000 --privileged -v /var/run/docker.sock:/var/
  • --tlskey: Path to the TLS key (default /certs/key.pem)
  • +--hide-label, -l: Hide containers with a specific label in the UI
  • +
  • --logo: URL to a picture to be displayed as a logo in the UI
  • diff --git a/params.json b/params.json index baa7c9b1d..666420360 100644 --- a/params.json +++ b/params.json @@ -1,6 +1,6 @@ { "name": "Cloudinovasi-ui", "tagline": "Cloudinovasi UI for Docker/Swarm", - "body": "# Cloudinovasi UI for Docker\r\n\r\n![Dashboard](https://raw.githubusercontent.com/cloud-inovasi/cloudinovasi-ui/develop/dashboard.png)\r\n\r\nCloudInovasi UI is a web interface for the Docker Remote API. The goal is to provide a pure client side implementation so it is effortless to connect and manage Docker.\r\n\r\n## Goals\r\n\r\n* Minimal dependencies - I really want to keep this project a pure html/js app.\r\n* Consistency - The web UI should be consistent with the commands found on the docker CLI.\r\n\r\n## Supported Docker versions\r\n\r\nThe current Docker version support policy is the following: `N` to `N-2` included where `N` is the latest version.\r\n\r\nAt the moment, the following versions are supported: 1.9, 1.10 & 1.11.\r\n\r\n## Run\r\n\r\n### Quickstart\r\n\r\n1. Run: `docker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock cloudinovasi/cloudinovasi-ui`\r\n\r\n2. Open your browser to `http://:9000`\r\n\r\nBind mounting the Unix socket into the UI For Docker container is much more secure than exposing your docker daemon over TCP.\r\n\r\nThe `--privileged` flag is required for hosts using SELinux.\r\n\r\n### Specify socket to connect to Docker daemon\r\n\r\nBy default UI For Docker connects to the Docker daemon with`/var/run/docker.sock`. For this to work you need to bind mount the unix socket into the container with `-v /var/run/docker.sock:/var/run/docker.sock`.\r\n\r\nYou can use the `--host`, `-H` flags to change this socket:\r\n\r\n```\r\n# Connect to a tcp socket:\r\n$ docker run -d -p 9000:9000 cloudinovasi/cloudinovasi-ui -H tcp://127.0.0.1:2375\r\n```\r\n\r\n```\r\n# Connect to another unix socket:\r\n$ docker run -d -p 9000:9000 cloudinovasi/cloudinovasi-ui -H unix:///path/to/docker.sock\r\n```\r\n\r\n### Swarm support\r\n\r\n**Supported Swarm version: 1.2.3**\r\n\r\nYou can access a specific view for you Swarm cluster by defining the `--swarm` flag:\r\n\r\n```\r\n# Connect to a tcp socket and enable Swarm:\r\n$ docker run -d -p 9000:9000 cloudinovasi/cloudinovasi-ui -H tcp://: --swarm\r\n```\r\n\r\n*NOTE*: Due to Swarm not exposing information in a machine readable way, the app is bound to a specific version of Swarm at the moment.\r\n\r\n### Change address/port UI For Docker is served on\r\nUI For Docker listens on port 9000 by default. If you run UI For Docker inside a container then you can bind the container's internal port to any external address and port:\r\n\r\n```\r\n# Expose UI For Docker on 10.20.30.1:80\r\n$ docker run -d -p 10.20.30.1:80:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock cloudinovasi/cloudinovasi-ui\r\n```\r\n\r\n### Access a Docker engine protected via TLS\r\n\r\nEnsure that you have access to the CA, the cert and the public key used to access your Docker engine. \r\n\r\nThese files will need to be named `ca.pem`, `cert.pem` and `key.pem` respectively. Store them somewhere on your disk and mount a volume containing these files inside the UI container:\r\n\r\n```\r\n$ docker run -d -p 9000:9000 cloudinovasi/cloudinovasi-ui -v /path/to/certs:/certs -H https://my-docker-host.domain:2376 --tlsverify\r\n```\r\n\r\nYou can also use the `--tlscacert`, `--tlscert` and `--tlskey` flags if you want to change the default path to the CA, certificate and key file respectively:\r\n\r\n```\r\n$ docker run -d -p 9000:9000 cloudinovasi/cloudinovasi-ui -v /path/to/certs:/certs -H https://my-docker-host.domain:2376 --tlsverify --tlscacert /certs/myCa.pem --tlscert /certs/myCert.pem --tlskey /certs/myKey.pem\r\n```\r\n\r\n*Note*: Replace `/path/to/certs` to the path to the certificate files on your disk.\r\n\r\n### Hide containers with specific labels\r\n\r\nYou can hide specific containers in the containers view by using the `-hide-label` or `-l` options and specifying a label.\r\n\r\nFor example, take a container started with the label `owner=acme`:\r\n\r\n```\r\n$ docker run -d --label owner=acme nginx\r\n```\r\n\r\nYou can hide it in the view by starting the ui with:\r\n\r\n```\r\n$ docker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock cloudinovasi/cloudinovasi-ui -l owner=acme\r\n```\r\n\r\n### Available options\r\n\r\nThe following options are available for the `ui-for-docker` binary:\r\n\r\n* `--host`, `-H`: Docker daemon endpoint (default: `\"unix:///var/run/docker.sock\"`)\r\n* `--bind`, `-p`: Address and port to serve UI For Docker (default: `\":9000\"`)\r\n* `--data`, `-d`: Path to the data folder (default: `\".\"`)\r\n* `--assets`, `-a`: Path to the assets (default: `\".\"`)\r\n* `--swarm`, `-s`: Swarm cluster support (default: `false`)\r\n* `--hide-label`, `-l`: Hide containers with a specific label in the UI\r\n* `--tlsverify`: TLS support (default: `false`)\r\n* `--tlscacert`: Path to the CA (default `/certs/ca.pem`)\r\n* `--tlscert`: Path to the TLS certificate file (default `/certs/cert.pem`)\r\n* `--tlskey`: Path to the TLS key (default `/certs/key.pem`)\r\n* `--logo`: URL to a picture to be displayed as a logo in the UI", + "body": "# Cloudinovasi UI for Docker\r\n\r\n![Dashboard](https://raw.githubusercontent.com/cloud-inovasi/cloudinovasi-ui/develop/dashboard.png)\r\n\r\nCloudInovasi UI is a web interface for the Docker Remote API. The goal is to provide a pure client side implementation so it is effortless to connect and manage Docker.\r\n\r\n## Goals\r\n\r\n* Minimal dependencies - I really want to keep this project a pure html/js app.\r\n* Consistency - The web UI should be consistent with the commands found on the docker CLI.\r\n\r\n## Supported Docker versions\r\n\r\nThe current Docker version support policy is the following: `N` to `N-2` included where `N` is the latest version.\r\n\r\nAt the moment, the following versions are supported: 1.9, 1.10 & 1.11.\r\n\r\n## Run\r\n\r\n### Quickstart\r\n\r\n1. Run: `docker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock cloudinovasi/cloudinovasi-ui`\r\n\r\n2. Open your browser to `http://:9000`\r\n\r\nBind mounting the Unix socket into the UI For Docker container is much more secure than exposing your docker daemon over TCP.\r\n\r\nThe `--privileged` flag is required for hosts using SELinux.\r\n\r\n### Specify socket to connect to Docker daemon\r\n\r\nBy default UI For Docker connects to the Docker daemon with`/var/run/docker.sock`. For this to work you need to bind mount the unix socket into the container with `-v /var/run/docker.sock:/var/run/docker.sock`.\r\n\r\nYou can use the `--host`, `-H` flags to change this socket:\r\n\r\n```\r\n# Connect to a tcp socket:\r\n$ docker run -d -p 9000:9000 cloudinovasi/cloudinovasi-ui -H tcp://127.0.0.1:2375\r\n```\r\n\r\n```\r\n# Connect to another unix socket:\r\n$ docker run -d -p 9000:9000 cloudinovasi/cloudinovasi-ui -H unix:///path/to/docker.sock\r\n```\r\n\r\n### Swarm support\r\n\r\n**Supported Swarm version: 1.2.3**\r\n\r\nYou can access a specific view for you Swarm cluster by defining the `--swarm` flag:\r\n\r\n```\r\n# Connect to a tcp socket and enable Swarm:\r\n$ docker run -d -p 9000:9000 cloudinovasi/cloudinovasi-ui -H tcp://: --swarm\r\n```\r\n\r\n*NOTE*: Due to Swarm not exposing information in a machine readable way, the app is bound to a specific version of Swarm at the moment.\r\n\r\n### Change address/port UI For Docker is served on\r\nUI For Docker listens on port 9000 by default. If you run UI For Docker inside a container then you can bind the container's internal port to any external address and port:\r\n\r\n```\r\n# Expose UI For Docker on 10.20.30.1:80\r\n$ docker run -d -p 10.20.30.1:80:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock cloudinovasi/cloudinovasi-ui\r\n```\r\n\r\n### Access a Docker engine protected via TLS\r\n\r\nEnsure that you have access to the CA, the cert and the public key used to access your Docker engine. \r\n\r\nThese files will need to be named `ca.pem`, `cert.pem` and `key.pem` respectively. Store them somewhere on your disk and mount a volume containing these files inside the UI container:\r\n\r\n```\r\n$ docker run -d -p 9000:9000 cloudinovasi/cloudinovasi-ui -v /path/to/certs:/certs -H https://my-docker-host.domain:2376 --tlsverify\r\n```\r\n\r\nYou can also use the `--tlscacert`, `--tlscert` and `--tlskey` flags if you want to change the default path to the CA, certificate and key file respectively:\r\n\r\n```\r\n$ docker run -d -p 9000:9000 cloudinovasi/cloudinovasi-ui -v /path/to/certs:/certs -H https://my-docker-host.domain:2376 --tlsverify --tlscacert /certs/myCa.pem --tlscert /certs/myCert.pem --tlskey /certs/myKey.pem\r\n```\r\n\r\n*Note*: Replace `/path/to/certs` to the path to the certificate files on your disk.\r\n\r\n### Use your own logo\r\n\r\nYou can use the `--logo` flag to specify an URL to your own logo.\r\n\r\nFor example, using the Docker logo:\r\n\r\n```\r\n$ docker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock cloudinovasi/cloudinovasi-ui --logo \"https://www.docker.com/sites/all/themes/docker/assets/images/brand-full.svg\"\r\n```\r\n\r\nThe custom logo will replace the CloudInovasi logo in the UI.\r\n\r\n### Hide containers with specific labels\r\n\r\nYou can hide specific containers in the containers view by using the `--hide-label` or `-l` options and specifying a label.\r\n\r\nFor example, take a container started with the label `owner=acme`:\r\n\r\n```\r\n$ docker run -d --label owner=acme nginx\r\n```\r\n\r\nYou can hide it in the view by starting the ui with:\r\n\r\n```\r\n$ docker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock cloudinovasi/cloudinovasi-ui -l owner=acme\r\n```\r\n\r\n### Reverse proxy configuration\r\n\r\nHas been tested with Nginx 1.11.\r\n\r\nUse the following configuration to host the UI at `myhost.mydomain.com/dockerui`:\r\n\r\n```nginx\r\nupstream cloudinovasi-ui {\r\n server ADDRESS:PORT;\r\n}\r\n\r\nserver {\r\n listen 80;\r\n\r\n location /dockerui/ {\r\n proxy_http_version 1.1;\r\n proxy_set_header Connection \"\";\r\n proxy_pass http://cloudinovasi-ui/;\r\n }\r\n location /dockerui/ws/ {\r\n proxy_set_header Upgrade $http_upgrade;\r\n proxy_set_header Connection \"upgrade\";\r\n proxy_http_version 1.1;\r\n proxy_pass http://cloudinovasi-ui/ws/;\r\n }\r\n}\r\n```\r\n\r\nReplace `ADDRESS:PORT` with the CloudInovasi UI container details.\r\n\r\n### Available options\r\n\r\nThe following options are available for the `ui-for-docker` binary:\r\n\r\n* `--host`, `-H`: Docker daemon endpoint (default: `\"unix:///var/run/docker.sock\"`)\r\n* `--bind`, `-p`: Address and port to serve UI For Docker (default: `\":9000\"`)\r\n* `--data`, `-d`: Path to the data folder (default: `\".\"`)\r\n* `--assets`, `-a`: Path to the assets (default: `\".\"`)\r\n* `--swarm`, `-s`: Swarm cluster support (default: `false`)\r\n* `--tlsverify`: TLS support (default: `false`)\r\n* `--tlscacert`: Path to the CA (default `/certs/ca.pem`)\r\n* `--tlscert`: Path to the TLS certificate file (default `/certs/cert.pem`)\r\n* `--tlskey`: Path to the TLS key (default `/certs/key.pem`)\r\n* `--hide-label`, `-l`: Hide containers with a specific label in the UI\r\n* `--logo`: URL to a picture to be displayed as a logo in the UI", "note": "Don't delete this file! It's used internally to help with page regeneration." } \ No newline at end of file