Merge pull request #2620 from dokku/2356-proxy-report
Implement domains:report and proxy:report
This commit is contained in:
@@ -3,19 +3,21 @@
|
||||
> New as of 0.5.0, Enhanced in 0.6.0
|
||||
|
||||
```
|
||||
proxy <app> # Show proxy settings for app
|
||||
proxy:disable <app> # Disable proxy for app
|
||||
proxy:enable <app> # Enable proxy for app
|
||||
proxy:ports <app> # List proxy port mappings for app
|
||||
proxy:ports-add <app> <scheme>:<host-port>:<container-port> [<scheme>:<host-port>:<container-port>...] # Set proxy port mappings for app
|
||||
proxy:ports-clear <app> # Clear all proxy port mappings for app
|
||||
proxy:ports-remove <app> <host-port> [<host-port>|<scheme>:<host-port>:<container-port>...] # Unset proxy port mappings for app
|
||||
proxy:report [<app>] [<flag>] # Displays a proxy report for one or more apps
|
||||
proxy:set <app> <proxy-type> # Set proxy type for app
|
||||
```
|
||||
|
||||
In Dokku 0.5.0, port proxying was decoupled from the `nginx-vhosts` plugin into the proxy plugin. Dokku 0.6.0 introduced the ability to map host ports to specific container ports. In the future this will allow other proxy software - such as HAProxy or Caddy - to be used in place of nginx.
|
||||
|
||||
## Container network interface binding
|
||||
## Usage
|
||||
|
||||
### Container network interface binding
|
||||
|
||||
> New as of 0.5.0
|
||||
|
||||
@@ -58,7 +60,51 @@ CONTAINER ID IMAGE COMMAND CREATED
|
||||
d6499edb0edb dokku/node-js-app:latest "/bin/bash -c '/star About a minute ago Up About a minute 0.0.0.0:49153->5000/tcp node-js-app.web.1
|
||||
```
|
||||
|
||||
## Proxy port mapping
|
||||
### Displaying proxy reports about an app
|
||||
|
||||
> New as of 0.8.1
|
||||
|
||||
You can get a report about the app's proxy status using the `proxy:report` command:
|
||||
|
||||
```shell
|
||||
dokku proxy:report
|
||||
```
|
||||
|
||||
```
|
||||
=====> node-js-app proxy information
|
||||
Proxy enabled: true
|
||||
Proxy type: nginx
|
||||
Proxy port map: http:80:5000 https:443:5000
|
||||
=====> python-sample proxy information
|
||||
Proxy enabled: true
|
||||
Proxy type: nginx
|
||||
Proxy port map: http:80:5000
|
||||
=====> ruby-sample proxy information
|
||||
Proxy enabled: true
|
||||
Proxy type: nginx
|
||||
Proxy port map: http:80:5000
|
||||
```
|
||||
|
||||
You can run the command for a specific app also.
|
||||
|
||||
```shell
|
||||
dokku proxy:report node-js-app
|
||||
```
|
||||
|
||||
```
|
||||
=====> node-js-app proxy information
|
||||
Proxy enabled: true
|
||||
Proxy type: nginx
|
||||
Proxy port map: http:80:5000 https:443:5000
|
||||
```
|
||||
|
||||
You can pass flags which will output only the value of the specific information you want. For example:
|
||||
|
||||
```shell
|
||||
dokku proxy:report node-js-app --proxy-type
|
||||
```
|
||||
|
||||
### Proxy port mapping
|
||||
|
||||
> New as of 0.6.0
|
||||
|
||||
@@ -141,7 +187,7 @@ By default, buildpack apps and dockerfile apps **without** explicitly exposed po
|
||||
|
||||
> Note: This default behavior **will not** be automatically changed on subsequent pushes and must be manipulated with the `proxy:ports-*` syntax detailed above.
|
||||
|
||||
## Proxy Port Scheme
|
||||
#### Proxy Port Scheme
|
||||
|
||||
The proxy port scheme is as follows:
|
||||
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
> New as of 0.3.10
|
||||
|
||||
```
|
||||
domains [<app>|--global] # List domains
|
||||
domains:add <app> <domain> [<domain> ...] # Add domains to app
|
||||
domains:add-global <domain> [<domain> ...] # Add global domain names
|
||||
domains:clear <app> # Clear all domains for app
|
||||
@@ -11,6 +10,7 @@ domains:disable <app> # Disable VHOST support
|
||||
domains:enable <app> # Enable VHOST support
|
||||
domains:remove <app> <domain> [<domain> ...] # Remove domains from app
|
||||
domains:remove-global <domain> [<domain> ...] # Remove global domain names
|
||||
domains:report [<app>] [<flag>] # Displays a domains report for one or more apps
|
||||
domains:set <app> <domain> [<domain> ...] # Set domains for app
|
||||
domains:set-global <domain> [<domain> ...] # Set global domain names
|
||||
```
|
||||
@@ -41,7 +41,7 @@ NEW_SUBDOMAIN=`echo $SUBDOMAIN | rev`
|
||||
echo "$NEW_SUBDOMAIN.$VHOST"
|
||||
```
|
||||
|
||||
If the `nginx-hostname` has no output, the normal hostname algorithm will be executed.
|
||||
If the `nginx-hostname` plugin has no output, the normal hostname algorithm will be executed.
|
||||
|
||||
## Disabling VHOSTS
|
||||
|
||||
@@ -75,6 +75,54 @@ dokku domains:remove myapp example.com
|
||||
dokku domains:set myapp example.com example.org
|
||||
```
|
||||
|
||||
## Displaying domains reports about an app
|
||||
|
||||
> New as of 0.8.1
|
||||
|
||||
You can get a report about the app's domains status using the `domains:report` command:
|
||||
|
||||
```shell
|
||||
dokku domains:report
|
||||
```
|
||||
|
||||
```
|
||||
=====> node-js-app domains information
|
||||
Domains app enabled: true
|
||||
Domains app vhosts: ruby-sample.example.org
|
||||
Domains global enabled: true
|
||||
Domains global vhosts: example.org
|
||||
=====> python-sample domains information
|
||||
Domains app enabled: true
|
||||
Domains app vhosts: ruby-sample.example.org
|
||||
Domains global enabled: true
|
||||
Domains global vhosts: example.org
|
||||
=====> ruby-sample domains information
|
||||
Domains app enabled: true
|
||||
Domains app vhosts: ruby-sample.example.org
|
||||
Domains global enabled: true
|
||||
Domains global vhosts: example.org
|
||||
```
|
||||
|
||||
You can run the command for a specific app also.
|
||||
|
||||
```shell
|
||||
dokku domains:report node-js-app
|
||||
```
|
||||
|
||||
```
|
||||
=====> node-js-app domains information
|
||||
Domains app enabled: true
|
||||
Domains app vhosts: node-js-app.example.org
|
||||
Domains global enabled: true
|
||||
Domains global vhosts: example.org
|
||||
```
|
||||
|
||||
You can pass flags which will output only the value of the specific information you want. For example:
|
||||
|
||||
```shell
|
||||
dokku domains:report node-js-app --domains-app-enabled
|
||||
```
|
||||
|
||||
## Default site
|
||||
|
||||
By default, Dokku will route any received request with an unknown HOST header value to the lexicographically first site in the nginx config stack. If this is not the desired behavior, you may want to add the following configuration to the global nginx configuration.
|
||||
|
||||
Reference in New Issue
Block a user