Compare commits
22 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d09cfb82f8 | ||
|
|
d02efdcc05 | ||
|
|
06bdee37ff | ||
|
|
e4c0c6b9d9 | ||
|
|
72c5172873 | ||
|
|
36e02c74fd | ||
|
|
3ae9feba8f | ||
|
|
757a829137 | ||
|
|
f7e218637e | ||
|
|
dbe80de925 | ||
|
|
4de1937e41 | ||
|
|
d4a634d24e | ||
|
|
2480b773a1 | ||
|
|
7f0b43c18f | ||
|
|
68efb73be6 | ||
|
|
2b76903bf3 | ||
|
|
6a4a94e236 | ||
|
|
9139c81db9 | ||
|
|
14249de8e5 | ||
|
|
b4db0c1a6c | ||
|
|
cd97ac3388 | ||
|
|
73f3ce7579 |
46
HISTORY.md
46
HISTORY.md
@@ -1,5 +1,51 @@
|
|||||||
# History
|
# History
|
||||||
|
|
||||||
|
## 0.23.7
|
||||||
|
|
||||||
|
Install/update via the bootstrap script:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
wget https://raw.githubusercontent.com/dokku/dokku/v0.23.7/bootstrap.sh
|
||||||
|
sudo DOKKU_TAG=v0.23.7 bash bootstrap.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- #4421: @josegonzalez Keep the git directory for worktree-enabled installations
|
||||||
|
|
||||||
|
### New Features
|
||||||
|
|
||||||
|
- #4420: @josegonzalez Add ability to specify X-Forwarded-Ssl header for proxied requests
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
|
||||||
|
- #4422: @josegonzalez Add warning regarding shallow clone pushes
|
||||||
|
- #4417: @andrewk17 Correct vector sink example command
|
||||||
|
- #4414: @josegonzalez Use correct html for offsite digitalocean link
|
||||||
|
- #4413: @josegonzalez Fix SSL documentation link in troubleshooting docs
|
||||||
|
|
||||||
|
### Other
|
||||||
|
|
||||||
|
- #4423: @josegonzalez Drop unused sigil packaging code
|
||||||
|
- #4418: @josegonzalez Drop unused skip-restart flag for proxy:disable
|
||||||
|
|
||||||
|
## 0.23.6
|
||||||
|
|
||||||
|
Install/update via the bootstrap script:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
wget https://raw.githubusercontent.com/dokku/dokku/v0.23.6/bootstrap.sh
|
||||||
|
sudo DOKKU_TAG=v0.23.6 bash bootstrap.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
- #4412: @markuspoerschke Fix generation of crontab
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
|
||||||
|
- #4411: @ltalirz Replace nginx:build-config => proxy:build-config
|
||||||
|
|
||||||
## 0.23.5
|
## 0.23.5
|
||||||
|
|
||||||
Install/update via the bootstrap script:
|
Install/update via the bootstrap script:
|
||||||
|
|||||||
@@ -99,8 +99,8 @@ Otherwise, you will need to import the keypair manually after installation using
|
|||||||
To install the latest stable release, run the following commands as a user who has access to `sudo`:
|
To install the latest stable release, run the following commands as a user who has access to `sudo`:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
wget https://raw.githubusercontent.com/dokku/dokku/v0.23.5/bootstrap.sh
|
wget https://raw.githubusercontent.com/dokku/dokku/v0.23.7/bootstrap.sh
|
||||||
sudo DOKKU_TAG=v0.23.5 bash bootstrap.sh
|
sudo DOKKU_TAG=v0.23.7 bash bootstrap.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
You can then proceed to the ip address or domain name associated with your server to complete the web-based installation.
|
You can then proceed to the ip address or domain name associated with your server to complete the web-based installation.
|
||||||
|
|||||||
@@ -35,7 +35,6 @@ RUN PLUGIN_MAKE_TARGET=${PLUGIN_MAKE_TARGET} \
|
|||||||
IS_RELEASE=${IS_RELEASE} \
|
IS_RELEASE=${IS_RELEASE} \
|
||||||
SKIP_GO_CLEAN=true \
|
SKIP_GO_CLEAN=true \
|
||||||
make version copyfiles \
|
make version copyfiles \
|
||||||
&& make deb-dokku deb-sigil \
|
&& make deb-dokku rpm-dokku
|
||||||
rpm-dokku rpm-sigil
|
|
||||||
|
|
||||||
RUN ls -lha /tmp/
|
RUN ls -lha /tmp/
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import subprocess
|
|||||||
import sys
|
import sys
|
||||||
import threading
|
import threading
|
||||||
|
|
||||||
VERSION = 'v0.23.5'
|
VERSION = 'v0.23.7'
|
||||||
|
|
||||||
def bytes_to_string(b):
|
def bytes_to_string(b):
|
||||||
if type(b) == bytes:
|
if type(b) == bytes:
|
||||||
|
|||||||
41
deb.mk
41
deb.mk
@@ -10,26 +10,12 @@ DOKKU_UPDATE_VERSION ?= 0.2.0
|
|||||||
DOKKU_UPDATE_ARCHITECTURE = amd64
|
DOKKU_UPDATE_ARCHITECTURE = amd64
|
||||||
DOKKU_UPDATE_PACKAGE_NAME = dokku-update_$(DOKKU_UPDATE_VERSION)_$(DOKKU_UPDATE_ARCHITECTURE).deb
|
DOKKU_UPDATE_PACKAGE_NAME = dokku-update_$(DOKKU_UPDATE_VERSION)_$(DOKKU_UPDATE_ARCHITECTURE).deb
|
||||||
|
|
||||||
define SIGIL_DESCRIPTION
|
|
||||||
Standalone string interpolator and template processor
|
|
||||||
Sigil is a command line tool for template processing
|
|
||||||
and POSIX-compliant variable expansion. It was created
|
|
||||||
for configuration templating, but can be used for any
|
|
||||||
text processing.
|
|
||||||
endef
|
|
||||||
SIGIL_REPO_NAME ?= gliderlabs/sigil
|
|
||||||
SIGIL_VERSION ?= 0.4.0
|
|
||||||
SIGIL_ARCHITECTURE = amd64
|
|
||||||
SIGIL_PACKAGE_NAME = gliderlabs_sigil_$(SIGIL_VERSION)_$(SIGIL_ARCHITECTURE).deb
|
|
||||||
SIGIL_URL = https://github.com/gliderlabs/sigil/releases/download/v$(SIGIL_VERSION)/sigil_$(SIGIL_VERSION)_Linux_x86_64.tgz
|
|
||||||
|
|
||||||
ifndef IS_RELEASE
|
ifndef IS_RELEASE
|
||||||
IS_RELEASE = true
|
IS_RELEASE = true
|
||||||
endif
|
endif
|
||||||
|
|
||||||
export SIGIL_DESCRIPTION
|
|
||||||
|
|
||||||
.PHONY: install-from-deb deb-all deb-dokku deb-dokku-update deb-setup deb-sigil
|
.PHONY: install-from-deb deb-all deb-dokku deb-dokku-update deb-setup
|
||||||
|
|
||||||
install-from-deb:
|
install-from-deb:
|
||||||
@echo "--> Initial apt-get update"
|
@echo "--> Initial apt-get update"
|
||||||
@@ -45,7 +31,7 @@ install-from-deb:
|
|||||||
sudo apt-get update -qq >/dev/null
|
sudo apt-get update -qq >/dev/null
|
||||||
sudo DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true apt-get -qq -y --no-install-recommends install dokku
|
sudo DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true apt-get -qq -y --no-install-recommends install dokku
|
||||||
|
|
||||||
deb-all: deb-setup deb-dokku deb-sigil deb-dokku-update
|
deb-all: deb-setup deb-dokku deb-dokku-update
|
||||||
mv $(BUILD_DIRECTORY)/*.deb .
|
mv $(BUILD_DIRECTORY)/*.deb .
|
||||||
@echo "Done"
|
@echo "Done"
|
||||||
|
|
||||||
@@ -84,26 +70,3 @@ deb-dokku-update:
|
|||||||
--license 'MIT License' \
|
--license 'MIT License' \
|
||||||
contrib/dokku-update=/usr/local/bin/dokku-update \
|
contrib/dokku-update=/usr/local/bin/dokku-update \
|
||||||
contrib/dokku-update-version=/var/lib/dokku-update/VERSION
|
contrib/dokku-update-version=/var/lib/dokku-update/VERSION
|
||||||
|
|
||||||
deb-sigil:
|
|
||||||
rm -rf /tmp/tmp /tmp/build $(SIGIL_PACKAGE_NAME)
|
|
||||||
mkdir -p /tmp/tmp /tmp/build /tmp/build/usr/bin
|
|
||||||
|
|
||||||
@echo "-> Downloading package"
|
|
||||||
wget -q -O /tmp/tmp/sigil-$(SIGIL_VERSION).tgz $(SIGIL_URL)
|
|
||||||
cd /tmp/tmp/ && tar zxf /tmp/tmp/sigil-$(SIGIL_VERSION).tgz
|
|
||||||
|
|
||||||
@echo "-> Copying files into place"
|
|
||||||
cp /tmp/tmp/sigil /tmp/build/usr/bin/sigil && chmod +x /tmp/build/usr/bin/sigil
|
|
||||||
|
|
||||||
@echo "-> Creating $(SIGIL_PACKAGE_NAME)"
|
|
||||||
sudo fpm -t deb -s dir -C /tmp/build -n gliderlabs-sigil \
|
|
||||||
--version $(SIGIL_VERSION) \
|
|
||||||
--architecture $(SIGIL_ARCHITECTURE) \
|
|
||||||
--package $(BUILD_DIRECTORY)/$(SIGIL_PACKAGE_NAME) \
|
|
||||||
--url "https://github.com/$(SIGIL_REPO_NAME)" \
|
|
||||||
--maintainer "Jose Diaz-Gonzalez <dokku@josediazgonzalez.com>" \
|
|
||||||
--category utils \
|
|
||||||
--description "$$SIGIL_DESCRIPTION" \
|
|
||||||
--license 'MIT License' \
|
|
||||||
.
|
|
||||||
|
|||||||
2
debian/control
vendored
2
debian/control
vendored
@@ -1,5 +1,5 @@
|
|||||||
Package: dokku
|
Package: dokku
|
||||||
Version: 0.23.5
|
Version: 0.23.7
|
||||||
Section: web
|
Section: web
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Architecture: amd64
|
Architecture: amd64
|
||||||
|
|||||||
@@ -35,35 +35,35 @@ dokku plugin:list
|
|||||||
|
|
||||||
```
|
```
|
||||||
plugn: dev
|
plugn: dev
|
||||||
00_dokku-standard 0.23.5 enabled dokku core standard plugin
|
00_dokku-standard 0.23.7 enabled dokku core standard plugin
|
||||||
20_events 0.23.5 enabled dokku core events logging plugin
|
20_events 0.23.7 enabled dokku core events logging plugin
|
||||||
app-json 0.23.5 enabled dokku core app-json plugin
|
app-json 0.23.7 enabled dokku core app-json plugin
|
||||||
apps 0.23.5 enabled dokku core apps plugin
|
apps 0.23.7 enabled dokku core apps plugin
|
||||||
build-env 0.23.5 enabled dokku core build-env plugin
|
build-env 0.23.7 enabled dokku core build-env plugin
|
||||||
buildpacks 0.23.5 enabled dokku core buildpacks plugin
|
buildpacks 0.23.7 enabled dokku core buildpacks plugin
|
||||||
certs 0.23.5 enabled dokku core certificate management plugin
|
certs 0.23.7 enabled dokku core certificate management plugin
|
||||||
checks 0.23.5 enabled dokku core checks plugin
|
checks 0.23.7 enabled dokku core checks plugin
|
||||||
common 0.23.5 enabled dokku core common plugin
|
common 0.23.7 enabled dokku core common plugin
|
||||||
config 0.23.5 enabled dokku core config plugin
|
config 0.23.7 enabled dokku core config plugin
|
||||||
docker-options 0.23.5 enabled dokku core docker-options plugin
|
docker-options 0.23.7 enabled dokku core docker-options plugin
|
||||||
domains 0.23.5 enabled dokku core domains plugin
|
domains 0.23.7 enabled dokku core domains plugin
|
||||||
enter 0.23.5 enabled dokku core enter plugin
|
enter 0.23.7 enabled dokku core enter plugin
|
||||||
git 0.23.5 enabled dokku core git plugin
|
git 0.23.7 enabled dokku core git plugin
|
||||||
logs 0.23.5 enabled dokku core logs plugin
|
logs 0.23.7 enabled dokku core logs plugin
|
||||||
network 0.23.5 enabled dokku core network plugin
|
network 0.23.7 enabled dokku core network plugin
|
||||||
nginx-vhosts 0.23.5 enabled dokku core nginx-vhosts plugin
|
nginx-vhosts 0.23.7 enabled dokku core nginx-vhosts plugin
|
||||||
plugin 0.23.5 enabled dokku core plugin plugin
|
plugin 0.23.7 enabled dokku core plugin plugin
|
||||||
proxy 0.23.5 enabled dokku core proxy plugin
|
proxy 0.23.7 enabled dokku core proxy plugin
|
||||||
ps 0.23.5 enabled dokku core ps plugin
|
ps 0.23.7 enabled dokku core ps plugin
|
||||||
repo 0.23.5 enabled dokku core repo plugin
|
repo 0.23.7 enabled dokku core repo plugin
|
||||||
resource 0.23.5 enabled dokku core resource plugin
|
resource 0.23.7 enabled dokku core resource plugin
|
||||||
scheduler-docker-local 0.23.5 enabled dokku core scheduler-docker-local plugin
|
scheduler-docker-local 0.23.7 enabled dokku core scheduler-docker-local plugin
|
||||||
shell 0.23.5 enabled dokku core shell plugin
|
shell 0.23.7 enabled dokku core shell plugin
|
||||||
ssh-keys 0.23.5 enabled dokku core ssh-keys plugin
|
ssh-keys 0.23.7 enabled dokku core ssh-keys plugin
|
||||||
storage 0.23.5 enabled dokku core storage plugin
|
storage 0.23.7 enabled dokku core storage plugin
|
||||||
tags 0.23.5 enabled dokku core tags plugin
|
tags 0.23.7 enabled dokku core tags plugin
|
||||||
tar 0.23.5 enabled dokku core tar plugin
|
tar 0.23.7 enabled dokku core tar plugin
|
||||||
trace 0.23.5 enabled dokku core trace plugin
|
trace 0.23.7 enabled dokku core trace plugin
|
||||||
```
|
```
|
||||||
|
|
||||||
> Warning: All plugin commands other than `plugin:list` and `plugin:help` require sudo access and must be run directly from the Dokku server.
|
> Warning: All plugin commands other than `plugin:list` and `plugin:help` require sudo access and must be run directly from the Dokku server.
|
||||||
|
|||||||
@@ -2,10 +2,10 @@
|
|||||||
<browserconfig>
|
<browserconfig>
|
||||||
<msapplication>
|
<msapplication>
|
||||||
<tile>
|
<tile>
|
||||||
<square70x70logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/mstile-70x70.png"/>
|
<square70x70logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/mstile-70x70.png"/>
|
||||||
<square150x150logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/mstile-150x150.png"/>
|
<square150x150logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/mstile-150x150.png"/>
|
||||||
<square310x310logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/mstile-310x310.png"/>
|
<square310x310logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/mstile-310x310.png"/>
|
||||||
<wide310x150logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/mstile-310x150.png"/>
|
<wide310x150logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/mstile-310x150.png"/>
|
||||||
<TileColor>#da532c</TileColor>
|
<TileColor>#da532c</TileColor>
|
||||||
</tile>
|
</tile>
|
||||||
</msapplication>
|
</msapplication>
|
||||||
|
|||||||
@@ -2,37 +2,37 @@
|
|||||||
"name": "Dokku",
|
"name": "Dokku",
|
||||||
"icons": [
|
"icons": [
|
||||||
{
|
{
|
||||||
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.23.5\/docs\/assets\/favicons\/android-chrome-36x36.png",
|
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.23.7\/docs\/assets\/favicons\/android-chrome-36x36.png",
|
||||||
"sizes": "36x36",
|
"sizes": "36x36",
|
||||||
"type": "image\/png",
|
"type": "image\/png",
|
||||||
"density": "0.75"
|
"density": "0.75"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.23.5\/docs\/assets\/favicons\/android-chrome-48x48.png",
|
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.23.7\/docs\/assets\/favicons\/android-chrome-48x48.png",
|
||||||
"sizes": "48x48",
|
"sizes": "48x48",
|
||||||
"type": "image\/png",
|
"type": "image\/png",
|
||||||
"density": "1.0"
|
"density": "1.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.23.5\/docs\/assets\/favicons\/android-chrome-72x72.png",
|
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.23.7\/docs\/assets\/favicons\/android-chrome-72x72.png",
|
||||||
"sizes": "72x72",
|
"sizes": "72x72",
|
||||||
"type": "image\/png",
|
"type": "image\/png",
|
||||||
"density": "1.5"
|
"density": "1.5"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.23.5\/docs\/assets\/favicons\/android-chrome-96x96.png",
|
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.23.7\/docs\/assets\/favicons\/android-chrome-96x96.png",
|
||||||
"sizes": "96x96",
|
"sizes": "96x96",
|
||||||
"type": "image\/png",
|
"type": "image\/png",
|
||||||
"density": "2.0"
|
"density": "2.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.23.5\/docs\/assets\/favicons\/android-chrome-144x144.png",
|
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.23.7\/docs\/assets\/favicons\/android-chrome-144x144.png",
|
||||||
"sizes": "144x144",
|
"sizes": "144x144",
|
||||||
"type": "image\/png",
|
"type": "image\/png",
|
||||||
"density": "3.0"
|
"density": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.23.5\/docs\/assets\/favicons\/android-chrome-192x192.png",
|
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.23.7\/docs\/assets\/favicons\/android-chrome-192x192.png",
|
||||||
"sizes": "192x192",
|
"sizes": "192x192",
|
||||||
"type": "image\/png",
|
"type": "image\/png",
|
||||||
"density": "4.0"
|
"density": "4.0"
|
||||||
|
|||||||
@@ -39,13 +39,13 @@ h1 {
|
|||||||
font-size: 1.6em;
|
font-size: 1.6em;
|
||||||
}
|
}
|
||||||
.header .navbar-brand a {
|
.header .navbar-brand a {
|
||||||
background-image: url(https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/dokku.png);
|
background-image: url(https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/dokku.png);
|
||||||
text-indent: 40px;
|
text-indent: 40px;
|
||||||
}
|
}
|
||||||
.blurb {
|
.blurb {
|
||||||
color: #424242;
|
color: #424242;
|
||||||
background-color: #ededed;
|
background-color: #ededed;
|
||||||
background-image: url(https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/gplaypattern.png);
|
background-image: url(https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/gplaypattern.png);
|
||||||
padding: 45px 0;
|
padding: 45px 0;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,6 @@
|
|||||||
"0.20.4",
|
"0.20.4",
|
||||||
"0.21.4",
|
"0.21.4",
|
||||||
"0.22.9",
|
"0.22.9",
|
||||||
"0.23.5"
|
"0.23.7"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ Beware that if you enable the header and a subsequent deploy of your application
|
|||||||
|
|
||||||
#### Globally disabling the HSTS Header
|
#### Globally disabling the HSTS Header
|
||||||
|
|
||||||
HSTS Header can be disabled for all apps by setting the `hsts` property to false after passing the `--global` flag to `nginx:set`. Changing this value globally or on a per-app basis will require rebuilding the nginx config via the `nginx:build-config` command.
|
HSTS Header can be disabled for all apps by setting the `hsts` property to false after passing the `--global` flag to `nginx:set`. Changing this value globally or on a per-app basis will require rebuilding the nginx config via the `proxy:build-config` command.
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
dokku nginx:set --global hsts false
|
dokku nginx:set --global hsts false
|
||||||
|
|||||||
@@ -150,6 +150,19 @@ Only use this option if:
|
|||||||
|
|
||||||
If it's possible to make HTTP(S) requests directly to Nginx, bypassing the load balancer, or if the load balancer is not configured to set these headers, then it becomes possible for a client to set these headers to arbitrary values.
|
If it's possible to make HTTP(S) requests directly to Nginx, bypassing the load balancer, or if the load balancer is not configured to set these headers, then it becomes possible for a client to set these headers to arbitrary values.
|
||||||
|
|
||||||
|
The `x-forwarded-ssl` property may also be set for application frameworks that require this value. Note that this is a non-standard version of setting `x-forwarded-proto` to `https`, and should only be done as a last resort.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
# force-setting value to `on`
|
||||||
|
dokku nginx:set node-js-app x-forwarded-ssl on
|
||||||
|
|
||||||
|
# force-setting value to `off`
|
||||||
|
dokku nginx:set node-js-app x-forwarded-ssl on
|
||||||
|
|
||||||
|
# removing the value from nginx.conf (default)
|
||||||
|
dokku nginx:set node-js-app x-forwarded-ssl
|
||||||
|
```
|
||||||
|
|
||||||
### SSL Port Exposure
|
### SSL Port Exposure
|
||||||
|
|
||||||
When your app is served from port `80` then the `/home/dokku/APP/nginx.conf` file will automatically be updated to instruct nginx to respond to ssl on port 443 as a new cert is added. If your app uses a non-standard port (perhaps you have a dockerfile deploy exposing port `99999`) you may need to manually expose an ssl port via `dokku proxy:ports-add <APP> https:443:99999`.
|
When your app is served from port `80` then the `/home/dokku/APP/nginx.conf` file will automatically be updated to instruct nginx to respond to ssl on port 443 as a new cert is added. If your app uses a non-standard port (perhaps you have a dockerfile deploy exposing port `99999`) you may need to manually expose an ssl port via `dokku proxy:ports-add <APP> https:443:99999`.
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ Vector uses the concept of log "sinks" to send logs to a given endpoint. Log sin
|
|||||||
```shell
|
```shell
|
||||||
# setting the sink value in quotes is encouraged to avoid
|
# setting the sink value in quotes is encouraged to avoid
|
||||||
# issues with ampersand encoding in shell commands
|
# issues with ampersand encoding in shell commands
|
||||||
dokku logs:set node-js-app sink "console://?encoding[codec]=json"
|
dokku logs:set node-js-app vector-sink "console://?encoding[codec]=json"
|
||||||
```
|
```
|
||||||
|
|
||||||
A sink may be removed by setting an empty value, which will also reload the running vector container.
|
A sink may be removed by setting an empty value, which will also reload the running vector container.
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
```
|
```
|
||||||
git:allow-host <host> # Adds a host to known_hosts
|
git:allow-host <host> # Adds a host to known_hosts
|
||||||
git:sync [--build] <app> <repository> [<git-ref>] # Clone or fetch an app from remote git repo
|
git:sync [--build] <app> <repository> [<git-ref>] # Clone or fetch an app from remote git repo
|
||||||
git:initialize <app> # Initialize a git repository for an app
|
git:initialize <app> # Initialize a git repository for an app
|
||||||
git:public-key # Outputs the dokku public deploy key
|
git:public-key # Outputs the dokku public deploy key
|
||||||
git:report [<app>] [<flag>] # Displays a git report for one or more apps
|
git:report [<app>] [<flag>] # Displays a git report for one or more apps
|
||||||
@@ -19,6 +19,8 @@ Git-based deployment has been the traditional method of deploying applications i
|
|||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
> Warning: Pushing from a shallow clone is not currently supported and may have undefined behavior. Please unshallow your local repository before pushing to a Dokku app to avoid potential errors in the deployment process.
|
||||||
|
|
||||||
### Initializing an application
|
### Initializing an application
|
||||||
|
|
||||||
When an application is created via `git push`, Dokku will create the proper `pre-receive` hook in order to execute the build pipeline. In certain cases - such as when fronting deploys with the [`git-http-backend`](https://git-scm.com/docs/git-http-backend) - this may not be correctly created. As an alternative, the `git:initialize` command can be used to trigger this creation:
|
When an application is created via `git push`, Dokku will create the proper `pre-receive` hook in order to execute the build pipeline. In certain cases - such as when fronting deploys with the [`git-http-backend`](https://git-scm.com/docs/git-http-backend) - this may not be correctly created. As an alternative, the `git:initialize` command can be used to trigger this creation:
|
||||||
@@ -109,6 +111,8 @@ dokku git:set node-js-app keep-git-dir false
|
|||||||
dokku git:set node-js-app keep-git-dir ""
|
dokku git:set node-js-app keep-git-dir ""
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Please keep in mind that setting `keep-git-dir` to `true` may result in unstaged changes shown within the built container due to the build process generating application changes within the built app directory.
|
||||||
|
|
||||||
### Initializing an app repository from a remote repository
|
### Initializing an app repository from a remote repository
|
||||||
|
|
||||||
> The application must exist before the repository can be initialized
|
> The application must exist before the repository can be initialized
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ The workflow looks like this:
|
|||||||
```shell
|
```shell
|
||||||
# having dokku-arch in ../dokku-arch
|
# having dokku-arch in ../dokku-arch
|
||||||
vagrant up build-arch
|
vagrant up build-arch
|
||||||
# wait for "==> build-arch: ==> Finished making: dokku 0.23.5-2 (Mon Feb 22 23:20:37 CET 2016)"
|
# wait for "==> build-arch: ==> Finished making: dokku 0.23.7-2 (Mon Feb 22 23:20:37 CET 2016)"
|
||||||
cd ../dokku-arch
|
cd ../dokku-arch
|
||||||
git add PKGBUILD .SRCINFO
|
git add PKGBUILD .SRCINFO
|
||||||
git commit -m 'Update to dokku 0.9.9'
|
git commit -m 'Update to dokku 0.9.9'
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
Pull the dokku/dokku image:
|
Pull the dokku/dokku image:
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
docker pull dokku/dokku:0.23.5
|
docker pull dokku/dokku:0.23.7
|
||||||
```
|
```
|
||||||
|
|
||||||
Next, run the image.
|
Next, run the image.
|
||||||
@@ -17,7 +17,7 @@ docker run \
|
|||||||
--publish 8443:443 \
|
--publish 8443:443 \
|
||||||
--volume /var/lib/dokku:/mnt/dokku \
|
--volume /var/lib/dokku:/mnt/dokku \
|
||||||
--volume /var/run/docker.sock:/var/run/docker.sock \
|
--volume /var/run/docker.sock:/var/run/docker.sock \
|
||||||
dokku/dokku:0.23.5
|
dokku/dokku:0.23.7
|
||||||
```
|
```
|
||||||
|
|
||||||
Dokku is run in the following configuration:
|
Dokku is run in the following configuration:
|
||||||
|
|||||||
@@ -21,8 +21,8 @@ To install the latest stable version of Dokku, you can run the following shell c
|
|||||||
|
|
||||||
```shell
|
```shell
|
||||||
# for debian systems, installs Dokku via apt-get
|
# for debian systems, installs Dokku via apt-get
|
||||||
wget https://raw.githubusercontent.com/dokku/dokku/v0.23.5/bootstrap.sh;
|
wget https://raw.githubusercontent.com/dokku/dokku/v0.23.7/bootstrap.sh;
|
||||||
sudo DOKKU_TAG=v0.23.5 bash bootstrap.sh
|
sudo DOKKU_TAG=v0.23.7 bash bootstrap.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
The installation process takes about 5-10 minutes, depending upon internet connection speed.
|
The installation process takes about 5-10 minutes, depending upon internet connection speed.
|
||||||
|
|||||||
@@ -235,4 +235,4 @@ This isn't usually an issue with Dokku, but rather an app config problem. This c
|
|||||||
|
|
||||||
In Rails at least, if your `application.rb` or `environmnents/production.rb` include the line `configure.force_ssl = true` which includes HSTS, try commenting that out and redeploying.
|
In Rails at least, if your `application.rb` or `environmnents/production.rb` include the line `configure.force_ssl = true` which includes HSTS, try commenting that out and redeploying.
|
||||||
|
|
||||||
If this solves the issue temporarily, longer term you should consider [configuring SSL](http://dokku.viewdocs.io/dokku/configuration/ssl/).
|
If this solves the issue temporarily, longer term you should consider [configuring SSL](/docs/configuration/ssl.md).
|
||||||
|
|||||||
@@ -10,30 +10,30 @@
|
|||||||
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet" type="text/css">
|
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet" type="text/css">
|
||||||
<title>Dokku - The smallest PaaS implementation you've ever seen</title>
|
<title>Dokku - The smallest PaaS implementation you've ever seen</title>
|
||||||
|
|
||||||
<link rel="apple-touch-icon" sizes="57x57" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/apple-touch-icon-57x57.png">
|
<link rel="apple-touch-icon" sizes="57x57" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/apple-touch-icon-57x57.png">
|
||||||
<link rel="apple-touch-icon" sizes="60x60" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/apple-touch-icon-60x60.png">
|
<link rel="apple-touch-icon" sizes="60x60" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/apple-touch-icon-60x60.png">
|
||||||
<link rel="apple-touch-icon" sizes="72x72" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/apple-touch-icon-72x72.png">
|
<link rel="apple-touch-icon" sizes="72x72" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/apple-touch-icon-72x72.png">
|
||||||
<link rel="apple-touch-icon" sizes="76x76" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/apple-touch-icon-76x76.png">
|
<link rel="apple-touch-icon" sizes="76x76" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/apple-touch-icon-76x76.png">
|
||||||
<link rel="apple-touch-icon" sizes="114x114" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/apple-touch-icon-114x114.png">
|
<link rel="apple-touch-icon" sizes="114x114" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/apple-touch-icon-114x114.png">
|
||||||
<link rel="apple-touch-icon" sizes="120x120" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/apple-touch-icon-120x120.png">
|
<link rel="apple-touch-icon" sizes="120x120" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/apple-touch-icon-120x120.png">
|
||||||
<link rel="apple-touch-icon" sizes="144x144" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/apple-touch-icon-144x144.png">
|
<link rel="apple-touch-icon" sizes="144x144" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/apple-touch-icon-144x144.png">
|
||||||
<link rel="apple-touch-icon" sizes="152x152" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/apple-touch-icon-152x152.png">
|
<link rel="apple-touch-icon" sizes="152x152" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/apple-touch-icon-152x152.png">
|
||||||
<link rel="apple-touch-icon" sizes="180x180" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/apple-touch-icon-180x180.png">
|
<link rel="apple-touch-icon" sizes="180x180" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/apple-touch-icon-180x180.png">
|
||||||
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/favicon-32x32.png" sizes="32x32">
|
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/favicon-32x32.png" sizes="32x32">
|
||||||
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/android-chrome-192x192.png" sizes="192x192">
|
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/android-chrome-192x192.png" sizes="192x192">
|
||||||
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/favicon-96x96.png" sizes="96x96">
|
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/favicon-96x96.png" sizes="96x96">
|
||||||
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/favicon-16x16.png" sizes="16x16">
|
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/favicon-16x16.png" sizes="16x16">
|
||||||
<link rel="manifest" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/manifest.json">
|
<link rel="manifest" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/manifest.json">
|
||||||
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/favicon.ico">
|
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/favicon.ico">
|
||||||
<meta name="apple-mobile-web-app-title" content="Dokku">
|
<meta name="apple-mobile-web-app-title" content="Dokku">
|
||||||
<meta name="application-name" content="Dokku">
|
<meta name="application-name" content="Dokku">
|
||||||
<meta name="msapplication-TileColor" content="#da532c">
|
<meta name="msapplication-TileColor" content="#da532c">
|
||||||
<meta name="msapplication-TileImage" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/mstile-144x144.png">
|
<meta name="msapplication-TileImage" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/mstile-144x144.png">
|
||||||
<meta name="msapplication-config" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/browserconfig.xml">
|
<meta name="msapplication-config" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/browserconfig.xml">
|
||||||
<meta name="theme-color" content="#ffffff">
|
<meta name="theme-color" content="#ffffff">
|
||||||
|
|
||||||
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.2/css/bootstrap.min.css" rel="stylesheet">
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.2/css/bootstrap.min.css" rel="stylesheet">
|
||||||
<link href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/style.css" rel="stylesheet">
|
<link href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/style.css" rel="stylesheet">
|
||||||
<!-- <link href="/dokku/docs/assets/style.css" rel="stylesheet"> -->
|
<!-- <link href="/dokku/docs/assets/style.css" rel="stylesheet"> -->
|
||||||
<style>
|
<style>
|
||||||
.sponsors {
|
.sponsors {
|
||||||
@@ -130,12 +130,12 @@
|
|||||||
<p class="line">
|
<p class="line">
|
||||||
<span class="path"></span>
|
<span class="path"></span>
|
||||||
<span class="prompt">$</span>
|
<span class="prompt">$</span>
|
||||||
<span class="command">wget https://raw.githubusercontent.com/dokku/dokku/v0.23.5/bootstrap.sh</span>
|
<span class="command">wget https://raw.githubusercontent.com/dokku/dokku/v0.23.7/bootstrap.sh</span>
|
||||||
</p>
|
</p>
|
||||||
<p class="line">
|
<p class="line">
|
||||||
<span class="path"></span>
|
<span class="path"></span>
|
||||||
<span class="prompt">$</span>
|
<span class="prompt">$</span>
|
||||||
<span class="command">sudo DOKKU_TAG=v0.23.5 bash bootstrap.sh</span>
|
<span class="command">sudo DOKKU_TAG=v0.23.7 bash bootstrap.sh</span>
|
||||||
</p>
|
</p>
|
||||||
<p class="line">
|
<p class="line">
|
||||||
<span class="output"> # go to your server's IP and follow the web installer</span>
|
<span class="output"> # go to your server's IP and follow the web installer</span>
|
||||||
@@ -215,7 +215,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="alternate-instructions">
|
<div class="alternate-instructions">
|
||||||
<p>Hate <code>curl | bash</code>? See our official <a href="https://github.com/Azure/azure-quickstart-templates/tree/master/dokku-vm" target="_blank">Azure</a>, <a href="https://marketplace.digitalocean.com/apps/dokku?refcode=fe06b043a083 target="_blank">DigitalOcean</a>, and <a href="/{{NAME}}~{{REF}}/getting-started/install/dreamhost/">DreamHost Cloud</a> instructions.</p>
|
<p>Hate <code>curl | bash</code>? See our official <a href="https://github.com/Azure/azure-quickstart-templates/tree/master/dokku-vm" target="_blank">Azure</a>, <a href="https://marketplace.digitalocean.com/apps/dokku?refcode=fe06b043a083" target="_blank">DigitalOcean</a>, and <a href="/{{NAME}}~{{REF}}/getting-started/install/dreamhost/">DreamHost Cloud</a> instructions.</p>
|
||||||
<p>Still no love? <a href="https://github.com/dokku/dokku/blob/master/CONTRIBUTING.md" target="_blank">Contributions welcome</a>!</a></p>
|
<p>Still no love? <a href="https://github.com/dokku/dokku/blob/master/CONTRIBUTING.md" target="_blank">Contributions welcome</a>!</a></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -9,26 +9,26 @@
|
|||||||
<meta name="author" content="">
|
<meta name="author" content="">
|
||||||
<title>Dokku - The smallest PaaS implementation you've ever seen</title>
|
<title>Dokku - The smallest PaaS implementation you've ever seen</title>
|
||||||
|
|
||||||
<link rel="apple-touch-icon" sizes="57x57" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/apple-touch-icon-57x57.png">
|
<link rel="apple-touch-icon" sizes="57x57" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/apple-touch-icon-57x57.png">
|
||||||
<link rel="apple-touch-icon" sizes="60x60" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/apple-touch-icon-60x60.png">
|
<link rel="apple-touch-icon" sizes="60x60" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/apple-touch-icon-60x60.png">
|
||||||
<link rel="apple-touch-icon" sizes="72x72" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/apple-touch-icon-72x72.png">
|
<link rel="apple-touch-icon" sizes="72x72" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/apple-touch-icon-72x72.png">
|
||||||
<link rel="apple-touch-icon" sizes="76x76" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/apple-touch-icon-76x76.png">
|
<link rel="apple-touch-icon" sizes="76x76" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/apple-touch-icon-76x76.png">
|
||||||
<link rel="apple-touch-icon" sizes="114x114" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/apple-touch-icon-114x114.png">
|
<link rel="apple-touch-icon" sizes="114x114" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/apple-touch-icon-114x114.png">
|
||||||
<link rel="apple-touch-icon" sizes="120x120" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/apple-touch-icon-120x120.png">
|
<link rel="apple-touch-icon" sizes="120x120" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/apple-touch-icon-120x120.png">
|
||||||
<link rel="apple-touch-icon" sizes="144x144" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/apple-touch-icon-144x144.png">
|
<link rel="apple-touch-icon" sizes="144x144" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/apple-touch-icon-144x144.png">
|
||||||
<link rel="apple-touch-icon" sizes="152x152" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/apple-touch-icon-152x152.png">
|
<link rel="apple-touch-icon" sizes="152x152" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/apple-touch-icon-152x152.png">
|
||||||
<link rel="apple-touch-icon" sizes="180x180" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/apple-touch-icon-180x180.png">
|
<link rel="apple-touch-icon" sizes="180x180" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/apple-touch-icon-180x180.png">
|
||||||
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/favicon-32x32.png" sizes="32x32">
|
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/favicon-32x32.png" sizes="32x32">
|
||||||
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/android-chrome-192x192.png" sizes="192x192">
|
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/android-chrome-192x192.png" sizes="192x192">
|
||||||
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/favicon-96x96.png" sizes="96x96">
|
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/favicon-96x96.png" sizes="96x96">
|
||||||
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/favicon-16x16.png" sizes="16x16">
|
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/favicon-16x16.png" sizes="16x16">
|
||||||
<link rel="manifest" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/manifest.json">
|
<link rel="manifest" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/manifest.json">
|
||||||
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/favicon.ico">
|
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/favicon.ico">
|
||||||
<meta name="apple-mobile-web-app-title" content="Dokku">
|
<meta name="apple-mobile-web-app-title" content="Dokku">
|
||||||
<meta name="application-name" content="Dokku">
|
<meta name="application-name" content="Dokku">
|
||||||
<meta name="msapplication-TileColor" content="#da532c">
|
<meta name="msapplication-TileColor" content="#da532c">
|
||||||
<meta name="msapplication-TileImage" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/mstile-144x144.png">
|
<meta name="msapplication-TileImage" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/mstile-144x144.png">
|
||||||
<meta name="msapplication-config" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/favicons/browserconfig.xml">
|
<meta name="msapplication-config" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/favicons/browserconfig.xml">
|
||||||
<meta name="theme-color" content="#ffffff">
|
<meta name="theme-color" content="#ffffff">
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.2/css/bootstrap.min.css" rel="stylesheet">
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.2/css/bootstrap.min.css" rel="stylesheet">
|
||||||
<link href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.5/docs/assets/style.css" rel="stylesheet">
|
<link href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.23.7/docs/assets/style.css" rel="stylesheet">
|
||||||
<!-- <link href="/dokku/docs/assets/style.css" rel="stylesheet"> -->
|
<!-- <link href="/dokku/docs/assets/style.css" rel="stylesheet"> -->
|
||||||
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet">
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet">
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core standard plugin"
|
description = "dokku core standard plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core events logging plugin"
|
description = "dokku core events logging plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core app-json plugin"
|
description = "dokku core app-json plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core apps plugin"
|
description = "dokku core apps plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core builder-cnb plugin"
|
description = "dokku core builder-cnb plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core builder-dockerfile plugin"
|
description = "dokku core builder-dockerfile plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core builder-herokuish plugin"
|
description = "dokku core builder-herokuish plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core buildpacks plugin"
|
description = "dokku core buildpacks plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core certificate management plugin"
|
description = "dokku core certificate management plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core checks plugin"
|
description = "dokku core checks plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core common plugin"
|
description = "dokku core common plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core config plugin"
|
description = "dokku core config plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ func (t templateCommand) CronCommand() string {
|
|||||||
return t.AltCommand
|
return t.AltCommand
|
||||||
}
|
}
|
||||||
|
|
||||||
return fmt.Sprintf("dokku --rm run --cron-id %s %s", t.ID, t.App, t.Command)
|
return fmt.Sprintf("dokku --rm run --cron-id %s %s %s", t.ID, t.App, t.Command)
|
||||||
}
|
}
|
||||||
|
|
||||||
func fetchCronEntries(appName string) ([]templateCommand, error) {
|
func fetchCronEntries(appName string) ([]templateCommand, error) {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core cron plugin"
|
description = "dokku core cron plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core docker-options plugin"
|
description = "dokku core docker-options plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core domains plugin"
|
description = "dokku core domains plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core enter plugin"
|
description = "dokku core enter plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -9,19 +9,10 @@ set -eo pipefail
|
|||||||
|
|
||||||
use_git_worktree() {
|
use_git_worktree() {
|
||||||
declare desc="detects whether to use git worktree"
|
declare desc="detects whether to use git worktree"
|
||||||
local GIT_VERSION MAJOR_VERSION MINOR_VERSION
|
declare deprecated=true
|
||||||
|
dokku_log_warn "Deprecated: fn-git-use-worktree"
|
||||||
|
|
||||||
GIT_VERSION=$(git --version | awk '{split($0,a," "); print a[3]}')
|
fn-git-use-worktree
|
||||||
MAJOR_VERSION=$(echo "$GIT_VERSION" | awk '{split($0,a,"."); print a[1]}')
|
|
||||||
MINOR_VERSION=$(echo "$GIT_VERSION" | awk '{split($0,a,"."); print a[2]}')
|
|
||||||
|
|
||||||
if [[ "$MAJOR_VERSION" -ge "3" ]]; then
|
|
||||||
return 0
|
|
||||||
elif [[ "$MAJOR_VERSION" -eq "2" ]] && [[ "$MINOR_VERSION" -ge "11" ]]; then
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
git_build_app_repo() {
|
git_build_app_repo() {
|
||||||
@@ -35,49 +26,13 @@ git_build_app_repo() {
|
|||||||
local GIT_BUILD_APP_REPO_TMP_WORK_DIR=$(mktemp -d "/tmp/dokku-${DOKKU_PID}-${FUNCNAME[0]}.XXXXXX")
|
local GIT_BUILD_APP_REPO_TMP_WORK_DIR=$(mktemp -d "/tmp/dokku-${DOKKU_PID}-${FUNCNAME[0]}.XXXXXX")
|
||||||
trap "rm -rf '$GIT_BUILD_APP_REPO_TMP_WORK_DIR' >/dev/null" RETURN INT TERM EXIT
|
trap "rm -rf '$GIT_BUILD_APP_REPO_TMP_WORK_DIR' >/dev/null" RETURN INT TERM EXIT
|
||||||
|
|
||||||
local TMP_TAG="dokku/$REV"
|
|
||||||
chmod 755 "$GIT_BUILD_APP_REPO_TMP_WORK_DIR"
|
chmod 755 "$GIT_BUILD_APP_REPO_TMP_WORK_DIR"
|
||||||
unset GIT_DIR GIT_WORK_TREE
|
unset GIT_DIR GIT_QUARANTINE_PATH GIT_WORK_TREE
|
||||||
|
|
||||||
! plugn trigger app-exists "$APP" >/dev/null 2>&1 && plugn trigger app-maybe-create "$APP"
|
! plugn trigger app-exists "$APP" >/dev/null 2>&1 && plugn trigger app-maybe-create "$APP"
|
||||||
|
|
||||||
if use_git_worktree; then
|
fn-git-setup-build-dir "$APP" "$GIT_BUILD_APP_REPO_TMP_WORK_DIR" "$REV"
|
||||||
# git worktree - this method uses git worktree which was introduced in git 2.5
|
pushd "$GIT_BUILD_APP_REPO_TMP_WORK_DIR" >/dev/null
|
||||||
pushd "$DOKKU_ROOT/$APP" >/dev/null
|
|
||||||
# unset the git quarantine path to allow us to use 2.13.0+
|
|
||||||
# See this issue for more information: https://github.com/dokku/dokku/issues/2796
|
|
||||||
suppress_output env -u GIT_QUARANTINE_PATH git worktree add "$GIT_BUILD_APP_REPO_TMP_WORK_DIR" "$REV"
|
|
||||||
popd >/dev/null 2>&1 || pushd "/tmp" >/dev/null
|
|
||||||
pushd "$GIT_BUILD_APP_REPO_TMP_WORK_DIR" >/dev/null
|
|
||||||
else
|
|
||||||
# git clone - this method creates a new git repository and adds the primary
|
|
||||||
# repo as a remote, then does a fetch depth=1 to avoid cloning
|
|
||||||
# the entire repo.
|
|
||||||
# Not working for git >= 2.11.0 due to changes introduced
|
|
||||||
# in this merge:
|
|
||||||
# https://github.com/git/git/commit/25ab004c53cdcfea485e5bf437aeaa74df47196d
|
|
||||||
pushd "$GIT_BUILD_APP_REPO_TMP_WORK_DIR" >/dev/null
|
|
||||||
GIT_DIR="$DOKKU_ROOT/$APP" git tag -d "$TMP_TAG" &>/dev/null || true
|
|
||||||
GIT_DIR="$DOKKU_ROOT/$APP" git tag "$TMP_TAG" "$REV" &>/dev/null
|
|
||||||
git init &>/dev/null
|
|
||||||
git config advice.detachedHead false
|
|
||||||
git remote add origin "$DOKKU_ROOT/$APP" &>/dev/null
|
|
||||||
git fetch --depth=1 origin "refs/tags/$TMP_TAG" &>/dev/null
|
|
||||||
git reset --hard FETCH_HEAD &>/dev/null
|
|
||||||
GIT_DIR="$DOKKU_ROOT/$APP" git tag -d "$TMP_TAG" &>/dev/null || true
|
|
||||||
fi
|
|
||||||
|
|
||||||
suppress_output env -u GIT_QUARANTINE_PATH git submodule update --init --recursive
|
|
||||||
local DOKKU_KEEP_GIT_DIR="$(fn-plugin-property-get "git" "$APP" "keep-git-dir" "")"
|
|
||||||
if [[ "$DOKKU_KEEP_GIT_DIR" != "true" ]]; then
|
|
||||||
find . -name .git -prune -exec rm -rf {} \; >/dev/null
|
|
||||||
fi
|
|
||||||
|
|
||||||
if use_git_worktree; then
|
|
||||||
pushd "$DOKKU_ROOT/$APP" >/dev/null
|
|
||||||
git worktree prune
|
|
||||||
popd >/dev/null
|
|
||||||
fi
|
|
||||||
|
|
||||||
local DOKKU_APP_DISABLE_ANSI_PREFIX_REMOVAL DOKKU_GLOBAL_DISABLE_ANSI_PREFIX_REMOVAL DOKKU_DISABLE_ANSI_PREFIX_REMOVAL
|
local DOKKU_APP_DISABLE_ANSI_PREFIX_REMOVAL DOKKU_GLOBAL_DISABLE_ANSI_PREFIX_REMOVAL DOKKU_DISABLE_ANSI_PREFIX_REMOVAL
|
||||||
DOKKU_APP_DISABLE_ANSI_PREFIX_REMOVAL=$(config_get "$APP" DOKKU_DISABLE_ANSI_PREFIX_REMOVAL || true)
|
DOKKU_APP_DISABLE_ANSI_PREFIX_REMOVAL=$(config_get "$APP" DOKKU_DISABLE_ANSI_PREFIX_REMOVAL || true)
|
||||||
|
|||||||
@@ -257,3 +257,88 @@ fn-git-deploy-branch() {
|
|||||||
echo "$DEFAULT_BRANCH"
|
echo "$DEFAULT_BRANCH"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn-git-setup-build-dir() {
|
||||||
|
declare APP="$1" GIT_WORKDIR="$2" REV="$3"
|
||||||
|
local DOKKU_KEEP_GIT_DIR="$(fn-plugin-property-get "git" "$APP" "keep-git-dir" "")"
|
||||||
|
|
||||||
|
if ! fn-git-use-worktree; then
|
||||||
|
fn-git-setup-build-dir-old "$APP" "$GIT_WORKDIR" "$REV"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$DOKKU_KEEP_GIT_DIR" == "true" ]]; then
|
||||||
|
fn-git-setup-build-dir-new "$APP" "$GIT_WORKDIR" "$REV"
|
||||||
|
else
|
||||||
|
fn-git-setup-build-dir-worktree "$APP" "$GIT_WORKDIR" "$REV"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
fn-git-setup-build-dir-new() {
|
||||||
|
declare APP="$1" GIT_WORKDIR="$2" REV="$3"
|
||||||
|
local DOKKU_DEPLOY_BRANCH="$(fn-git-deploy-branch "$APP")"
|
||||||
|
|
||||||
|
# repo workaround from https://gitlab.com/gitlab-org/gitlab-foss/-/issues/52249
|
||||||
|
# and https://docs.gitlab.com/ee/user/project/repository/repository_mirroring.html#preventing-conflicts-using-a-pre-receive-hook
|
||||||
|
env -u GIT_QUARANTINE_PATH git -C "$DOKKU_ROOT/$APP" archive "$REV" | tar x --warning=none -C "${GIT_WORKDIR}"
|
||||||
|
suppress_output env -u GIT_QUARANTINE_PATH git -C "$GIT_WORKDIR" clone --bare "$DOKKU_ROOT/$APP" .git
|
||||||
|
suppress_output env -u GIT_QUARANTINE_PATH git -C "$GIT_WORKDIR" config --local gc.auto 0
|
||||||
|
suppress_output env -u GIT_QUARANTINE_PATH git -C "$GIT_WORKDIR" config --local --bool core.bare false
|
||||||
|
suppress_output env -u GIT_QUARANTINE_PATH git -C "$GIT_WORKDIR" config --local receive.denyCurrentBranch ignore
|
||||||
|
suppress_output env -u GIT_QUARANTINE_PATH git -C "$GIT_WORKDIR" symbolic-ref HEAD "refs/heads/$DOKKU_DEPLOY_BRANCH"
|
||||||
|
suppress_output env -u GIT_QUARANTINE_PATH git -C "$GIT_WORKDIR" reset "$REV" -- .
|
||||||
|
suppress_output env -u GIT_QUARANTINE_PATH git -C "$GIT_WORKDIR" push $GIT_WORKDIR $REV:refs/heads/$DOKKU_DEPLOY_BRANCH
|
||||||
|
fn-git-setup-build-dir-submodules "$APP" "$GIT_WORKDIR"
|
||||||
|
}
|
||||||
|
|
||||||
|
fn-git-setup-build-dir-old() {
|
||||||
|
declare APP="$1" GIT_WORKDIR="$2" REV="$3"
|
||||||
|
local TMP_TAG="dokku/$REV"
|
||||||
|
|
||||||
|
suppress_output git -C "$DOKKU_ROOT/$APP" tag -d "$TMP_TAG" &>/dev/null || true
|
||||||
|
suppress_output git -C "$DOKKU_ROOT/$APP" tag "$TMP_TAG" "$REV"
|
||||||
|
suppress_output git -C "$GIT_WORKDIR" init
|
||||||
|
suppress_output git -C "$GIT_WORKDIR" config advice.detachedHead false
|
||||||
|
suppress_output git -C "$GIT_WORKDIR" remote add origin "$DOKKU_ROOT/$APP"
|
||||||
|
suppress_output git -C "$GIT_WORKDIR" fetch --depth=1 origin "refs/tags/$TMP_TAG"
|
||||||
|
suppress_output git -C "$GIT_WORKDIR" reset --hard FETCH_HEAD
|
||||||
|
suppress_output git -C "$DOKKU_ROOT/$APP" git tag -d "$TMP_TAG" &>/dev/null || true
|
||||||
|
fn-git-setup-build-dir-submodules "$APP" "$GIT_WORKDIR"
|
||||||
|
}
|
||||||
|
|
||||||
|
fn-git-setup-build-dir-worktree() {
|
||||||
|
declare APP="$1" GIT_WORKDIR="$2" REV="$3"
|
||||||
|
|
||||||
|
# unset the git quarantine path to allow us to use 2.13.0+
|
||||||
|
# See this issue for more information: https://github.com/dokku/dokku/issues/2796
|
||||||
|
suppress_output env -u GIT_QUARANTINE_PATH git -C "$DOKKU_ROOT/$APP" worktree add "$GIT_WORKDIR" "$REV"
|
||||||
|
fn-git-setup-build-dir-submodules "$APP" "$GIT_WORKDIR"
|
||||||
|
suppress_output git -C "$DOKKU_ROOT/$APP" worktree prune
|
||||||
|
}
|
||||||
|
|
||||||
|
fn-git-setup-build-dir-submodules() {
|
||||||
|
declare APP="$1" GIT_WORKDIR="$2"
|
||||||
|
local DOKKU_KEEP_GIT_DIR="$(fn-plugin-property-get "git" "$APP" "keep-git-dir" "")"
|
||||||
|
|
||||||
|
suppress_output env -u GIT_QUARANTINE_PATH git -C "$GIT_WORKDIR" submodule update --init --recursive
|
||||||
|
if [[ "$DOKKU_KEEP_GIT_DIR" != "true" ]]; then
|
||||||
|
find "$GIT_WORKDIR" -name .git -prune -exec rm -rf {} \; >/dev/null
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
fn-git-use-worktree() {
|
||||||
|
declare desc="detects whether to use git worktree"
|
||||||
|
local GIT_VERSION MAJOR_VERSION MINOR_VERSION
|
||||||
|
|
||||||
|
GIT_VERSION=$(git --version | awk '{split($0,a," "); print a[3]}')
|
||||||
|
MAJOR_VERSION=$(echo "$GIT_VERSION" | awk '{split($0,a,"."); print a[1]}')
|
||||||
|
MINOR_VERSION=$(echo "$GIT_VERSION" | awk '{split($0,a,"."); print a[2]}')
|
||||||
|
|
||||||
|
if [[ "$MAJOR_VERSION" -ge "3" ]]; then
|
||||||
|
return 0
|
||||||
|
elif [[ "$MAJOR_VERSION" -eq "2" ]] && [[ "$MINOR_VERSION" -ge "11" ]]; then
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core git plugin"
|
description = "dokku core git plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core logs plugin"
|
description = "dokku core logs plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core network plugin"
|
description = "dokku core network plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -60,6 +60,7 @@ cmd-nginx-report-single() {
|
|||||||
"--nginx-x-forwarded-for-value: $(fn-plugin-property-get-default "nginx" "$APP" "x-forwarded-for-value" "\$remote_addr")"
|
"--nginx-x-forwarded-for-value: $(fn-plugin-property-get-default "nginx" "$APP" "x-forwarded-for-value" "\$remote_addr")"
|
||||||
"--nginx-x-forwarded-port-value: $(fn-plugin-property-get-default "nginx" "$APP" "x-forwarded-port-value" "\$server_port")"
|
"--nginx-x-forwarded-port-value: $(fn-plugin-property-get-default "nginx" "$APP" "x-forwarded-port-value" "\$server_port")"
|
||||||
"--nginx-x-forwarded-proto-value: $(fn-plugin-property-get-default "nginx" "$APP" "x-forwarded-proto-value" "\$scheme")"
|
"--nginx-x-forwarded-proto-value: $(fn-plugin-property-get-default "nginx" "$APP" "x-forwarded-proto-value" "\$scheme")"
|
||||||
|
"--nginx-x-forwarded-ssl: $(fn-plugin-property-get-default "nginx" "$APP" "x-forwarded-ssl" "")"
|
||||||
)
|
)
|
||||||
|
|
||||||
if [[ -z "$INFO_FLAG" ]]; then
|
if [[ -z "$INFO_FLAG" ]]; then
|
||||||
|
|||||||
@@ -473,6 +473,7 @@ nginx_build_config() {
|
|||||||
local PROXY_X_FORWARDED_FOR="$(fn-plugin-property-get-default "nginx" "$APP" "x-forwarded-for-value" "\$remote_addr")"
|
local PROXY_X_FORWARDED_FOR="$(fn-plugin-property-get-default "nginx" "$APP" "x-forwarded-for-value" "\$remote_addr")"
|
||||||
local PROXY_X_FORWARDED_PORT="$(fn-plugin-property-get-default "nginx" "$APP" "x-forwarded-port-value" "\$server_port")"
|
local PROXY_X_FORWARDED_PORT="$(fn-plugin-property-get-default "nginx" "$APP" "x-forwarded-port-value" "\$server_port")"
|
||||||
local PROXY_X_FORWARDED_PROTO="$(fn-plugin-property-get-default "nginx" "$APP" "x-forwarded-proto-value" "\$scheme")"
|
local PROXY_X_FORWARDED_PROTO="$(fn-plugin-property-get-default "nginx" "$APP" "x-forwarded-proto-value" "\$scheme")"
|
||||||
|
local PROXY_X_FORWARDED_SSL="$(fn-plugin-property-get-default "nginx" "$APP" "x-forwarded-ssl" "")"
|
||||||
|
|
||||||
eval "$(config_export app "$APP")"
|
eval "$(config_export app "$APP")"
|
||||||
local SIGIL_PARAMS=(-f "$NGINX_TEMPLATE" APP="$APP" DOKKU_ROOT="$DOKKU_ROOT"
|
local SIGIL_PARAMS=(-f "$NGINX_TEMPLATE" APP="$APP" DOKKU_ROOT="$DOKKU_ROOT"
|
||||||
@@ -506,7 +507,8 @@ nginx_build_config() {
|
|||||||
PROXY_PORT_MAP="$PROXY_PORT_MAP" PROXY_UPSTREAM_PORTS="$PROXY_UPSTREAM_PORTS"
|
PROXY_PORT_MAP="$PROXY_PORT_MAP" PROXY_UPSTREAM_PORTS="$PROXY_UPSTREAM_PORTS"
|
||||||
PROXY_X_FORWARDED_FOR="$PROXY_X_FORWARDED_FOR"
|
PROXY_X_FORWARDED_FOR="$PROXY_X_FORWARDED_FOR"
|
||||||
PROXY_X_FORWARDED_PORT="$PROXY_X_FORWARDED_PORT"
|
PROXY_X_FORWARDED_PORT="$PROXY_X_FORWARDED_PORT"
|
||||||
PROXY_X_FORWARDED_PROTO="$PROXY_X_FORWARDED_PROTO")
|
PROXY_X_FORWARDED_PROTO="$PROXY_X_FORWARDED_PROTO"
|
||||||
|
PROXY_X_FORWARDED_SSL="$PROXY_X_FORWARDED_SSL")
|
||||||
|
|
||||||
local DOKKU_SCALE_FILE="$DOKKU_ROOT/$APP/DOKKU_SCALE"
|
local DOKKU_SCALE_FILE="$DOKKU_ROOT/$APP/DOKKU_SCALE"
|
||||||
while read -r line || [[ -n "$line" ]]; do
|
while read -r line || [[ -n "$line" ]]; do
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core nginx-vhosts plugin"
|
description = "dokku core nginx-vhosts plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -9,13 +9,13 @@ cmd-nginx-set() {
|
|||||||
declare cmd="nginx:set"
|
declare cmd="nginx:set"
|
||||||
[[ "$1" == "$cmd" ]] && shift 1
|
[[ "$1" == "$cmd" ]] && shift 1
|
||||||
declare APP="$1" KEY="$2" VALUE="$3"
|
declare APP="$1" KEY="$2" VALUE="$3"
|
||||||
local VALID_KEYS=("access-log-format" "access-log-path" "bind-address-ipv4" "bind-address-ipv6" "client-max-body-size" "disable-custom-config" "error-log-path" "hsts" "hsts-include-subdomains" "hsts-preload" "hsts-max-age" "proxy-read-timeout" "proxy-buffer-size" "proxy-buffering" "proxy-buffers" "proxy-busy-buffers-size" "x-forwarded-for-value" "x-forwarded-port-value" "x-forwarded-proto-value")
|
local VALID_KEYS=("access-log-format" "access-log-path" "bind-address-ipv4" "bind-address-ipv6" "client-max-body-size" "disable-custom-config" "error-log-path" "hsts" "hsts-include-subdomains" "hsts-preload" "hsts-max-age" "proxy-read-timeout" "proxy-buffer-size" "proxy-buffering" "proxy-buffers" "proxy-busy-buffers-size" "x-forwarded-for-value" "x-forwarded-port-value" "x-forwarded-proto-value" "x-forwarded-ssl")
|
||||||
local GLOBAL_KEYS=("hsts")
|
local GLOBAL_KEYS=("hsts")
|
||||||
|
|
||||||
[[ -z "$KEY" ]] && dokku_log_fail "No key specified"
|
[[ -z "$KEY" ]] && dokku_log_fail "No key specified"
|
||||||
|
|
||||||
if ! fn-in-array "$KEY" "${VALID_KEYS[@]}"; then
|
if ! fn-in-array "$KEY" "${VALID_KEYS[@]}"; then
|
||||||
dokku_log_fail "Invalid key specified, valid keys include: access-log-format, access-log-path, bind-address-ipv4, bind-address-ipv6, client-max-body-size, disable-custom-config, error-log-path, hsts, hsts-include-subdomains, hsts-preload, hsts-max-age, proxy-read-timeout, proxy-buffer-size, proxy-buffering, proxy-buffers, proxy-busy-buffers-size, x-forwarded-for-value, x-forwarded-port-value, x-forwarded-proto-value"
|
dokku_log_fail "Invalid key specified, valid keys include: access-log-format, access-log-path, bind-address-ipv4, bind-address-ipv6, client-max-body-size, disable-custom-config, error-log-path, hsts, hsts-include-subdomains, hsts-preload, hsts-max-age, proxy-read-timeout, proxy-buffer-size, proxy-buffering, proxy-buffers, proxy-busy-buffers-size, x-forwarded-for-value, x-forwarded-port-value, x-forwarded-proto-value, x-forwarded-ssl"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! fn-in-array "$KEY" "${GLOBAL_KEYS[@]}"; then
|
if ! fn-in-array "$KEY" "${GLOBAL_KEYS[@]}"; then
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ server {
|
|||||||
proxy_set_header X-Forwarded-Port {{ $.PROXY_X_FORWARDED_PORT }};
|
proxy_set_header X-Forwarded-Port {{ $.PROXY_X_FORWARDED_PORT }};
|
||||||
proxy_set_header X-Forwarded-Proto {{ $.PROXY_X_FORWARDED_PROTO }};
|
proxy_set_header X-Forwarded-Proto {{ $.PROXY_X_FORWARDED_PROTO }};
|
||||||
proxy_set_header X-Request-Start $msec;
|
proxy_set_header X-Request-Start $msec;
|
||||||
|
{{ if $.PROXY_X_FORWARDED_SSL }}proxy_set_header X-Forwarded-Ssl {{ $.PROXY_X_FORWARDED_SSL }};{{ end }}
|
||||||
}
|
}
|
||||||
|
|
||||||
{{ if $.CLIENT_MAX_BODY_SIZE }}client_max_body_size {{ $.CLIENT_MAX_BODY_SIZE }};{{ end }}
|
{{ if $.CLIENT_MAX_BODY_SIZE }}client_max_body_size {{ $.CLIENT_MAX_BODY_SIZE }};{{ end }}
|
||||||
@@ -102,6 +103,7 @@ server {
|
|||||||
proxy_set_header X-Forwarded-Port {{ $.PROXY_X_FORWARDED_PORT }};
|
proxy_set_header X-Forwarded-Port {{ $.PROXY_X_FORWARDED_PORT }};
|
||||||
proxy_set_header X-Forwarded-Proto {{ $.PROXY_X_FORWARDED_PROTO }};
|
proxy_set_header X-Forwarded-Proto {{ $.PROXY_X_FORWARDED_PROTO }};
|
||||||
proxy_set_header X-Request-Start $msec;
|
proxy_set_header X-Request-Start $msec;
|
||||||
|
{{ if $.PROXY_X_FORWARDED_SSL }}proxy_set_header X-Forwarded-Ssl {{ $.PROXY_X_FORWARDED_SSL }};{{ end }}
|
||||||
}
|
}
|
||||||
|
|
||||||
{{ if $.CLIENT_MAX_BODY_SIZE }}client_max_body_size {{ $.CLIENT_MAX_BODY_SIZE }};{{ end }}
|
{{ if $.CLIENT_MAX_BODY_SIZE }}client_max_body_size {{ $.CLIENT_MAX_BODY_SIZE }};{{ end }}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core plugin plugin"
|
description = "dokku core plugin plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core proxy plugin"
|
description = "dokku core proxy plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -25,10 +25,9 @@ func main() {
|
|||||||
err = proxy.CommandBuildConfig(appName)
|
err = proxy.CommandBuildConfig(appName)
|
||||||
case "disable":
|
case "disable":
|
||||||
args := flag.NewFlagSet("proxy:disable", flag.ExitOnError)
|
args := flag.NewFlagSet("proxy:disable", flag.ExitOnError)
|
||||||
skipRestart := args.Bool("no-restart", false, "--no-restart: skip restart of the app")
|
|
||||||
args.Parse(os.Args[2:])
|
args.Parse(os.Args[2:])
|
||||||
appName := args.Arg(0)
|
appName := args.Arg(0)
|
||||||
err = proxy.CommandDisable(appName, *skipRestart)
|
err = proxy.CommandDisable(appName)
|
||||||
case "enable":
|
case "enable":
|
||||||
args := flag.NewFlagSet("proxy:enable", flag.ExitOnError)
|
args := flag.NewFlagSet("proxy:enable", flag.ExitOnError)
|
||||||
args.Parse(os.Args[2:])
|
args.Parse(os.Args[2:])
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ func CommandBuildConfig(appName string) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// CommandDisable disables the proxy for app via command line
|
// CommandDisable disables the proxy for app via command line
|
||||||
func CommandDisable(appName string, skipRestart bool) error {
|
func CommandDisable(appName string) error {
|
||||||
if err := common.VerifyAppName(appName); err != nil {
|
if err := common.VerifyAppName(appName); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core ps plugin"
|
description = "dokku core ps plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core repo plugin"
|
description = "dokku core repo plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core resource plugin"
|
description = "dokku core resource plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core scheduler-docker-local plugin"
|
description = "dokku core scheduler-docker-local plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core shell plugin"
|
description = "dokku core shell plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core ssh-keys plugin"
|
description = "dokku core ssh-keys plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core storage plugin"
|
description = "dokku core storage plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core tags plugin"
|
description = "dokku core tags plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core tar plugin"
|
description = "dokku core tar plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[plugin]
|
[plugin]
|
||||||
description = "dokku core trace plugin"
|
description = "dokku core trace plugin"
|
||||||
version = "0.23.5"
|
version = "0.23.7"
|
||||||
[plugin.config]
|
[plugin.config]
|
||||||
|
|||||||
25
rpm.mk
25
rpm.mk
@@ -1,11 +1,10 @@
|
|||||||
RPM_ARCHITECTURE = x86_64
|
RPM_ARCHITECTURE = x86_64
|
||||||
DOKKU_RPM_PACKAGE_NAME = dokku-$(DOKKU_VERSION)-1.$(RPM_ARCHITECTURE).rpm
|
DOKKU_RPM_PACKAGE_NAME = dokku-$(DOKKU_VERSION)-1.$(RPM_ARCHITECTURE).rpm
|
||||||
DOKKU_UPDATE_RPM_PACKAGE_NAME = dokku-update-$(DOKKU_UPDATE_VERSION)-1.$(RPM_ARCHITECTURE).rpm
|
DOKKU_UPDATE_RPM_PACKAGE_NAME = dokku-update-$(DOKKU_UPDATE_VERSION)-1.$(RPM_ARCHITECTURE).rpm
|
||||||
SIGIL_RPM_PACKAGE_NAME = gliderlabs-sigil-$(SIGIL_VERSION)-1.$(RPM_ARCHITECTURE).rpm
|
|
||||||
|
|
||||||
.PHONY: rpm-all
|
.PHONY: rpm-all
|
||||||
|
|
||||||
rpm-all: rpm-setup rpm-dokku rpm-sigil rpm-dokku-update
|
rpm-all: rpm-setup rpm-dokku rpm-dokku-update
|
||||||
mv /tmp/*.rpm .
|
mv /tmp/*.rpm .
|
||||||
@echo "Done"
|
@echo "Done"
|
||||||
|
|
||||||
@@ -66,25 +65,3 @@ rpm-dokku-update:
|
|||||||
--license 'MIT License' \
|
--license 'MIT License' \
|
||||||
contrib/dokku-update=/usr/local/bin/dokku-update \
|
contrib/dokku-update=/usr/local/bin/dokku-update \
|
||||||
contrib/dokku-update-version=/var/lib/dokku-update/VERSION
|
contrib/dokku-update-version=/var/lib/dokku-update/VERSION
|
||||||
|
|
||||||
rpm-sigil:
|
|
||||||
rm -rf /tmp/tmp /tmp/build $(BUILD_DIRECTORY)/$(SIGIL_RPM_PACKAGE_NAME)
|
|
||||||
mkdir -p /tmp/tmp /tmp/build /tmp/build/usr/bin
|
|
||||||
|
|
||||||
@echo "-> Downloading package"
|
|
||||||
wget -q -O /tmp/tmp/sigil-$(SIGIL_VERSION).tgz $(SIGIL_URL)
|
|
||||||
cd /tmp/tmp/ && tar zxf /tmp/tmp/sigil-$(SIGIL_VERSION).tgz
|
|
||||||
|
|
||||||
@echo "-> Copying files into place"
|
|
||||||
cp /tmp/tmp/sigil /tmp/build/usr/bin/sigil && chmod +x /tmp/build/usr/bin/sigil
|
|
||||||
|
|
||||||
@echo "-> Creating $(SIGIL_RPM_PACKAGE_NAME)"
|
|
||||||
sudo fpm -t rpm -s dir -C /tmp/build -n gliderlabs-sigil \
|
|
||||||
--version $(SIGIL_VERSION) \
|
|
||||||
--architecture $(RPM_ARCHITECTURE) \
|
|
||||||
--package $(BUILD_DIRECTORY)/$(SIGIL_RPM_PACKAGE_NAME) \
|
|
||||||
--url "https://github.com/$(SIGIL_REPO_NAME)" \
|
|
||||||
--category utils \
|
|
||||||
--description "$$SIGIL_DESCRIPTION" \
|
|
||||||
--license 'MIT License' \
|
|
||||||
.
|
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ install_dependencies() {
|
|||||||
curl -L "https://packagecloud.io/dokku/dokku/packages/ubuntu/bionic/sshcommand_${SSHCOMMAND_VERSION}_amd64.deb/download.deb" -o "$ROOT_DIR/build/${SSHCOMMAND_PACKAGE_NAME}"
|
curl -L "https://packagecloud.io/dokku/dokku/packages/ubuntu/bionic/sshcommand_${SSHCOMMAND_VERSION}_amd64.deb/download.deb" -o "$ROOT_DIR/build/${SSHCOMMAND_PACKAGE_NAME}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
SIGIL_VERSION=$(grep SIGIL_VERSION "${ROOT_DIR}/deb.mk" | head -n1 | cut -d' ' -f3)
|
SIGIL_VERSION=$(grep SIGIL_VERSION "${ROOT_DIR}/Makefile" | head -n1 | cut -d' ' -f3)
|
||||||
SIGIL_PACKAGE_NAME="gliderlabs-sigil_${SIGIL_VERSION}_amd64.deb"
|
SIGIL_PACKAGE_NAME="gliderlabs-sigil_${SIGIL_VERSION}_amd64.deb"
|
||||||
if [[ ! -f "$ROOT_DIR/build/${SIGIL_PACKAGE_NAME}" ]]; then
|
if [[ ! -f "$ROOT_DIR/build/${SIGIL_PACKAGE_NAME}" ]]; then
|
||||||
curl -L "https://packagecloud.io/dokku/dokku/packages/ubuntu/bionic/gliderlabs-sigil_${SIGIL_VERSION}_amd64.deb/download.deb" -o "$ROOT_DIR/build/${SIGIL_PACKAGE_NAME}"
|
curl -L "https://packagecloud.io/dokku/dokku/packages/ubuntu/bionic/gliderlabs-sigil_${SIGIL_VERSION}_amd64.deb/download.deb" -o "$ROOT_DIR/build/${SIGIL_PACKAGE_NAME}"
|
||||||
|
|||||||
@@ -71,3 +71,35 @@ teardown() {
|
|||||||
echo "status: $status"
|
echo "status: $status"
|
||||||
assert_output_exists
|
assert_output_exists
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "(git) keep-git-dir" {
|
||||||
|
run /bin/bash -c "dokku git:set $TEST_APP keep-git-dir true"
|
||||||
|
echo "output: $output"
|
||||||
|
echo "status: $status"
|
||||||
|
assert_success
|
||||||
|
|
||||||
|
run deploy_app
|
||||||
|
echo "output: $output"
|
||||||
|
echo "status: $status"
|
||||||
|
assert_success
|
||||||
|
|
||||||
|
run /bin/bash -c "dokku enter $TEST_APP web ls .git"
|
||||||
|
echo "output: $output"
|
||||||
|
echo "status: $status"
|
||||||
|
assert_success
|
||||||
|
assert_output_contains "branches"
|
||||||
|
assert_output_contains "config"
|
||||||
|
assert_output_contains "description"
|
||||||
|
assert_output_contains "HEAD"
|
||||||
|
assert_output_contains "hooks"
|
||||||
|
assert_output_contains "index"
|
||||||
|
assert_output_contains "info"
|
||||||
|
assert_output_contains "logs"
|
||||||
|
assert_output_contains "objects"
|
||||||
|
assert_output_contains "refs"
|
||||||
|
|
||||||
|
run /bin/bash -c "dokku enter $TEST_APP web test -d .git"
|
||||||
|
echo "output: $output"
|
||||||
|
echo "status: $status"
|
||||||
|
assert_success
|
||||||
|
}
|
||||||
|
|||||||
@@ -302,6 +302,68 @@ teardown() {
|
|||||||
assert_output_contains "X-Forwarded-Proto \$http_x_forwarded_proto;"
|
assert_output_contains "X-Forwarded-Proto \$http_x_forwarded_proto;"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "(nginx-vhosts) nginx:set x-forwarded-ssl" {
|
||||||
|
run deploy_app
|
||||||
|
echo "output: $output"
|
||||||
|
echo "status: $status"
|
||||||
|
assert_success
|
||||||
|
|
||||||
|
run /bin/bash -c "dokku nginx:build-config $TEST_APP"
|
||||||
|
echo "output: $output"
|
||||||
|
echo "status: $status"
|
||||||
|
assert_success
|
||||||
|
|
||||||
|
run /bin/bash -c "dokku nginx:show-config $TEST_APP"
|
||||||
|
echo "output: $output"
|
||||||
|
echo "status: $status"
|
||||||
|
assert_output_contains "X-Forwarded-Ssl" 0
|
||||||
|
|
||||||
|
run /bin/bash -c "dokku nginx:set $TEST_APP x-forwarded-ssl on"
|
||||||
|
echo "output: $output"
|
||||||
|
echo "status: $status"
|
||||||
|
assert_success
|
||||||
|
|
||||||
|
run /bin/bash -c "dokku nginx:build-config $TEST_APP"
|
||||||
|
echo "output: $output"
|
||||||
|
echo "status: $status"
|
||||||
|
assert_success
|
||||||
|
|
||||||
|
run /bin/bash -c "dokku nginx:show-config $TEST_APP"
|
||||||
|
echo "output: $output"
|
||||||
|
echo "status: $status"
|
||||||
|
assert_output_contains "X-Forwarded-Ssl on;"
|
||||||
|
|
||||||
|
run /bin/bash -c "dokku nginx:set $TEST_APP x-forwarded-ssl off"
|
||||||
|
echo "output: $output"
|
||||||
|
echo "status: $status"
|
||||||
|
assert_success
|
||||||
|
|
||||||
|
run /bin/bash -c "dokku nginx:build-config $TEST_APP"
|
||||||
|
echo "output: $output"
|
||||||
|
echo "status: $status"
|
||||||
|
assert_success
|
||||||
|
|
||||||
|
run /bin/bash -c "dokku nginx:show-config $TEST_APP"
|
||||||
|
echo "output: $output"
|
||||||
|
echo "status: $status"
|
||||||
|
assert_output_contains "X-Forwarded-Ssl off;"
|
||||||
|
|
||||||
|
run /bin/bash -c "dokku nginx:set $TEST_APP x-forwarded-ssl"
|
||||||
|
echo "output: $output"
|
||||||
|
echo "status: $status"
|
||||||
|
assert_success
|
||||||
|
|
||||||
|
run /bin/bash -c "dokku nginx:build-config $TEST_APP"
|
||||||
|
echo "output: $output"
|
||||||
|
echo "status: $status"
|
||||||
|
assert_success
|
||||||
|
|
||||||
|
run /bin/bash -c "dokku nginx:show-config $TEST_APP"
|
||||||
|
echo "output: $output"
|
||||||
|
echo "status: $status"
|
||||||
|
assert_output_contains "X-Forwarded-Ssl" 0
|
||||||
|
}
|
||||||
|
|
||||||
@test "(nginx-vhosts) nginx:validate-config" {
|
@test "(nginx-vhosts) nginx:validate-config" {
|
||||||
deploy_app
|
deploy_app
|
||||||
run /bin/bash -c "dokku nginx:validate-config"
|
run /bin/bash -c "dokku nginx:validate-config"
|
||||||
|
|||||||
Reference in New Issue
Block a user