Compare commits

...

542 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
e11499e676 Release 0.20.2
# History

## 0.20.2

Install/update via the bootstrap script:

```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.20.2/bootstrap.sh
sudo DOKKU_TAG=v0.20.2 bash bootstrap.sh
```

### Bug Fixes

- #3921: @josegonzalez Correct container_type handling when entering containers
- #3919: @josegonzalez Fix bug with restarting containers not being routed to because of changing IP addresses

### New Features

- #3920: @josegonzalez Add the ability to list ssh keys for a specific user
2020-04-04 13:58:39 -04:00
Jose Diaz-Gonzalez
a56f173568 Merge pull request #3921 from dokku/fix-container-type-enter
Correct container_type handling when entering containers
2020-04-04 13:55:41 -04:00
Jose Diaz-Gonzalez
cae35e6701 fix: correct container_type handling when entering containers 2020-04-04 13:54:52 -04:00
Jose Diaz-Gonzalez
66a772b8c7 Merge pull request #3920 from dokku/ssh-keys-user-list
Add the ability to list ssh keys for a specific user
2020-04-04 03:47:37 -04:00
Jose Diaz-Gonzalez
c91a6d1a55 feat: add the ability to list ssh keys for a specific user
Also upgrade the version of sshcommand used within the vagrant vm
2020-04-04 02:23:38 -04:00
Jose Diaz-Gonzalez
e86f49e64a Merge pull request #3919 from dokku/3152-dokku-event-listener
Fix bug with restarting containers not being routed to because of changing IP addresses
2020-04-03 15:59:57 -04:00
Jose Diaz-Gonzalez
cb5a782f92 feat: recommend installation of the dokku-event-installer
Closes #3152
2020-04-03 14:55:29 -04:00
Jose Diaz-Gonzalez
610a2ca477 Release 0.20.1
# History

## 0.20.1

Install/update via the bootstrap script:

```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.20.1/bootstrap.sh
sudo DOKKU_TAG=v0.20.1 bash bootstrap.sh
```

### Bug Fixes

- #3916: @josegonzalez Change error exit to warning when no apps exist

### New Features

- #3918: @josegonzalez Upgrade herokuish to 0.5.11
- #3915: @josegonzalez Add ability to check if a plugin has been installed
- #3914: @josegonzalez Add ability to change or disable the access/error log path
- #3913: @josegonzalez Upgrade herokuish

### Documentation

- #3907: @josegonzalez Add sponsoring link to issue template
- #3904: @jazzzz Update dokku-apt entry
- #3902: @josegonzalez Remove extra commas from network docs

### Other

- #3909: @dependabot-preview[bot] chore(deps): bump werkzeug from 1.0.0 to 1.0.1 in /tests/apps/python-flask
- #3903: @dependabot-preview[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 172 to 173 in /tests/apps/php
2020-04-03 09:46:52 -04:00
Jose Diaz-Gonzalez
234969866e Merge pull request #3918 from dokku/upgrade-herokuish
Upgrade herokuish to 0.5.11
2020-04-03 09:43:24 -04:00
Jose Diaz-Gonzalez
9cf8e7b0bb feat: upgrade herokuish to 0.5.11 2020-04-03 09:42:55 -04:00
Jose Diaz-Gonzalez
4da5f5e7ac Merge pull request #3916 from dokku/apps-list-warning
Change error exit to warning when no apps exist
2020-04-02 19:28:32 -04:00
Jose Diaz-Gonzalez
72a4637beb fix: change error exit to warning when no apps exist
This was a regression introduced in 0.20.0 when the plugin was converted to golang.
2020-04-02 15:59:54 -04:00
Jose Diaz-Gonzalez
ea1316fdfc Merge pull request #3915 from dokku/plugin-installed
Add ability to check if a plugin has been installed
2020-04-01 20:07:00 -04:00
Jose Diaz-Gonzalez
18deebaea2 Merge pull request #3914 from dokku/3911-nginx-log-path
Add ability to change or disable the access/error log path
2020-04-01 20:06:50 -04:00
Jose Diaz-Gonzalez
57da0e1ff0 docs: add "new as of" blockquote
[ci skip]
2020-04-01 20:06:37 -04:00
Jose Diaz-Gonzalez
908d203a64 Update docs/configuration/nginx.md
Co-Authored-By: decentral1se <lukewm@riseup.net>
2020-04-01 15:58:01 -04:00
Jose Diaz-Gonzalez
88631483b4 Update docs/configuration/nginx.md
Co-Authored-By: decentral1se <lukewm@riseup.net>
2020-04-01 15:57:54 -04:00
Jose Diaz-Gonzalez
cef73e7872 fix: build config after nginx:set 2020-04-01 15:27:17 -04:00
Jose Diaz-Gonzalez
583fb52f8d Update docs/advanced-usage/plugin-management.md
Co-Authored-By: decentral1se <lukewm@riseup.net>
2020-04-01 14:47:41 -04:00
Jose Diaz-Gonzalez
39ab4808a7 Update docs/advanced-usage/plugin-management.md
Co-Authored-By: decentral1se <lukewm@riseup.net>
2020-04-01 14:47:33 -04:00
Jose Diaz-Gonzalez
d82ad0a10a Merge pull request #3909 from dokku/dependabot/pip/tests/apps/python-flask/werkzeug-1.0.1
chore(deps): bump werkzeug from 1.0.0 to 1.0.1 in /tests/apps/python-flask
2020-04-01 12:37:43 -04:00
Jose Diaz-Gonzalez
62caa85423 feat: add ability to change or disable the access/error log path
Closes #3911
2020-04-01 12:21:52 -04:00
Jose Diaz-Gonzalez
b70e59f9ff feat: add ability to check if a plugin has been installed 2020-04-01 11:48:28 -04:00
Jose Diaz-Gonzalez
75a9b2a4d2 Merge pull request #3913 from dokku/upgrade-herokuish
Upgrade herokuish
2020-04-01 11:42:06 -04:00
Jose Diaz-Gonzalez
0c96e5deb9 feat: upgrade herokuish 2020-04-01 11:38:25 -04:00
dependabot-preview[bot]
a97862dd7b chore(deps): bump werkzeug in /tests/apps/python-flask
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/master/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/1.0.0...1.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-01 06:54:37 +00:00
Jose Diaz-Gonzalez
061a812f50 Merge pull request #3907 from dokku/josegonzalez-patch-1
Add sponsoring link to issue template
2020-03-30 21:13:03 -04:00
Jose Diaz-Gonzalez
f5d5b4fcda docs: add sponsoring link to issue template
[ci skip]
2020-03-30 21:12:43 -04:00
Jose Diaz-Gonzalez
6e50444d05 Merge pull request #3904 from jazzzz/patch-2
Update dokku-apt entry
2020-03-23 10:18:36 -04:00
Jose Diaz-Gonzalez
d525d51221 Merge pull request #3903 from dokku/dependabot/composer/tests/apps/php/heroku/heroku-buildpack-php-173
chore(deps-dev): bump heroku/heroku-buildpack-php from 172 to 173 in /tests/apps/php
2020-03-23 10:18:23 -04:00
Jazz
5dc3018d6d Update dokku-apt entry 2020-03-23 13:43:05 +01:00
dependabot-preview[bot]
d84df2cc41 chore(deps-dev): bump heroku/heroku-buildpack-php in /tests/apps/php
Bumps [heroku/heroku-buildpack-php](https://github.com/heroku/heroku-buildpack-php) from 172 to 173.
- [Release notes](https://github.com/heroku/heroku-buildpack-php/releases)
- [Changelog](https://github.com/heroku/heroku-buildpack-php/blob/master/CHANGELOG.md)
- [Commits](https://github.com/heroku/heroku-buildpack-php/compare/v172...v173)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-23 09:24:59 +00:00
Jose Diaz-Gonzalez
d61b830e4a Merge pull request #3902 from dokku/josegonzalez-patch-1
Remove extra commas from network docs
2020-03-21 20:32:12 -04:00
Jose Diaz-Gonzalez
cd7d47c381 docs: remove extra commas from network docs 2020-03-21 20:15:01 -04:00
Jose Diaz-Gonzalez
3ef092fda9 docs: mention gliderlabs-sigil in upgrade docs
[ci skip]
2020-03-21 16:49:09 -04:00
Jose Diaz-Gonzalez
99e98fb68a Release 0.20.0
# History

## 0.20.0

Install/update via the bootstrap script:

```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.20.0/bootstrap.sh
sudo DOKKU_TAG=v0.20.0 bash bootstrap.sh
```

### Bug Fixes

- #3891: @josegonzalez Add missing cpio dependency
- #3861: @josegonzalez Fix app clone and rename calls
- #3682: @josegonzalez Force tty check to run with the default language
- #3853: @josegonzalez Add missing hooks to events plugin

### New Features

- #3899: @josegonzalez Drop unnecessary quotes on docker inspect calls
- #3895: @josegonzalez Expose network listeners to nginx templates for all process types
- #3893: @josegonzalez Rewrite apps plugin in golang
- #3889: @josegonzalez Update herokuish
- #3879: @josegonzalez Drop support for unsupported Debian and Ubuntu releases …
- #3880: @josegonzalez Remove unnecessary source/import statements
- #3871: @josegonzalez Rewrite proxy plugin in golang
- #3869: @josegonzalez Standardize plugin trigger calls
- #3870: @josegonzalez Use Println in favor of Fprintln for os.Stdout
- #3868: @josegonzalez Remove ps command
- #3866: @josegonzalez Unify nginx config commands
- #3865: @josegonzalez Cleanup injected docker labels
- #3860: @josegonzalez Remove deprecated egrep calls from codebase
- #3854: @josegonzalez Remove deprecated code
- #3852: @josegonzalez Standardize plugin code
- #3850: @josegonzalez DRY up reports in golang
- #3851: @josegonzalez Update herokuish to 0.5.6
- #3847: @josegonzalez Custom docker networking
- #3848: @josegonzalez Minor logging changes
- #3843: @josegonzalez Enable HSTS by default
- #3844: @josegonzalez Add global fallback for DOKKU_PROXY_PORT and DOKKU_PROXY_SSL_PORT
- #3609: @jayjun Start long running containers with --init with tests
- #3842: @josegonzalez rework docker-args-process trigger arguments
- #3841: @josegonzalez Implement docker-options:clear

### Documentation

- #3901: @Cellane 📝 Update information about Dokku CLI installation
- #3892: @josegonzalez Move code of conduct to .github org repository
- #3888: @decentral1se Mark 9+ for Debian version
- #3874: @josegonzalez Push users to upgrade to recent versions
- #3864: @alex-galey Change docs copyright to 2020
- #3863: @josegonzalez Update issue template to remove ambiguity around reporting
- #3849: @josegonzalez Reference correct property in network docs example
- #3840: @ollej Add link to fonts plugin
- #3838: @ltalirz Expand docs surrounding access control

### Other

- #3897: @dependabot-preview[bot] chore(deps): bump github.com/golang/protobuf from 1.3.4 to 1.3.5 in /tests/apps/gogrpc
- #3896: @dependabot-preview[bot] chore(deps): bump maven-dependency-plugin from 3.1.1 to 3.1.2 in /tests/apps/java
- #3894: @dependabot-preview[bot] chore(deps): bump google.golang.org/grpc from 1.27.1 to 1.28.0 in /tests/apps/gogrpc
- #3885: @dependabot-preview[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 171 to 172 in /tests/apps/php
- #3884: @dependabot-preview[bot] chore(deps): bump jetty-servlet from 9.4.26.v20200117 to 9.4.27.v20200227 in /tests/apps/java
- #3877: @dependabot-preview[bot] chore(deps): bump github.com/golang/protobuf from 1.3.3 to 1.3.4 in /tests/apps/gogrpc
- #3858: @dependabot-preview[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 170 to 171 in /tests/apps/php
- #3855: @dependabot-preview[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 169 to 170 in /tests/apps/php
- #3846: @dependabot-preview[bot] chore(deps): bump werkzeug from 0.16.1 to 1.0.0 in /tests/apps/python-flask
- #3845: @dependabot-preview[bot] chore(deps): bump google.golang.org/grpc from 1.27.0 to 1.27.1 in /tests/apps/gogrpc
- #3833: @dependabot-preview[bot] chore(deps): bump google.golang.org/grpc from 1.26.0 to 1.27.0 in /tests/apps/gogrpc
- #3837: @dependabot-preview[bot] chore(deps): bump jinja2 from 2.10.3 to 2.11.1 in /tests/apps/python-flask
- #3836: @dependabot-preview[bot] chore(deps): bump github.com/golang/protobuf from 1.3.2 to 1.3.3 in /tests/apps/gogrpc
- #3829: @dependabot-preview[bot] chore(deps): bump werkzeug from 0.16.0 to 0.16.1 in /tests/apps/python-flask
- #3830: @dependabot-preview[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 166 to 169 in /tests/apps/php
2020-03-20 17:50:50 -04:00
Jose Diaz-Gonzalez
fb6502044c Merge pull request #3901 from Cellane/docs-update-local-client-info
📝 Update information about Dokku CLI installation
2020-03-18 22:51:14 -04:00
Milan Vit
49e48f5f56 📝 Update information about Dokku CLI installation 2020-03-19 11:47:03 +09:00
Jose Diaz-Gonzalez
0b8fbfdeb9 Merge pull request #3899 from dokku/remove-extra-quotes
Drop unnecessary quotes on docker inspect calls
2020-03-18 19:00:08 -04:00
Jose Diaz-Gonzalez
5a2decb4e4 chore: drop unnecessary quotes on docker inspect call 2020-03-18 17:59:49 -04:00
Jose Diaz-Gonzalez
99fcd613fe Merge pull request #3895 from dokku/3258-expose-non-web
Expose network listeners to nginx templates for all process types
2020-03-13 13:52:07 -04:00
Jose Diaz-Gonzalez
c4b8bd8da9 test: ensure that the worker upstream exists 2020-03-13 12:42:42 -04:00
Jose Diaz-Gonzalez
309dd5a614 Merge pull request #3897 from dokku/dependabot/go_modules/tests/apps/gogrpc/github.com/golang/protobuf-1.3.5
chore(deps): bump github.com/golang/protobuf from 1.3.4 to 1.3.5 in /tests/apps/gogrpc
2020-03-13 10:36:11 -04:00
dependabot-preview[bot]
1b32ccbe38 chore(deps): bump github.com/golang/protobuf in /tests/apps/gogrpc
Bumps [github.com/golang/protobuf](https://github.com/golang/protobuf) from 1.3.4 to 1.3.5.
- [Release notes](https://github.com/golang/protobuf/releases)
- [Commits](https://github.com/golang/protobuf/compare/v1.3.4...v1.3.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-13 06:38:07 +00:00
Jose Diaz-Gonzalez
c482a3ff37 Merge pull request #3896 from dokku/dependabot/maven/tests/apps/java/org.apache.maven.plugins-maven-dependency-plugin-3.1.2
chore(deps): bump maven-dependency-plugin from 3.1.1 to 3.1.2 in /tests/apps/java
2020-03-12 09:01:21 -04:00
dependabot-preview[bot]
f39fd64a5b chore(deps): bump maven-dependency-plugin in /tests/apps/java
Bumps [maven-dependency-plugin](https://github.com/apache/maven-dependency-plugin) from 3.1.1 to 3.1.2.
- [Release notes](https://github.com/apache/maven-dependency-plugin/releases)
- [Commits](https://github.com/apache/maven-dependency-plugin/compare/maven-dependency-plugin-3.1.1...maven-dependency-plugin-3.1.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-12 06:38:39 +00:00
Jose Diaz-Gonzalez
38a13ecd39 feat: expose network listeners to nginx templates for all process types
This change allows users to specify a custom nginx.conf.sigil that can expose non-web process types to the outside world in addition to the web process type.

Closes #3258
2020-03-11 12:34:38 -04:00
Jose Diaz-Gonzalez
7d59b45fdb Merge pull request #3893 from dokku/apps-go
Rewrite apps plugin in golang
2020-03-11 10:50:42 -04:00
Jose Diaz-Gonzalez
c6a6eff7db fix: use correct flag 2020-03-11 03:38:18 -04:00
Jose Diaz-Gonzalez
c5575bb300 Merge pull request #3894 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/grpc-1.28.0
chore(deps): bump google.golang.org/grpc from 1.27.1 to 1.28.0 in /tests/apps/gogrpc
2020-03-11 03:36:02 -04:00
dependabot-preview[bot]
293050bc17 chore(deps): bump google.golang.org/grpc in /tests/apps/gogrpc
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.27.1 to 1.28.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.27.1...v1.28.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-11 06:42:57 +00:00
Jose Diaz-Gonzalez
f8c9efe230 fix: minor issues 2020-03-11 01:27:59 -04:00
Jose Diaz-Gonzalez
057c418be4 feat: implement :clone and :rename 2020-03-11 01:19:01 -04:00
Jose Diaz-Gonzalez
0be0ad7ef7 fix: correct issue with app autocreation 2020-03-11 01:00:10 -04:00
Jose Diaz-Gonzalez
eeaa6799fd Merge pull request #3891 from dokku/3875-cpio-dep
Add missing cpio dependency
2020-03-11 00:50:41 -04:00
Jose Diaz-Gonzalez
7fd1882dbb fix: correct regex for invalid app names 2020-03-11 00:37:02 -04:00
Jose Diaz-Gonzalez
76c0aed2ad fix: correct deploy output 2020-03-11 00:22:47 -04:00
Jose Diaz-Gonzalez
b9c331cf99 fix: correct stickler error 2020-03-11 00:22:33 -04:00
Jose Diaz-Gonzalez
e789504db1 fix: correct stickler issues 2020-03-10 23:56:16 -04:00
Jose Diaz-Gonzalez
e15ebe6a94 Merge pull request #3892 from dokku/3813-coc
Move code of conduct to .github org repository
2020-03-10 23:51:01 -04:00
Jose Diaz-Gonzalez
2b5a49cdc6 Move code of conduct to .github org repository
This is now available globally for the project here: https://github.com/dokku/.github/blob/master/CODE_OF_CONDUCT.md

Closes #3813
2020-03-10 23:50:41 -04:00
Jose Diaz-Gonzalez
b50f2cb45e fix: add missing cpio dependency
Closes #3875
2020-03-10 23:42:23 -04:00
Jose Diaz-Gonzalez
7fa9b72144 feat: suppress the output of createApp
A git push requires that the first four bytes should be the line length, so not suppressing the output results in a partially failed deploy.

https://stackoverflow.com/a/8175315/1515875
2020-03-10 23:06:00 -04:00
Jose Diaz-Gonzalez
62a361cbe0 feat: log issues with removing files 2020-03-10 22:21:27 -04:00
Jose Diaz-Gonzalez
b881be1cfe fix: validate name 2020-03-10 22:18:01 -04:00
Jose Diaz-Gonzalez
c230a6ac90 refactor: always remove 2020-03-10 22:17:51 -04:00
Jose Diaz-Gonzalez
82ad2bbd17 feat: suppress tag output 2020-03-10 22:17:42 -04:00
Jose Diaz-Gonzalez
0d3fd1e943 fix: return errors 2020-03-10 22:17:32 -04:00
Jose Diaz-Gonzalez
051a329873 feat: avoid deprecated functions 2020-03-10 18:19:31 -04:00
Jose Diaz-Gonzalez
aa156b2834 feat: add missing config-get triggers 2020-03-10 18:19:04 -04:00
Jose Diaz-Gonzalez
6d62835734 fix: correct issues in app creation and deletion 2020-03-10 15:10:19 -04:00
Jose Diaz-Gonzalez
b968ced6e9 refactor: first pass at rewriting apps plugin in go 2020-03-10 14:14:37 -04:00
Jose Diaz-Gonzalez
48dc5d8cc1 refactor: move git-sha flag to git:report 2020-03-10 14:13:48 -04:00
Jose Diaz-Gonzalez
8186934f72 chore: add deprecated tag 2020-03-10 14:13:18 -04:00
Jose Diaz-Gonzalez
0b758d2ba0 refactor: move confirmation logic to common.go 2020-03-10 14:13:11 -04:00
Jose Diaz-Gonzalez
bd47c76d26 refactor: move private buildpacks function to functions.go 2020-03-10 14:12:24 -04:00
Jose Diaz-Gonzalez
3f0c46d43d feat: add helper for fetching AppRoot in golang 2020-03-10 14:12:05 -04:00
Jose Diaz-Gonzalez
cd21e90edf Merge pull request #3888 from decentral1se/debian-version-doc
Mark 9+ for Debian version
2020-03-07 23:43:08 -05:00
Jose Diaz-Gonzalez
3d34625399 Merge pull request #3889 from dokku/upgrade-herokuish
Update herokuish
2020-03-07 23:42:37 -05:00
Jose Diaz-Gonzalez
c9c0d11b66 chore: update herokuish 2020-03-07 23:40:52 -05:00
Luke Murphy
8e2fc50746 Mark 9+ for Debian version
[ci skip]
2020-03-07 22:47:07 +01:00
Jose Diaz-Gonzalez
35d026bf38 Merge pull request #3885 from dokku/dependabot/composer/tests/apps/php/heroku/heroku-buildpack-php-172
chore(deps-dev): bump heroku/heroku-buildpack-php from 171 to 172 in /tests/apps/php
2020-03-02 13:48:11 -05:00
Jose Diaz-Gonzalez
09bf7cb3f0 Merge pull request #3884 from dokku/dependabot/maven/tests/apps/java/org.eclipse.jetty-jetty-servlet-9.4.27.v20200227
chore(deps): bump jetty-servlet from 9.4.26.v20200117 to 9.4.27.v20200227 in /tests/apps/java
2020-03-02 13:48:03 -05:00
dependabot-preview[bot]
9f0fe29417 chore(deps-dev): bump heroku/heroku-buildpack-php in /tests/apps/php
Bumps [heroku/heroku-buildpack-php](https://github.com/heroku/heroku-buildpack-php) from 171 to 172.
- [Release notes](https://github.com/heroku/heroku-buildpack-php/releases)
- [Changelog](https://github.com/heroku/heroku-buildpack-php/blob/master/CHANGELOG.md)
- [Commits](https://github.com/heroku/heroku-buildpack-php/compare/v171...v172)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 09:07:25 +00:00
dependabot-preview[bot]
855fc1e672 chore(deps): bump jetty-servlet in /tests/apps/java
Bumps [jetty-servlet](https://github.com/eclipse/jetty.project) from 9.4.26.v20200117 to 9.4.27.v20200227.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-9.4.26.v20200117...jetty-9.4.27.v20200227)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 07:07:32 +00:00
Jose Diaz-Gonzalez
8dbe59bff7 Merge pull request #3879 from dokku/remove-old-operating-systems
Drop support for unsupported Debian and Ubuntu releases …
2020-02-29 14:29:43 -05:00
Jose Diaz-Gonzalez
66d327a5d1 Merge pull request #3880 from dokku/drop-unnecessary-source
Remove unnecessary source/import statements
2020-02-29 14:29:29 -05:00
Jose Diaz-Gonzalez
054bf26b0e chore: remove unnecessary source/import statements 2020-02-28 06:03:53 -05:00
Jose Diaz-Gonzalez
329e97c8ee feat: drop support for unsupported Debian and Ubuntu releases
While the latest packages may continue to work on other releases, we will no longer officially support these releases, nor will we distribute packages.
2020-02-28 05:57:55 -05:00
Jose Diaz-Gonzalez
0bce3238bc feat: add error when installing on unsupported debian operating systems 2020-02-28 05:39:50 -05:00
Jose Diaz-Gonzalez
ac821d92cf refactor: use in-array check to add support for future versions 2020-02-28 05:36:31 -05:00
Jose Diaz-Gonzalez
db412399ba refactor: use a log helper 2020-02-28 05:36:17 -05:00
Jose Diaz-Gonzalez
7100853a2e refactor: drop support for installing on older operating systems 2020-02-28 05:35:52 -05:00
Jose Diaz-Gonzalez
994e220ebf Merge pull request #3871 from dokku/proxy-go
Rewrite proxy plugin in golang
2020-02-28 05:09:20 -05:00
Jose Diaz-Gonzalez
a33add8000 fix: rename method and add comment 2020-02-28 03:18:38 -05:00
Jose Diaz-Gonzalez
231ab0ecd4 docs: add headers to proxy page and add docs around removing by host-port 2020-02-28 03:11:54 -05:00
Jose Diaz-Gonzalez
0b09d38e2e fix: handle error input appropriately 2020-02-28 03:11:31 -05:00
Jose Diaz-Gonzalez
0007df1fc1 Merge pull request #3877 from dokku/dependabot/go_modules/tests/apps/gogrpc/github.com/golang/protobuf-1.3.4
chore(deps): bump github.com/golang/protobuf from 1.3.3 to 1.3.4 in /tests/apps/gogrpc
2020-02-27 19:45:16 -05:00
dependabot-preview[bot]
de908efda1 chore(deps): bump github.com/golang/protobuf in /tests/apps/gogrpc
Bumps [github.com/golang/protobuf](https://github.com/golang/protobuf) from 1.3.3 to 1.3.4.
- [Release notes](https://github.com/golang/protobuf/releases)
- [Commits](https://github.com/golang/protobuf/compare/v1.3.3...v1.3.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-27 06:47:37 +00:00
Jose Diaz-Gonzalez
3f85b682fb fix: ensure proxy ports are sorted 2020-02-25 21:14:37 -05:00
Jose Diaz-Gonzalez
05486d6df1 fix: do not return immediately 2020-02-25 20:11:57 -05:00
Jose Diaz-Gonzalez
e6bf778a65 feat: optionally log 2020-02-25 20:11:43 -05:00
Jose Diaz-Gonzalez
6ecf6c31ba fix: correct issue with nil map 2020-02-25 20:11:32 -05:00
Jose Diaz-Gonzalez
130b9d6c4b Merge pull request #3874 from dokku/josegonzalez-patch-1
Push users to upgrade to recent versions
2020-02-24 23:05:01 -05:00
Jose Diaz-Gonzalez
f4a37f6867 docs: push users to upgrade to recent versions
Supporting versions more than a year old is difficult with a quick-moving project, and not worth the time that could be better spent fixing existing bugs/adding new functionality for an OSS project.
2020-02-24 23:04:41 -05:00
Jose Diaz-Gonzalez
2a5fcd001e tests: clean up app-json tests 2020-02-22 21:17:30 -05:00
Jose Diaz-Gonzalez
b961f01906 fix: install jq for tests 2020-02-22 21:16:26 -05:00
Jose Diaz-Gonzalez
c0957ebfc3 refactor: speed up buildpack tests 2020-02-22 20:49:21 -05:00
Jose Diaz-Gonzalez
137ea8c30d tests: fix logging output 2020-02-22 20:49:11 -05:00
Jose Diaz-Gonzalez
e8a31141fc fix: remove unused import 2020-02-22 17:05:27 -05:00
Jose Diaz-Gonzalez
d3ef846b59 fix: correct stickler issues 2020-02-22 16:56:35 -05:00
Jose Diaz-Gonzalez
b5be68f9d0 Merge pull request #3869 from dokku/plugn-trigger-calls
Standardize plugin trigger calls
2020-02-22 16:50:42 -05:00
Jose Diaz-Gonzalez
6fd4b5adb1 refactor: rewrite proxy plugin in golang 2020-02-22 06:40:24 -05:00
Jose Diaz-Gonzalez
26e8524ae5 refactor: surface errors when running reports 2020-02-22 06:40:24 -05:00
Jose Diaz-Gonzalez
09b656e37e refactor: standardize plugin trigger calls 2020-02-22 06:39:33 -05:00
Jose Diaz-Gonzalez
59316f4a21 Merge pull request #3870 from dokku/standardize-println
Use Println in favor of Fprintln for os.Stdout
2020-02-22 06:36:20 -05:00
Jose Diaz-Gonzalez
cff51b8ec9 fix: add missing parenthesis 2020-02-22 04:59:53 -05:00
Jose Diaz-Gonzalez
e5a9d29215 refactor: use Println in favor of Fprintln for os.Stdout 2020-02-22 04:32:51 -05:00
Jose Diaz-Gonzalez
9beefe923f Merge pull request #3868 from dokku/remove-ps-command
Remove ps command
2020-02-22 04:25:24 -05:00
Jose Diaz-Gonzalez
009e37d840 refactor: remove ps command
`ps` should be replaced by `enter` with a specified container id.
2020-02-22 00:42:19 -05:00
Jose Diaz-Gonzalez
b06aeeccb1 Merge pull request #3866 from dokku/nginx-show-conf
Unify nginx config commands
2020-02-19 02:38:48 -05:00
Jose Diaz-Gonzalez
1ba5269779 fix: use correct command name 2020-02-19 01:02:12 -05:00
Jose Diaz-Gonzalez
94357b961e refactor: deprecate nginx:validate
The command function move was to fix circular import issues...
2020-02-19 01:00:47 -05:00
Jose Diaz-Gonzalez
579d430303 refactor: rename nginx:show-conf to nginx:show-config 2020-02-19 01:00:47 -05:00
Jose Diaz-Gonzalez
7199d37636 Merge pull request #3865 from dokku/label-cleanup
Cleanup injected docker labels
2020-02-19 00:30:04 -05:00
Jose Diaz-Gonzalez
93080498f6 fix: correct calls to docker build and import common functions 2020-02-18 23:05:52 -05:00
Jose Diaz-Gonzalez
00f3d498a2 fix: fetch app image before variable use 2020-02-18 05:43:45 -05:00
Jose Diaz-Gonzalez
de84a038d2 feat: inject a com.dokku.dyno label
This is useful for external tools that monitor based on container labels.
2020-02-18 01:33:40 -05:00
Jose Diaz-Gonzalez
11e9cd13ae chore: drop com.dokku.network label
It isn't necessary, we know the network is the network...
2020-02-18 01:33:05 -05:00
Jose Diaz-Gonzalez
9d3785147e docs: cleanup post-release-* trigger documentation 2020-02-18 01:32:41 -05:00
Jose Diaz-Gonzalez
8e4dc1c2d0 feat: label released images
This will allow us to properly handle cases where the labeled image isn't actually the correct image due to invalid builds.
2020-02-18 01:32:26 -05:00
Jose Diaz-Gonzalez
2be8df1228 docs: document the new post-app-rename-setup trigger 2020-02-18 01:13:47 -05:00
Jose Diaz-Gonzalez
9f32747c98 Merge pull request #3861 from dokku/3821-fix-clone-rename
Fix app clone and rename calls
2020-02-18 00:42:25 -05:00
Jose Diaz-Gonzalez
acff195fcb tests: use TEST_NETWORK env var for test-network name 2020-02-17 23:41:01 -05:00
Jose Diaz-Gonzalez
b4d7d37d9b tests: add tests for app cloning 2020-02-17 22:38:35 -05:00
Jose Diaz-Gonzalez
d978f98c23 chore: drop extra log output 2020-02-17 22:16:40 -05:00
Jose Diaz-Gonzalez
973313e3aa tests: add tests for app renaming 2020-02-17 22:12:15 -05:00
Jose Diaz-Gonzalez
fdf09adcd5 fix: ignore errors when getting all properties 2020-02-17 21:48:33 -05:00
Jose Diaz-Gonzalez
02e2fa73f5 fix: drop extra s 2020-02-17 21:47:42 -05:00
Jose Diaz-Gonzalez
7389bb3f03 fix: properly handle returned errors 2020-02-17 20:42:29 -05:00
Jose Diaz-Gonzalez
2949e1125f Merge pull request #3864 from alex-galey/patch-1
Change docs copyright to 2020
2020-02-17 20:32:02 -05:00
Alex Galey
38cbcb33ed Change docs copyright to 2020 2020-02-18 01:57:09 +01:00
Jose Diaz-Gonzalez
2e774f0806 feat: unify apps:rename and apps:clone
- add --skip-deploy to apps:rename
- add all missing validation to rename command
- fix log output to be a bit more logical
2020-02-17 19:23:07 -05:00
Jose Diaz-Gonzalez
8987ec6704 refactor: move cache and rebuild handling to plugin triggers 2020-02-17 19:18:12 -05:00
Jose Diaz-Gonzalez
63f4ec3867 feat: call clone/destroy prop commands as necessary 2020-02-17 19:08:39 -05:00
Jose Diaz-Gonzalez
d336d7c5c2 feat: add prop clone command 2020-02-17 18:48:06 -05:00
Jose Diaz-Gonzalez
ebd27cd666 chore: drop unused and unspecified arg 2020-02-17 18:43:42 -05:00
Jose Diaz-Gonzalez
b1ae58f968 chore: re-arrange commands to be in alphabetical order 2020-02-17 18:40:55 -05:00
Jose Diaz-Gonzalez
0b40414170 refactor: use normal if statement instead of && calls 2020-02-17 18:27:11 -05:00
Jose Diaz-Gonzalez
acdc0109aa Merge pull request #3860 from dokku/remove-egrep
Remove deprecated egrep calls from codebase
2020-02-17 17:42:18 -05:00
Jose Diaz-Gonzalez
b1b67b3238 Merge pull request #3863 from dokku/josegonzalez-patch-1
Update issue template to remove ambiguity around reporting
2020-02-17 16:33:37 -05:00
Jose Diaz-Gonzalez
7d7c035b57 docs: update issue template to remove ambiguity around reporting
[ci skip]
2020-02-17 16:33:13 -05:00
Jose Diaz-Gonzalez
799a5713c2 chore: remove duplicate docker_cleanup call
This is already called during apps_destroy
2020-02-17 06:23:14 -05:00
Jose Diaz-Gonzalez
5dd297bb49 refactor: move pre-receive hook modification to post-app-clone-setup trigger 2020-02-17 06:21:08 -05:00
Jose Diaz-Gonzalez
5801fd98a4 refactor: move pre-receive hook modification to post-app-rename-setup trigger 2020-02-17 06:20:20 -05:00
Jose Diaz-Gonzalez
9d3538d587 fix: move ps_rebuild to post-app-rename 2020-02-17 06:17:58 -05:00
Jose Diaz-Gonzalez
3a961d2de7 feat: move URLS and VHOST modifications to post-app-rename-setup 2020-02-17 06:17:13 -05:00
Jose Diaz-Gonzalez
c2c2e2ccbd refactor: call proxy-clear-config from post-app-rename-setup 2020-02-17 06:14:48 -05:00
Jose Diaz-Gonzalez
0740636d53 feat: call ps_rebuild from post-app-rename-setup 2020-02-17 06:10:26 -05:00
Jose Diaz-Gonzalez
77f9862549 feat: add post-app-rename-setup trigger 2020-02-17 06:09:42 -05:00
Jose Diaz-Gonzalez
e19b52442b fix: remove deprecated egrep calls from codebase 2020-02-17 05:59:52 -05:00
Jose Diaz-Gonzalez
b04080bcb1 Merge pull request #3854 from dokku/remove-deprecated-code
Remove deprecated code
2020-02-17 05:51:20 -05:00
Jose Diaz-Gonzalez
04e1837e9e fix: revert to old array arg 2020-02-17 04:44:25 -05:00
Jose Diaz-Gonzalez
ce275837ac fix: properly check for app domains 2020-02-17 04:39:52 -05:00
Jose Diaz-Gonzalez
4c7cd3f2af feat: show the nginx config 2020-02-17 04:30:23 -05:00
Jose Diaz-Gonzalez
1e0899ee04 feat: cat the nginx conf for debugging 2020-02-17 04:29:23 -05:00
Jose Diaz-Gonzalez
57cf1dce61 refactor: use show-conf instead of cating the conf directly 2020-02-17 04:29:08 -05:00
Jose Diaz-Gonzalez
1a57c30bae chore: drop unused source 2020-02-17 04:28:35 -05:00
Jose Diaz-Gonzalez
cfee47f382 Merge pull request #3858 from dokku/dependabot/composer/tests/apps/php/heroku/heroku-buildpack-php-171
chore(deps-dev): bump heroku/heroku-buildpack-php from 170 to 171 in /tests/apps/php
2020-02-12 07:36:20 -05:00
dependabot-preview[bot]
962818b0ea chore(deps-dev): bump heroku/heroku-buildpack-php in /tests/apps/php
Bumps [heroku/heroku-buildpack-php](https://github.com/heroku/heroku-buildpack-php) from 170 to 171.
- [Release notes](https://github.com/heroku/heroku-buildpack-php/releases)
- [Changelog](https://github.com/heroku/heroku-buildpack-php/blob/master/CHANGELOG.md)
- [Commits](https://github.com/heroku/heroku-buildpack-php/compare/v170...v171)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-12 08:25:20 +00:00
Jose Diaz-Gonzalez
848373def5 chore: remove all deprecated commands
This change removes all deprecated commands. In many cases, users have been warned for a number of releases before the commands have been removed. All commands that were removed have existing alternatives.
2020-02-12 02:03:03 -05:00
Jose Diaz-Gonzalez
bcc5516afe Merge pull request #3855 from dokku/dependabot/composer/tests/apps/php/heroku/heroku-buildpack-php-170
chore(deps-dev): bump heroku/heroku-buildpack-php from 169 to 170 in /tests/apps/php
2020-02-11 14:23:42 -05:00
dependabot-preview[bot]
411aa119a3 chore(deps-dev): bump heroku/heroku-buildpack-php in /tests/apps/php
Bumps [heroku/heroku-buildpack-php](https://github.com/heroku/heroku-buildpack-php) from 169 to 170.
- [Release notes](https://github.com/heroku/heroku-buildpack-php/releases)
- [Changelog](https://github.com/heroku/heroku-buildpack-php/blob/master/CHANGELOG.md)
- [Commits](https://github.com/heroku/heroku-buildpack-php/compare/v169...v170)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-11 08:20:29 +00:00
Jose Diaz-Gonzalez
d759c6c12d Merge pull request #3682 from dokku/3588-tty-default-lang
Force tty check to run with the default language
2020-02-10 05:14:24 -05:00
Jose Diaz-Gonzalez
0c388615cc Merge pull request #3853 from dokku/add-missing-hooks
Add missing hooks to events plugin
2020-02-10 04:44:42 -05:00
Jose Diaz-Gonzalez
e30d9fdba3 Merge pull request #3852 from dokku/standardize-plugin-code
Standardize plugin code
2020-02-10 04:44:16 -05:00
Jose Diaz-Gonzalez
53f520d5c6 fix: add missing hooks to events plugin 2020-02-10 04:43:57 -05:00
Jose Diaz-Gonzalez
35252444e1 fix: correct command name 2020-02-10 03:43:06 -05:00
Jose Diaz-Gonzalez
1b6c0ce6b6 fix: correct help test issues 2020-02-10 02:57:03 -05:00
Jose Diaz-Gonzalez
aa6a651f1d tests: correct test issues 2020-02-10 02:54:31 -05:00
Jose Diaz-Gonzalez
7357579af2 refactor: standardize trigger code 2020-02-10 02:40:59 -05:00
Jose Diaz-Gonzalez
4a60497d3e feat: add tests for all help commands 2020-02-10 01:56:50 -05:00
Jose Diaz-Gonzalez
7a1537e38e fix: correct tests 2020-02-10 01:41:31 -05:00
Jose Diaz-Gonzalez
e67b96780d refactor: unify command declaration across codebase 2020-02-10 01:40:30 -05:00
Jose Diaz-Gonzalez
b0abeb49dd chore: drop missing commands 2020-02-10 00:37:24 -05:00
Jose Diaz-Gonzalez
ef7894fdfa refactor: standardize help generation 2020-02-10 00:37:00 -05:00
Jose Diaz-Gonzalez
be5ea845fc fix: clean prop bin as well during make clean 2020-02-09 22:43:34 -05:00
Jose Diaz-Gonzalez
1cb586b2e7 refactor: standardize command naming
This standardization makes it somewhat easier to read stacktraces as the command names are all uniform, so it will be slightly easier to scan trace output.
2020-02-09 22:41:39 -05:00
Jose Diaz-Gonzalez
95935f5944 Merge pull request #3850 from dokku/refactor-report-single
DRY up reports in golang
2020-02-09 22:15:23 -05:00
Jose Diaz-Gonzalez
deea791e58 Merge pull request #3851 from dokku/update-herokuish
Update herokuish to 0.5.6
2020-02-09 21:34:51 -05:00
Jose Diaz-Gonzalez
d6391de55f feat: update herokuish 2020-02-09 21:33:20 -05:00
Jose Diaz-Gonzalez
58de433afa fix: omit 2nd value from range 2020-02-09 20:47:20 -05:00
Jose Diaz-Gonzalez
cacd7e169c Merge pull request #3849 from dokku/josegonzalez-patch-1
Reference correct property in network docs example
2020-02-09 20:44:16 -05:00
Jose Diaz-Gonzalez
bd539797db docs: reference correct property in network docs example
[ci skip]
2020-02-09 20:43:59 -05:00
Jose Diaz-Gonzalez
37c83e1c52 refactor: DRY up reports in golang
This unifies all the report-handling code so that plugins only need to worry about the data they wish to represent, and not the logic of actually returning it.
2020-02-09 20:37:03 -05:00
Jose Diaz-Gonzalez
b3a802a965 Merge pull request #3847 from dokku/2085-custom-network
Custom docker networking
2020-02-09 02:57:37 -05:00
Jose Diaz-Gonzalez
2d9f0f939c tests: update tests to handle new functionality
Also fix a few issues in the tests themselves
2020-02-09 01:22:14 -05:00
Jose Diaz-Gonzalez
ab509a7424 feat: ensure network exists before attempting to attach it to a container
This will give better feedback to developers than a potentially generic error.
2020-02-09 01:21:42 -05:00
Jose Diaz-Gonzalez
52ef7e7cdc refactor: move all internal functions to functions.go 2020-02-09 01:20:39 -05:00
Jose Diaz-Gonzalez
231078125a fix: ensure we cleanup networks in tests 2020-02-08 23:39:36 -05:00
Jose Diaz-Gonzalez
16d8bd480c fix: pass appName along 2020-02-08 22:48:10 -05:00
Jose Diaz-Gonzalez
e282c2dd7e tests: add tests for new networking features 2020-02-08 22:16:03 -05:00
Jose Diaz-Gonzalez
ca3a306b30 feat: ensure networks do not conflict 2020-02-08 22:15:37 -05:00
Jose Diaz-Gonzalez
c8537bff48 docs: document custom networking 2020-02-08 22:15:15 -05:00
Jose Diaz-Gonzalez
9818cc6461 feat: implement container network attaching
Containers can be attached:

- after they are created, but before they are started
- after a successful deploy, but before the proxy reloads

This allows folks to have flexibility around when they would like a container to be made available to a network.
2020-02-08 19:55:29 -05:00
Jose Diaz-Gonzalez
8eb32e4371 feat: add process-type label to running containers 2020-02-08 19:53:30 -05:00
Jose Diaz-Gonzalez
b1c6f66fc7 Merge pull request #3848 from dokku/logging-fixes
Minor logging changes
2020-02-08 19:48:03 -05:00
Jose Diaz-Gonzalez
b8c8797c6e chore: fix log message for app existing 2020-02-08 19:46:58 -05:00
Jose Diaz-Gonzalez
385aed85b9 chore: fix log_exit call 2020-02-08 19:46:50 -05:00
Jose Diaz-Gonzalez
d39f4ce54d feat: add stderr log functions 2020-02-08 19:46:44 -05:00
Jose Diaz-Gonzalez
46b83d06cc Merge pull request #3846 from dokku/dependabot/pip/tests/apps/python-flask/werkzeug-1.0.0
chore(deps): bump werkzeug from 0.16.1 to 1.0.0 in /tests/apps/python-flask
2020-02-07 21:22:10 -05:00
dependabot-preview[bot]
397527eb21 chore(deps): bump werkzeug in /tests/apps/python-flask
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 0.16.1 to 1.0.0.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/master/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/0.16.1...1.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-07 14:32:16 +00:00
Jose Diaz-Gonzalez
ec4bd32169 Merge pull request #3843 from dokku/3709-hsts
Enable HSTS by default
2020-02-07 09:30:54 -05:00
Jose Diaz-Gonzalez
a8c4065dcf fix: use the correct variable 2020-02-07 02:59:52 -05:00
Jose Diaz-Gonzalez
6940035d78 fix: support werkzeug==1.0.0 2020-02-06 20:31:24 -05:00
Jose Diaz-Gonzalez
13be4d07a6 fix: check correct properties 2020-02-06 19:27:14 -05:00
Jose Diaz-Gonzalez
b5f2d82f49 fix: setup tls for hsts test 2020-02-06 12:46:55 -05:00
Jose Diaz-Gonzalez
73e7ff7b18 feat: Enable HSTS by default
This enables the HSTS header by default when an SSL certificate is in use. HSTS options can also be managed via the nginx:set command, which also exposes the ability to disable HSTS for your application.
2020-02-06 11:08:13 -05:00
Jose Diaz-Gonzalez
89e2be720e Merge pull request #3845 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/grpc-1.27.1
chore(deps): bump google.golang.org/grpc from 1.27.0 to 1.27.1 in /tests/apps/gogrpc
2020-02-06 10:55:39 -05:00
dependabot-preview[bot]
001e431fa1 chore(deps): bump google.golang.org/grpc in /tests/apps/gogrpc
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.27.0 to 1.27.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.27.0...v1.27.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-06 06:48:27 +00:00
Jose Diaz-Gonzalez
d42fb02136 Merge pull request #3844 from dokku/global-proxy-port-config
Add global fallback for DOKKU_PROXY_PORT and DOKKU_PROXY_SSL_PORT
2020-02-05 15:35:32 -05:00
lalyos
bb176e4130 feat: add global fallback for DOKKU_PROXY_PORT and DOKKU_PROXY_SSL_PORT 2020-02-03 13:22:09 -05:00
Jose Diaz-Gonzalez
5de1c298eb Merge pull request #3609 from jayjun/init
Start long running containers with --init with tests
2020-02-03 13:05:11 -05:00
Jose Diaz-Gonzalez
414ea55ca8 tests: use 'ps auxf' 2020-02-03 12:10:39 -05:00
Tan Jay Jun
e425092d00 fix: reap orphaned processes with --init 2020-02-03 05:34:43 -05:00
Tan Jay Jun
26e3232f2c tests: check orphaned processes are reaped 2020-02-03 05:31:44 -05:00
Jose Diaz-Gonzalez
10d2fdea92 Merge pull request #3833 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/grpc-1.27.0
chore(deps): bump google.golang.org/grpc from 1.26.0 to 1.27.0 in /tests/apps/gogrpc
2020-02-03 04:39:37 -05:00
Jose Diaz-Gonzalez
7c11e32e1c Merge pull request #3842 from dokku/3780-fix-docker-args-process-triggers
rework docker-args-process trigger arguments
2020-02-03 04:39:20 -05:00
Jose Diaz-Gonzalez
69f5f6c475 Merge pull request #3841 from dokku/3776-docker-options-clear
Implement docker-options:clear
2020-02-03 04:39:04 -05:00
Jose Diaz-Gonzalez
47759439d7 Merge pull request #3840 from ollej/patch-1
Add link to fonts plugin
2020-02-03 00:03:16 -05:00
Jose Diaz-Gonzalez
fc8a8d6138 feat: implement docker-options:clear
Closes #3776
2020-02-01 17:06:27 -08:00
Jose Diaz-Gonzalez
4613efe191 refactor: docker-args-process rework trigger arguments
The IMAGE_TAG is not always available, while the IMAGE_SOURCE_TYPE is. Since the point of these triggers was to unify the argument passed and make it easier to interact with them, this version makes more sense.

Closes #3780
2020-02-01 16:18:13 -08:00
Olle Wreede
74e62e38f9 Add link to fonts plugin 2020-02-01 22:53:15 +01:00
Jose Diaz-Gonzalez
dcb79f8c0b Merge pull request #3838 from ltalirz/fix-user-management-docs
Expand docs surrounding access control
2020-02-01 09:33:58 -08:00
Leopold Talirz
6ff05715e5 remove explicit mention of dokku-acl 2020-02-01 17:47:08 +01:00
Jose Diaz-Gonzalez
fb449ab630 Merge pull request #3837 from dokku/dependabot/pip/tests/apps/python-flask/jinja2-2.11.1
chore(deps): bump jinja2 from 2.10.3 to 2.11.1 in /tests/apps/python-flask
2020-01-31 10:25:57 -08:00
Leopold Talirz
32e45107f7 add hint on dokku-acl
The deployment documentation on scoping user access pointed only to the
development documentation for implementing plugins to handle user
scoping.
Added link to the dokku-acl plugin, which already handles user scoping
out of the box.
2020-01-31 12:52:49 +01:00
dependabot-preview[bot]
a134111f79 chore(deps): bump jinja2 in /tests/apps/python-flask
Bumps [jinja2](https://github.com/pallets/jinja) from 2.10.3 to 2.11.1.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/master/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/2.10.3...2.11.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-31 06:50:23 +00:00
Jose Diaz-Gonzalez
5ec35496d8 Merge pull request #3836 from dokku/dependabot/go_modules/tests/apps/gogrpc/github.com/golang/protobuf-1.3.3
chore(deps): bump github.com/golang/protobuf from 1.3.2 to 1.3.3 in /tests/apps/gogrpc
2020-01-30 11:04:24 -08:00
dependabot-preview[bot]
f485062677 chore(deps): bump github.com/golang/protobuf in /tests/apps/gogrpc
Bumps [github.com/golang/protobuf](https://github.com/golang/protobuf) from 1.3.2 to 1.3.3.
- [Release notes](https://github.com/golang/protobuf/releases)
- [Commits](https://github.com/golang/protobuf/compare/v1.3.2...v1.3.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-30 06:40:19 +00:00
dependabot-preview[bot]
d068ab9722 chore(deps): bump google.golang.org/grpc in /tests/apps/gogrpc
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.26.0 to 1.27.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.26.0...v1.27.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-29 06:46:56 +00:00
Jose Diaz-Gonzalez
30866dd98b Merge pull request #3829 from dokku/dependabot/pip/tests/apps/python-flask/werkzeug-0.16.1
chore(deps): bump werkzeug from 0.16.0 to 0.16.1 in /tests/apps/python-flask
2020-01-27 12:19:15 -05:00
Jose Diaz-Gonzalez
e939eeb652 Merge pull request #3830 from dokku/dependabot/composer/tests/apps/php/heroku/heroku-buildpack-php-169
chore(deps-dev): bump heroku/heroku-buildpack-php from 166 to 169 in /tests/apps/php
2020-01-27 12:18:36 -05:00
dependabot-preview[bot]
22ccfe6442 chore(deps-dev): bump heroku/heroku-buildpack-php in /tests/apps/php
Bumps [heroku/heroku-buildpack-php](https://github.com/heroku/heroku-buildpack-php) from 166 to 169.
- [Release notes](https://github.com/heroku/heroku-buildpack-php/releases)
- [Changelog](https://github.com/heroku/heroku-buildpack-php/blob/master/CHANGELOG.md)
- [Commits](https://github.com/heroku/heroku-buildpack-php/compare/v166...v169)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-27 08:32:54 +00:00
dependabot-preview[bot]
f4a55172da chore(deps): bump werkzeug in /tests/apps/python-flask
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 0.16.0 to 0.16.1.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/master/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/0.16.0...0.16.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-27 06:52:26 +00:00
Jose Diaz-Gonzalez
686c16fa32 Release 0.19.13
# History

## 0.19.13

Install/update via the bootstrap script:

```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.13/bootstrap.sh
sudo DOKKU_TAG=v0.19.13 bash bootstrap.sh
```

### Bug Fixes

- #3828: @josegonzalez Reference correct file in nginx:report command

### Other

- #3824: @dependabot-preview[bot] chore(deps): bump jetty-servlet from 9.4.25.v20191220 to 9.4.26.v20200117 in /tests/apps/java
2020-01-24 17:19:20 -05:00
Jose Diaz-Gonzalez
743896ff56 Merge pull request #3828 from dokku/3827-nginx-report
Reference correct file in nginx:report command
2020-01-24 17:16:50 -05:00
Jose Diaz-Gonzalez
9937068d41 fix: reference correct file in nginx:report command
Closes #3827
2020-01-24 17:15:28 -05:00
Jose Diaz-Gonzalez
5ee37fde2d Merge pull request #3824 from dokku/dependabot/maven/tests/apps/java/org.eclipse.jetty-jetty-servlet-9.4.26.v20200117
chore(deps): bump jetty-servlet from 9.4.25.v20191220 to 9.4.26.v20200117 in /tests/apps/java
2020-01-20 12:59:14 -05:00
dependabot-preview[bot]
686a577037 chore(deps): bump jetty-servlet in /tests/apps/java
Bumps [jetty-servlet](https://github.com/eclipse/jetty.project) from 9.4.25.v20191220 to 9.4.26.v20200117.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-9.4.25.v20191220...jetty-9.4.26.v20200117)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 06:59:14 +00:00
Jose Diaz-Gonzalez
b7c2e4c1d6 Release 0.19.12
# History

## 0.19.12

Install/update via the bootstrap script:

```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.12/bootstrap.sh
sudo DOKKU_TAG=v0.19.12 bash bootstrap.sh
```

### New Features

- #3819: @josegonzalez Allow binding nginx to specific IPv4/IPv6 interfaces
- #3818: @josegonzalez Add support for host-mode networking

### Documentation

- #3814: @treyssatvincent Use dokku:report to for listing domains
- #3809: @josegonzalez Document nginx:show-conf
- #3650: @vincelwt Clarify resource management for docker-local scheduler
- #3806: @kimar Make default vhost example listen to ipv6

### Other

- #3816: @dependabot-preview[bot] chore(deps): bump handlebars from 4.6.0 to 4.7.1 in /tests/apps/.websocket.disabled
- #3815: @dependabot-preview[bot] chore(deps): bump handlebars from 4.5.3 to 4.6.0 in /tests/apps/.websocket.disabled
- #3811: @dependabot-preview[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 165 to 166 in /tests/apps/php
- #3812: @dependabot-preview[bot] chore(deps): bump jetty-servlet from 9.4.24.v20191120 to 9.4.25.v20191220 in /tests/apps/java
- #3810: @dependabot-preview[bot] chore(deps): bump monolog/monolog from 1.25.2 to 1.25.3 in /tests/apps/php
- #3808: @dependabot-preview[bot] chore(deps): [security] bump rack from 1.6.11 to 1.6.12 in /tests/apps/ruby
- #3807: @dependabot-preview[bot] chore(deps): bump google.golang.org/grpc from 1.25.1 to 1.26.0 in /tests/apps/gogrpc
- #3804: @dependabot-preview[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 164 to 165 in /tests/apps/php
2020-01-15 19:18:00 -05:00
Jose Diaz-Gonzalez
566cd25336 Merge pull request #3819 from dokku/3805-bind-address
Allow binding nginx to specific IPv4/IPv6 interfaces
2020-01-15 19:01:26 -05:00
Jose Diaz-Gonzalez
6fc3f58cb7 Merge pull request #3818 from dokku/host-networking-support
Add support for host-mode networking
2020-01-15 18:57:27 -05:00
Jose Diaz-Gonzalez
8958ea0f2d feat: add support for host-mode networking
In host-mode, there is no 'bridge' network by default, so we return an invalid IP address of 'no value'. Instead, return '127.0.0.1' for those containers.
2020-01-15 18:08:08 -05:00
Jose Diaz-Gonzalez
7dd4efad39 Merge pull request #3816 from dokku/dependabot/npm_and_yarn/tests/apps/dot-websocket.disabled/handlebars-4.7.1
chore(deps): bump handlebars from 4.6.0 to 4.7.1 in /tests/apps/.websocket.disabled
2020-01-13 09:18:24 -05:00
dependabot-preview[bot]
9485f26e9b chore(deps): bump handlebars in /tests/apps/.websocket.disabled
Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.6.0 to 4.7.1.
- [Release notes](https://github.com/wycats/handlebars.js/releases)
- [Changelog](https://github.com/wycats/handlebars.js/blob/v4.7.1/release-notes.md)
- [Commits](https://github.com/wycats/handlebars.js/compare/v4.6.0...v4.7.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 07:04:05 +00:00
Jose Diaz-Gonzalez
69c8c0141d Merge pull request #3815 from dokku/dependabot/npm_and_yarn/tests/apps/dot-websocket.disabled/handlebars-4.6.0
chore(deps): bump handlebars from 4.5.3 to 4.6.0 in /tests/apps/.websocket.disabled
2020-01-09 12:09:26 -05:00
dependabot-preview[bot]
782e4cba64 chore(deps): bump handlebars in /tests/apps/.websocket.disabled
Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.5.3 to 4.6.0.
- [Release notes](https://github.com/wycats/handlebars.js/releases)
- [Changelog](https://github.com/wycats/handlebars.js/blob/master/release-notes.md)
- [Commits](https://github.com/wycats/handlebars.js/compare/v4.5.3...v4.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-09 06:49:57 +00:00
Jose Diaz-Gonzalez
c9f488f8b8 Merge pull request #3814 from treyssatvincent/patch-1
Use dokku:report to for listing domains
2020-01-08 05:11:04 -05:00
N
63b18cc902 add :report to dokku domains
add :report to dokku domains to avoid deprecated warning
2020-01-08 11:06:30 +01:00
Jose Diaz-Gonzalez
8b41bc6520 Merge pull request #3811 from dokku/dependabot/composer/tests/apps/php/heroku/heroku-buildpack-php-166
chore(deps-dev): bump heroku/heroku-buildpack-php from 165 to 166 in /tests/apps/php
2019-12-24 17:18:27 -05:00
Jose Diaz-Gonzalez
4a4432af16 Merge pull request #3812 from dokku/dependabot/maven/tests/apps/java/org.eclipse.jetty-jetty-servlet-9.4.25.v20191220
chore(deps): bump jetty-servlet from 9.4.24.v20191120 to 9.4.25.v20191220 in /tests/apps/java
2019-12-24 17:18:11 -05:00
dependabot-preview[bot]
4c3f55896e chore(deps): bump jetty-servlet in /tests/apps/java
Bumps [jetty-servlet](https://github.com/eclipse/jetty.project) from 9.4.24.v20191120 to 9.4.25.v20191220.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-9.4.24.v20191120...jetty-9.4.25.v20191220)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-24 06:44:42 +00:00
Jose Diaz-Gonzalez
ecb1732d5b Merge pull request #3810 from dokku/dependabot/composer/tests/apps/php/monolog/monolog-1.25.3
chore(deps): bump monolog/monolog from 1.25.2 to 1.25.3 in /tests/apps/php
2019-12-23 11:39:41 -05:00
dependabot-preview[bot]
78d0857da3 chore(deps-dev): bump heroku/heroku-buildpack-php in /tests/apps/php
Bumps [heroku/heroku-buildpack-php](https://github.com/heroku/heroku-buildpack-php) from 165 to 166.
- [Release notes](https://github.com/heroku/heroku-buildpack-php/releases)
- [Changelog](https://github.com/heroku/heroku-buildpack-php/blob/master/CHANGELOG.md)
- [Commits](https://github.com/heroku/heroku-buildpack-php/compare/v165...v166)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 08:12:08 +00:00
dependabot-preview[bot]
df9344c245 chore(deps): bump monolog/monolog in /tests/apps/php
Bumps [monolog/monolog](https://github.com/Seldaek/monolog) from 1.25.2 to 1.25.3.
- [Release notes](https://github.com/Seldaek/monolog/releases)
- [Changelog](https://github.com/Seldaek/monolog/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Seldaek/monolog/compare/1.25.2...1.25.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 08:11:28 +00:00
Jose Diaz-Gonzalez
6b431378a1 feat: add ability to set the ipv4/ipv6 bind address for an app
This allows users to handle mulitple interfaces separately or even ensure applications remain accessible only on a local network.

Closes #3805
2019-12-21 18:54:54 -05:00
Jose Diaz-Gonzalez
38a58a17e4 chore: drop unused import 2019-12-19 02:29:22 -05:00
Jose Diaz-Gonzalez
d2ecd76646 fix: handle case where defaultValue was not properly returned by get-with-default 2019-12-19 02:29:22 -05:00
Jose Diaz-Gonzalez
ca5946636f chore: move fn-in-array to common-functions
This is used by all generic `set` commands, so we should just make it globally available.
2019-12-19 02:29:22 -05:00
Jose Diaz-Gonzalez
6a92368059 Merge pull request #3809 from dokku/document-show-conf
Document nginx:show-conf
2019-12-19 02:26:11 -05:00
Jose Diaz-Gonzalez
90681ce475 docs: document nginx:show-conf 2019-12-19 02:24:27 -05:00
Jose Diaz-Gonzalez
adabaa286f Merge pull request #3650 from vincelwt/clarify-docs
Clarify --cpu mapping for docker-local scheduler
2019-12-19 00:59:27 -05:00
Jose Diaz-Gonzalez
840f113a4f docs: move reference to resource mapping to scheduler page
As there can be custom schedulers, including scheduler-specific information on the resource management page can be a disingenuous - the values don't map to kubernetes, for example - and thus we should call out to the scheduler docs (and underlying docker docs) to make the mapping more clear.
2019-12-19 00:58:08 -05:00
Jose Diaz-Gonzalez
f82cb325d8 Merge pull request #3806 from kimar/chore/docs-configuration-default-vhosts-ipv6
Make default vhost example listen to ipv6
2019-12-19 00:42:29 -05:00
Jose Diaz-Gonzalez
347372d5fe docs: correct default site example
This handles ipv4 and ipv6.

[ci skip]
2019-12-19 00:40:00 -05:00
Jose Diaz-Gonzalez
cf246f206b Merge pull request #3808 from dokku/dependabot/bundler/tests/apps/ruby/rack-1.6.12
chore(deps): [security] bump rack from 1.6.11 to 1.6.12 in /tests/apps/ruby
2019-12-18 15:23:54 -05:00
dependabot-preview[bot]
d4988ed182 chore(deps): [security] bump rack in /tests/apps/ruby
Bumps [rack](https://github.com/rack/rack) from 1.6.11 to 1.6.12. **This update includes a security fix.**
- [Release notes](https://github.com/rack/rack/releases)
- [Changelog](https://github.com/rack/rack/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rack/rack/compare/1.6.11...1.6.12)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-18 19:33:18 +00:00
Jose Diaz-Gonzalez
c3c4b5d42b Merge pull request #3807 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/grpc-1.26.0
chore(deps): bump google.golang.org/grpc from 1.25.1 to 1.26.0 in /tests/apps/gogrpc
2019-12-18 02:36:05 -05:00
dependabot-preview[bot]
8118fd9743 chore(deps): bump google.golang.org/grpc in /tests/apps/gogrpc
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.25.1 to 1.26.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.25.1...v1.26.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-18 06:44:24 +00:00
Marcus Kida
0a3133fbcc chore: make default vhost example listen to ipv6 2019-12-17 10:32:48 +01:00
Jose Diaz-Gonzalez
18f388ad76 Merge pull request #3804 from dokku/dependabot/composer/tests/apps/php/heroku/heroku-buildpack-php-165
chore(deps-dev): bump heroku/heroku-buildpack-php from 164 to 165 in /tests/apps/php
2019-12-12 12:20:18 -05:00
dependabot-preview[bot]
55d1b896fd chore(deps-dev): bump heroku/heroku-buildpack-php in /tests/apps/php
Bumps [heroku/heroku-buildpack-php](https://github.com/heroku/heroku-buildpack-php) from 164 to 165.
- [Release notes](https://github.com/heroku/heroku-buildpack-php/releases)
- [Changelog](https://github.com/heroku/heroku-buildpack-php/blob/master/CHANGELOG.md)
- [Commits](https://github.com/heroku/heroku-buildpack-php/compare/v164...v165)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-12 07:58:52 +00:00
Jose Diaz-Gonzalez
08a104b997 Release 0.19.11
# History

## 0.19.11

Install/update via the bootstrap script:

```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.11/bootstrap.sh
sudo DOKKU_TAG=v0.19.11 bash bootstrap.sh
```

### Bug Fixes

- #3800: @josegonzalez Properly track failed check count

### New Features

- #3801: @josegonzalez Update herokuish

### Documentation

- #3798: @znz Fix function descriptions in property-functions file
2019-12-09 18:23:03 -05:00
Jose Diaz-Gonzalez
be886ef1f6 Merge pull request #3801 from dokku/upgrade-herokuish
Update herokuish
2019-12-09 18:22:26 -05:00
Jose Diaz-Gonzalez
83cccc0af1 feat: update herokuish 2019-12-09 18:21:57 -05:00
Jose Diaz-Gonzalez
4c1b9989aa Merge pull request #3800 from dokku/3799-check-failure
Properly track failed check count
2019-12-09 18:21:29 -05:00
Jose Diaz-Gonzalez
5dc6c829b3 fix: ensure that the checks file is properly referenced 2019-12-09 17:28:49 -05:00
Jose Diaz-Gonzalez
ce60ef6bff fix: properly track failed check count
Closes #3799
2019-12-09 14:55:52 -05:00
Jose Diaz-Gonzalez
e1cbf08a95 Merge pull request #3798 from znz/fix-declare
Fix declare [ci skip]
2019-12-08 22:10:21 -05:00
Kazuhiro NISHIYAMA
168d4b5e8d Fix declare [ci skip] 2019-12-08 21:52:38 +09:00
Jose Diaz-Gonzalez
b4ab5a5764 Release 0.19.10
# History

## 0.19.10

Install/update via the bootstrap script:

```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.10/bootstrap.sh
sudo DOKKU_TAG=v0.19.10 bash bootstrap.sh
```

### Bug Fixes

- #3784: @josegonzalez Ensure checks attempts are tracked per-check instead of globally

### New Features

- #3793: @josegonzalez Omit DWARF symbol table and debug information from go binaries
- #3792: @josegonzalez Unify property function implementations

### Documentation

- #3712: @fruitl00p Added new plugin

### Other

- #3790: @dependabot-preview[bot] chore(deps): bump gunicorn from 20.0.3 to 20.0.4 in /tests/apps/python-flask
- #3791: @dependabot-preview[bot] chore(deps): bump gunicorn from 20.0.3 to 20.0.4 in /tests/apps/multi
- #3787: @dependabot-preview[bot] chore(deps): bump gunicorn from 20.0.2 to 20.0.3 in /tests/apps/multi
- #3788: @dependabot-preview[bot] chore(deps): bump gunicorn from 20.0.2 to 20.0.3 in /tests/apps/python-flask
- #3785: @dependabot-preview[bot] chore(deps): bump gunicorn from 20.0.0 to 20.0.2 in /tests/apps/python-flask
- #3786: @dependabot-preview[bot] chore(deps): bump gunicorn from 20.0.0 to 20.0.2 in /tests/apps/multi
- #3748: @dependabot-preview[bot] chore(deps): [security] bump express from 2.5.11 to 4.17.1 in /tests/apps/dockerfile-dokku-scale
- #3749: @dependabot-preview[bot] chore(deps): [security] bump express from 2.5.11 to 4.17.1 in /tests/apps/nodejs-express-noappjson
- #3747: @dependabot-preview[bot] chore(deps): [security] bump express from 2.5.11 to 4.17.1 in /tests/apps/config
- #3746: @dependabot-preview[bot] chore(deps): [security] bump express from 2.5.11 to 4.17.1 in /tests/apps/dockerfile-procfile
- #3741: @dependabot-preview[bot] chore(deps): [security] bump express from 2.5.11 to 4.17.1 in /tests/apps/nodejs-express
- #3783: @dependabot-preview[bot] chore(deps): bump jetty-servlet from 9.4.23.v20191118 to 9.4.24.v20191120 in /tests/apps/java
- #3777: @dependabot-preview[bot] chore(deps): [security] bump symfony/http-kernel from 3.4.32 to 3.4.35 in /tests/apps/php
- #3774: @dependabot-preview[bot] chore(deps): bump gunicorn from 19.9.0 to 20.0.0 in /tests/apps/python-flask
- #3779: @dependabot-preview[bot] chore(deps): bump monolog/monolog from 1.25.1 to 1.25.2 in /tests/apps/php
- #3782: @dependabot-preview[bot] chore(deps): bump jetty-servlet from 9.4.22.v20191022 to 9.4.23.v20191118 in /tests/apps/java
2019-11-27 22:51:00 -05:00
Jose Diaz-Gonzalez
645ba5728f Merge pull request #3793 from dokku/slimmer-builds
Omit DWARF symbol table and debug information from go binaries
2019-11-27 22:30:32 -05:00
Jose Diaz-Gonzalez
02d653a1aa refactor: omit DWARF symbol table and debug information from go binaries
This will reduce the size of binaries in exchange for worse debugging output. This is acceptable for our users and worth it to save money on packagecloud package hosting - which is currently free under a given repository size.
2019-11-27 21:12:16 -05:00
Jose Diaz-Gonzalez
39c7699962 Merge pull request #3712 from fruitl00p/patch-6
Added new plugin
2019-11-27 20:39:52 -05:00
Jose Diaz-Gonzalez
9b05804edf Merge pull request #3792 from dokku/list-properties
Unify property function implementations
2019-11-27 20:39:26 -05:00
Jose Diaz-Gonzalez
fe9472ff09 fix: correct issue where output was not sent to stdout 2019-11-27 18:58:22 -05:00
Jose Diaz-Gonzalez
79b344bbe4 feat: add list-length method to shell functions 2019-11-27 17:08:18 -05:00
Jose Diaz-Gonzalez
e3f0160e5f fix: correct issue where common plugin was ignored for go builds
It was previously ignored because there was nothing to build, and it was simply linked to.
2019-11-27 17:02:07 -05:00
Jose Diaz-Gonzalez
4d9e8f5f7d refactor: unify property function implementations
Rather than reimplementing the property functions in two different languages - and potentially having compatibility issues - standardize on golang for the implementation through the use of a generated binary.

This also implements all the list functions for use with shell-based plugins.

Note that the interface to the prop binary is experimental, and it should not be used directly.
2019-11-27 16:37:10 -05:00
Jose Diaz-Gonzalez
2429503b21 Merge pull request #3784 from dokku/better-checks-context
Ensure checks attempts are tracked per-check instead of globally
2019-11-27 15:19:12 -05:00
Jose Diaz-Gonzalez
ff4b0de04c docs: clarify comments 2019-11-27 14:31:51 -05:00
Jose Diaz-Gonzalez
9078dabc82 Merge pull request #3790 from dokku/dependabot/pip/tests/apps/python-flask/gunicorn-20.0.4
chore(deps): bump gunicorn from 20.0.3 to 20.0.4 in /tests/apps/python-flask
2019-11-27 12:10:41 -05:00
dependabot-preview[bot]
a18bb02115 chore(deps): bump gunicorn in /tests/apps/python-flask
Bumps [gunicorn](https://github.com/benoitc/gunicorn) from 20.0.3 to 20.0.4.
- [Release notes](https://github.com/benoitc/gunicorn/releases)
- [Commits](https://github.com/benoitc/gunicorn/compare/20.0.3...20.0.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-27 15:41:33 +00:00
Jose Diaz-Gonzalez
8ea12f6c5d Merge pull request #3791 from dokku/dependabot/pip/tests/apps/multi/gunicorn-20.0.4
chore(deps): bump gunicorn from 20.0.3 to 20.0.4 in /tests/apps/multi
2019-11-27 10:40:29 -05:00
dependabot-preview[bot]
a1b1d5cba1 chore(deps): bump gunicorn from 20.0.3 to 20.0.4 in /tests/apps/multi
Bumps [gunicorn](https://github.com/benoitc/gunicorn) from 20.0.3 to 20.0.4.
- [Release notes](https://github.com/benoitc/gunicorn/releases)
- [Commits](https://github.com/benoitc/gunicorn/compare/20.0.3...20.0.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-27 06:43:02 +00:00
Jose Diaz-Gonzalez
bb4b6df651 Merge pull request #3787 from dokku/dependabot/pip/tests/apps/multi/gunicorn-20.0.3
chore(deps): bump gunicorn from 20.0.2 to 20.0.3 in /tests/apps/multi
2019-11-26 09:27:51 -05:00
Jose Diaz-Gonzalez
3568cbef8c Merge pull request #3788 from dokku/dependabot/pip/tests/apps/python-flask/gunicorn-20.0.3
chore(deps): bump gunicorn from 20.0.2 to 20.0.3 in /tests/apps/python-flask
2019-11-26 09:27:34 -05:00
dependabot-preview[bot]
8382bebcf2 chore(deps): bump gunicorn in /tests/apps/python-flask
Bumps [gunicorn](https://github.com/benoitc/gunicorn) from 20.0.2 to 20.0.3.
- [Release notes](https://github.com/benoitc/gunicorn/releases)
- [Commits](https://github.com/benoitc/gunicorn/compare/20.0.2...20.0.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-26 06:49:34 +00:00
dependabot-preview[bot]
02dca4a1a3 chore(deps): bump gunicorn from 20.0.2 to 20.0.3 in /tests/apps/multi
Bumps [gunicorn](https://github.com/benoitc/gunicorn) from 20.0.2 to 20.0.3.
- [Release notes](https://github.com/benoitc/gunicorn/releases)
- [Commits](https://github.com/benoitc/gunicorn/compare/20.0.2...20.0.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-26 06:43:18 +00:00
Jose Diaz-Gonzalez
4dd000ca9e Merge pull request #3785 from dokku/dependabot/pip/tests/apps/python-flask/gunicorn-20.0.2
chore(deps): bump gunicorn from 20.0.0 to 20.0.2 in /tests/apps/python-flask
2019-11-25 13:24:13 -05:00
dependabot-preview[bot]
297041bfc4 chore(deps): bump gunicorn in /tests/apps/python-flask
Bumps [gunicorn](https://github.com/benoitc/gunicorn) from 20.0.0 to 20.0.2.
- [Release notes](https://github.com/benoitc/gunicorn/releases)
- [Commits](https://github.com/benoitc/gunicorn/compare/20.0.0...20.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 16:40:39 +00:00
Jose Diaz-Gonzalez
52f6e8c59b Merge pull request #3786 from dokku/dependabot/pip/tests/apps/multi/gunicorn-20.0.2
chore(deps): bump gunicorn from 20.0.0 to 20.0.2 in /tests/apps/multi
2019-11-25 11:39:34 -05:00
dependabot-preview[bot]
c6ec59be87 chore(deps): bump gunicorn from 20.0.0 to 20.0.2 in /tests/apps/multi
Bumps [gunicorn](https://github.com/benoitc/gunicorn) from 20.0.0 to 20.0.2.
- [Release notes](https://github.com/benoitc/gunicorn/releases)
- [Commits](https://github.com/benoitc/gunicorn/compare/20.0.0...20.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 06:52:34 +00:00
Jose Diaz-Gonzalez
404f08626b Merge pull request #3748 from dokku/dependabot/npm_and_yarn/tests/apps/dockerfile-dokku-scale/express-4.17.1
chore(deps): [security] bump express from 2.5.11 to 4.17.1 in /tests/apps/dockerfile-dokku-scale
2019-11-24 10:21:06 -05:00
Jose Diaz-Gonzalez
6a9629cdc4 Merge pull request #3749 from dokku/dependabot/npm_and_yarn/tests/apps/nodejs-express-noappjson/express-4.17.1
chore(deps): [security] bump express from 2.5.11 to 4.17.1 in /tests/apps/nodejs-express-noappjson
2019-11-23 16:55:51 -05:00
Jose Diaz-Gonzalez
d6c3c52cec Merge pull request #3747 from dokku/dependabot/npm_and_yarn/tests/apps/config/express-4.17.1
chore(deps): [security] bump express from 2.5.11 to 4.17.1 in /tests/apps/config
2019-11-23 15:43:59 -05:00
Jose Diaz-Gonzalez
52cd280782 Merge pull request #3746 from dokku/dependabot/npm_and_yarn/tests/apps/dockerfile-procfile/express-4.17.1
chore(deps): [security] bump express from 2.5.11 to 4.17.1 in /tests/apps/dockerfile-procfile
2019-11-23 15:43:46 -05:00
Jose Diaz-Gonzalez
815febdb39 feat: remove unnecessary logger from test app
The logger middleware was moved to the `morgan` package in newer versions of express.
2019-11-23 13:17:35 -05:00
Jose Diaz-Gonzalez
2d76284a8c feat: remove unnecessary logger from test app
The logger middleware was moved to the `morgan` package in newer versions of express.
2019-11-23 13:17:34 -05:00
Jose Diaz-Gonzalez
347b0f5389 feat: remove unnecessary logger from test app
The logger middleware was moved to the `morgan` package in newer versions of express.
2019-11-23 13:16:22 -05:00
dependabot-preview[bot]
9e9a19a817 chore(deps): [security] bump express in /tests/apps/config
Bumps [express](https://github.com/expressjs/express) from 2.5.11 to 4.17.1. **This update includes a security fix.**
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/2.5.11...4.17.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-23 18:15:38 +00:00
dependabot-preview[bot]
ddfc3ba696 chore(deps): [security] bump express
Bumps [express](https://github.com/expressjs/express) from 2.5.11 to 4.17.1. **This update includes a security fix.**
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/2.5.11...4.17.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-23 18:15:36 +00:00
dependabot-preview[bot]
d581f2de64 chore(deps): [security] bump express
Bumps [express](https://github.com/expressjs/express) from 2.5.11 to 4.17.1. **This update includes a security fix.**
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/2.5.11...4.17.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-23 18:15:35 +00:00
Jose Diaz-Gonzalez
a35798e357 feat: remove unnecessary logger from test app
The logger middleware was moved to the `morgan` package in newer versions of express.
2019-11-23 13:15:27 -05:00
Jose Diaz-Gonzalez
0c25465df4 Merge pull request #3741 from dokku/dependabot/npm_and_yarn/tests/apps/nodejs-express/express-4.17.1
chore(deps): [security] bump express from 2.5.11 to 4.17.1 in /tests/apps/nodejs-express
2019-11-23 13:14:19 -05:00
Jose Diaz-Gonzalez
906e2c5615 feat: remove unnecessary logger from test app
The logger middleware was moved to the `morgan` package in newer versions of express.
2019-11-23 11:51:12 -05:00
Jose Diaz-Gonzalez
3b04b80a94 Merge pull request #3783 from dokku/dependabot/maven/tests/apps/java/org.eclipse.jetty-jetty-servlet-9.4.24.v20191120
chore(deps): bump jetty-servlet from 9.4.23.v20191118 to 9.4.24.v20191120 in /tests/apps/java
2019-11-23 11:27:08 -05:00
Jose Diaz-Gonzalez
00a175bef7 fix: correct issue where attempts were done globally instead of per check 2019-11-23 10:23:09 -05:00
Jose Diaz-Gonzalez
a3a37a1948 feat: minimize number of check-related output messages 2019-11-23 10:16:55 -05:00
dependabot-preview[bot]
6527552a62 chore(deps): bump jetty-servlet in /tests/apps/java
Bumps [jetty-servlet](https://github.com/eclipse/jetty.project) from 9.4.23.v20191118 to 9.4.24.v20191120.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-9.4.23.v20191118...jetty-9.4.24.v20191120)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-22 06:44:31 +00:00
Jose Diaz-Gonzalez
55e2681ad7 Merge pull request #3777 from dokku/dependabot/composer/tests/apps/php/symfony/http-kernel-3.4.35
chore(deps): [security] bump symfony/http-kernel from 3.4.32 to 3.4.35 in /tests/apps/php
2019-11-20 07:57:13 -05:00
Jose Diaz-Gonzalez
81257cafa1 Merge pull request #3774 from dokku/dependabot/pip/tests/apps/python-flask/gunicorn-20.0.0
chore(deps): bump gunicorn from 19.9.0 to 20.0.0 in /tests/apps/python-flask
2019-11-20 07:56:18 -05:00
dependabot-preview[bot]
8964f77978 chore(deps): bump gunicorn in /tests/apps/python-flask
Bumps [gunicorn](https://github.com/benoitc/gunicorn) from 19.9.0 to 20.0.0.
- [Release notes](https://github.com/benoitc/gunicorn/releases)
- [Commits](https://github.com/benoitc/gunicorn/compare/19.9.0...20.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-20 11:50:54 +00:00
Jose Diaz-Gonzalez
72d480c9dd Merge pull request #3779 from dokku/dependabot/composer/tests/apps/php/monolog/monolog-1.25.2
chore(deps): bump monolog/monolog from 1.25.1 to 1.25.2 in /tests/apps/php
2019-11-20 06:49:09 -05:00
Jose Diaz-Gonzalez
e66c2373a7 Merge pull request #3782 from dokku/dependabot/maven/tests/apps/java/org.eclipse.jetty-jetty-servlet-9.4.23.v20191118
chore(deps): bump jetty-servlet from 9.4.22.v20191022 to 9.4.23.v20191118 in /tests/apps/java
2019-11-20 06:46:08 -05:00
dependabot-preview[bot]
af38710352 chore(deps): bump jetty-servlet in /tests/apps/java
Bumps [jetty-servlet](https://github.com/eclipse/jetty.project) from 9.4.22.v20191022 to 9.4.23.v20191118.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-9.4.22.v20191022...jetty-9.4.23.v20191118)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-20 06:52:24 +00:00
Jose Diaz-Gonzalez
d432cb514c Release 0.19.9
# History

## 0.19.9

Install/update via the bootstrap script:

```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.9/bootstrap.sh
sudo DOKKU_TAG=v0.19.9 bash bootstrap.sh
```

### Bug Fixes

- #3781: @michaelshobbs Respect DOKKU_APP_USER in is_image_herokuish_based

### Other

- #3773: @dependabot-preview[bot] chore(deps): bump google.golang.org/grpc from 1.25.0 to 1.25.1 in /tests/apps/gogrpc
- #3772: @dependabot-preview[bot] chore(deps): bump gunicorn from 19.9.0 to 20.0.0 in /tests/apps/multi
- #3778: @dependabot-preview[bot] chore(deps): [security] bump symfony/http-foundation from 3.4.32 to 3.4.35 in /tests/apps/php
- #3768: @dependabot-preview[bot] chore(deps): bump google.golang.org/grpc from 1.24.0 to 1.25.0 in /tests/apps/gogrpc
2019-11-19 18:04:28 -05:00
Jose Diaz-Gonzalez
db4311c655 Merge pull request #3781 from dokku/mh/fix/custom-dokku-app-user
fix: respect DOKKU_APP_USER in is_image_herokuish_based
2019-11-19 18:02:50 -05:00
Michael Hobbs
c4d69b662f add is_image_herokuish_based tests 2019-11-19 15:09:54 -07:00
Michael Hobbs
972830a5f3 fix: respect DOKKU_APP_USER in is_image_herokuish_based 2019-11-19 15:07:29 -07:00
Jose Diaz-Gonzalez
e3c81afb6a Merge pull request #3773 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/grpc-1.25.1
chore(deps): bump google.golang.org/grpc from 1.25.0 to 1.25.1 in /tests/apps/gogrpc
2019-11-14 03:01:11 -05:00
dependabot-preview[bot]
fe206d53d9 chore(deps): bump monolog/monolog in /tests/apps/php
Bumps [monolog/monolog](https://github.com/Seldaek/monolog) from 1.25.1 to 1.25.2.
- [Release notes](https://github.com/Seldaek/monolog/releases)
- [Changelog](https://github.com/Seldaek/monolog/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Seldaek/monolog/compare/1.25.1...1.25.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-14 07:57:30 +00:00
dependabot-preview[bot]
096e9346ad chore(deps): [security] bump symfony/http-kernel in /tests/apps/php
Bumps [symfony/http-kernel](https://github.com/symfony/http-kernel) from 3.4.32 to 3.4.35. **This update includes a security fix.**
- [Release notes](https://github.com/symfony/http-kernel/releases)
- [Changelog](https://github.com/symfony/http-kernel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/symfony/http-kernel/compare/v3.4.32...v3.4.35)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-14 06:57:54 +00:00
Jose Diaz-Gonzalez
5f342dcf27 Merge pull request #3772 from dokku/dependabot/pip/tests/apps/multi/gunicorn-20.0.0
chore(deps): bump gunicorn from 19.9.0 to 20.0.0 in /tests/apps/multi
2019-11-14 01:56:51 -05:00
Jose Diaz-Gonzalez
e02528280b Merge pull request #3778 from dokku/dependabot/composer/tests/apps/php/symfony/http-foundation-3.4.35
chore(deps): [security] bump symfony/http-foundation from 3.4.32 to 3.4.35 in /tests/apps/php
2019-11-14 01:56:29 -05:00
dependabot-preview[bot]
63358c3d34 chore(deps): [security] bump symfony/http-foundation in /tests/apps/php
Bumps [symfony/http-foundation](https://github.com/symfony/http-foundation) from 3.4.32 to 3.4.35. **This update includes a security fix.**
- [Release notes](https://github.com/symfony/http-foundation/releases)
- [Changelog](https://github.com/symfony/http-foundation/blob/master/CHANGELOG.md)
- [Commits](https://github.com/symfony/http-foundation/compare/v3.4.32...v3.4.35)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-13 11:34:11 +00:00
dependabot-preview[bot]
0f5ed9844b chore(deps): bump google.golang.org/grpc in /tests/apps/gogrpc
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.25.0 to 1.25.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.25.0...v1.25.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-11 09:37:16 +00:00
dependabot-preview[bot]
200de06d1e chore(deps): bump gunicorn from 19.9.0 to 20.0.0 in /tests/apps/multi
Bumps [gunicorn](https://github.com/benoitc/gunicorn) from 19.9.0 to 20.0.0.
- [Release notes](https://github.com/benoitc/gunicorn/releases)
- [Commits](https://github.com/benoitc/gunicorn/compare/19.9.0...20.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-11 09:37:00 +00:00
Jose Diaz-Gonzalez
3d1ab26777 Merge pull request #3768 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/grpc-1.25.0
chore(deps): bump google.golang.org/grpc from 1.24.0 to 1.25.0 in /tests/apps/gogrpc
2019-11-09 16:44:49 +09:00
Jose Diaz-Gonzalez
71295b7658 Release 0.19.8
# History

## 0.19.8

Install/update via the bootstrap script:

```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.8/bootstrap.sh
sudo DOKKU_TAG=v0.19.8 bash bootstrap.sh
```
2019-11-07 12:47:22 +09:00
dependabot-preview[bot]
9539c28ef4 chore(deps): bump google.golang.org/grpc in /tests/apps/gogrpc
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.24.0 to 1.25.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.24.0...v1.25.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-06 06:54:37 +00:00
Jose Diaz-Gonzalez
d8653f97b7 Release 0.19.7
# History

## 0.19.7

Install/update via the bootstrap script:

```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.7/bootstrap.sh
sudo DOKKU_TAG=v0.19.7 bash bootstrap.sh
```

### Documentation

- #3765: @znz Fix typo in desc of is_tls13_available

### Other

- #3739: @safeforge dokku run do not supports interactive mode.
- #3762: @dependabot-preview[bot] chore(deps): bump handlebars from 4.4.5 to 4.5.1 in /tests/apps/.websocket.disabled
2019-11-04 21:52:05 -05:00
Jose Diaz-Gonzalez
a5e6739e16 Merge pull request #3739 from safeforge/dokku-run-interactive
dokku run do not supports interactive mode.
2019-11-04 21:51:22 -05:00
Jose Diaz-Gonzalez
dd7d1d2f8d Merge pull request #3765 from znz/fix-typo
Fix typo in desc of is_tls13_available
2019-10-31 15:20:56 -04:00
Kazuhiro NISHIYAMA
2a747138af Fix typo in desc of is_tls13_available
[ci skip]
2019-10-31 17:08:56 +09:00
dependabot-preview[bot]
935c231518 chore(deps): [security] bump express in /tests/apps/nodejs-express
Bumps [express](https://github.com/expressjs/express) from 2.5.11 to 4.17.1. **This update includes a security fix.**
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/2.5.11...4.17.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-29 16:33:58 +00:00
dependabot-preview[bot]
10385e9877 chore(deps): [security] bump express in /tests/apps/dockerfile-procfile
Bumps [express](https://github.com/expressjs/express) from 2.5.11 to 4.17.1. **This update includes a security fix.**
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/2.5.11...4.17.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-29 16:33:57 +00:00
Jose Diaz-Gonzalez
32027da467 Merge pull request #3762 from dokku/dependabot/npm_and_yarn/tests/apps/dot-websocket.disabled/handlebars-4.5.1
chore(deps): bump handlebars from 4.4.5 to 4.5.1 in /tests/apps/.websocket.disabled
2019-10-29 12:30:01 -04:00
dependabot-preview[bot]
3dd583213c chore(deps): bump handlebars in /tests/apps/.websocket.disabled
Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.4.5 to 4.5.1.
- [Release notes](https://github.com/wycats/handlebars.js/releases)
- [Changelog](https://github.com/wycats/handlebars.js/blob/v4.5.1/release-notes.md)
- [Commits](https://github.com/wycats/handlebars.js/compare/v4.4.5...v4.5.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-29 07:00:51 +00:00
Jose Diaz-Gonzalez
91f4de2f68 Release 0.19.6
# History

## 0.19.6

Install/update via the bootstrap script:

```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.6/bootstrap.sh
sudo DOKKU_TAG=v0.19.6 bash bootstrap.sh
```

### Other

- #3761: @pithyless Fix type-errors in dokku-installer.py
- #3759: @dependabot-preview[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 163 to 164 in /tests/apps/php
- #3758: @dependabot-preview[bot] chore(deps): bump jetty-servlet from 9.4.21.v20190926 to 9.4.22.v20191022 in /tests/apps/java
2019-10-28 18:00:05 -04:00
Jose Diaz-Gonzalez
4b8acf5c34 Merge pull request #3761 from pithyless/patch-1
Fix type-errors in dokku-installer.py
2019-10-28 17:59:46 -04:00
Norbert Wójtowicz
53e272ab22 Fix type-errors in dokku-installer.py 2019-10-28 16:55:31 +01:00
Jose Diaz-Gonzalez
6decb6f19a Merge pull request #3759 from dokku/dependabot/composer/tests/apps/php/heroku/heroku-buildpack-php-164
chore(deps-dev): bump heroku/heroku-buildpack-php from 163 to 164 in /tests/apps/php
2019-10-25 11:42:20 -04:00
dependabot-preview[bot]
ce3b8c3d5c chore(deps-dev): bump heroku/heroku-buildpack-php in /tests/apps/php
Bumps [heroku/heroku-buildpack-php](https://github.com/heroku/heroku-buildpack-php) from 163 to 164.
- [Release notes](https://github.com/heroku/heroku-buildpack-php/releases)
- [Changelog](https://github.com/heroku/heroku-buildpack-php/blob/master/CHANGELOG.md)
- [Commits](https://github.com/heroku/heroku-buildpack-php/compare/v163...v164)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-25 07:53:11 +00:00
Jose Diaz-Gonzalez
b86fb133b2 Merge pull request #3758 from dokku/dependabot/maven/tests/apps/java/org.eclipse.jetty-jetty-servlet-9.4.22.v20191022
chore(deps): bump jetty-servlet from 9.4.21.v20190926 to 9.4.22.v20191022 in /tests/apps/java
2019-10-24 18:04:13 -04:00
dependabot-preview[bot]
6d68ddfcb9 chore(deps): bump jetty-servlet in /tests/apps/java
Bumps [jetty-servlet](https://github.com/eclipse/jetty.project) from 9.4.21.v20190926 to 9.4.22.v20191022.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-9.4.21.v20190926...jetty-9.4.22.v20191022)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-24 07:06:15 +00:00
Jose Diaz-Gonzalez
827354d3d1 Release 0.19.5
# History

## 0.19.5

Install/update via the bootstrap script:

```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.5/bootstrap.sh
sudo DOKKU_TAG=v0.19.5 bash bootstrap.sh
```

### Bug Fixes

- #3756: @jayjun Redirect missing key_file warning to stderr
2019-10-23 01:11:10 -04:00
Jose Diaz-Gonzalez
81ab56d7ee Merge pull request #3756 from jayjun/stderr
Redirect missing key_file warning to stderr
2019-10-22 23:12:27 -04:00
Tan Jay Jun
58a7e535dd Redirect missing key_file warning to stderr 2019-10-23 10:54:56 +08:00
Jose Diaz-Gonzalez
721b464de9 Release 0.19.4
# History

## 0.19.4

Install/update via the bootstrap script:

```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.4/bootstrap.sh
sudo DOKKU_TAG=v0.19.4 bash bootstrap.sh
```

### Bug Fixes

- #3755: @dean1012 Warn if key_file is missing on install but do not exit
2019-10-22 22:31:16 -04:00
Jose Diaz-Gonzalez
accfc3b793 Merge pull request #3755 from dean1012/issue-3717
Warn if key_file is missing on install but do not exit
2019-10-22 22:30:23 -04:00
Jerry Smith
80b20ec4c1 Fixes for issue #3717
* Adjusts documentation
* Changes error messages when ssh key is not present
* Moves error messages to stderr
* Removes erroneous exit line
2019-10-22 20:22:03 -05:00
Jose Diaz-Gonzalez
a355b8019a Release 0.19.3
# History

## 0.19.3

Install/update via the bootstrap script:

```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.3/bootstrap.sh
sudo DOKKU_TAG=v0.19.3 bash bootstrap.sh
```

### Bug Fixes

- #3753: @josegonzalez Always use python3 for the installer

### Other

- #3743: @dependabot-preview[bot] chore(deps): [security] bump express from 3.1.2 to 4.17.1 in /tests/apps/.websocket.disabled
- #3744: @dependabot-preview[bot] chore(deps): [security] bump handlebars from 1.0.12 to 4.4.5 in /tests/apps/.websocket.disabled
- #3750: @dependabot-preview[bot] chore(deps): [security] bump express from 2.5.11 to 4.17.1 in /tests/apps/dockerfile-procfile-bad
- #3745: @dependabot-preview[bot] chore(deps): [security] bump express from 3.3.8 to 4.17.1 in /tests/apps/gitsubmodules
- #3742: @dependabot-preview[bot] chore(deps): [security] bump express from 2.5.11 to 4.17.1 in /tests/apps/nodejs-express-noprocfile
- #3729: @dependabot-preview[bot] chore(deps): bump monolog/monolog from 1.12.0 to 1.25.1 in /tests/apps/php
- #3732: @dependabot-preview[bot] chore(deps): bump silex/silex from 1.2.3 to 2.2.4 in /tests/apps/php
- #3728: @dependabot-preview[bot] chore(deps): bump jetty-servlet from 7.6.0.v20120127 to 9.4.21.v20190926 in /tests/apps/java
- #3730: @dependabot-preview[bot] chore(deps): bump werkzeug from 0.15.6 to 0.16.0 in /tests/apps/python-flask
- #3737: @dependabot-preview[bot] chore(deps): bump express3-handlebars from 0.2.3 to 0.5.2 in /tests/apps/.websocket.disabled
- #3734: @dependabot-preview[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 59 to 163 in /tests/apps/php
- #3735: @dependabot-preview[bot] chore(deps): [security] bump symfony/http-kernel from 2.6.4 to 2.8.51 in /tests/apps/php
- #3723: @dependabot-preview[bot] chore(deps): bump sass-globbing from 1.1.1 to 1.1.5 in /tests/apps/multi
- #3731: @dependabot-preview[bot] chore(deps): bump jinja2 from 2.10.1 to 2.10.3 in /tests/apps/python-flask
- #3736: @dependabot-preview[bot] chore(deps): bump socket.io from 0.9.19 to 2.3.0 in /tests/apps/.websocket.disabled
- #3726: @dependabot-preview[bot] chore(deps): bump google.golang.org/grpc from 1.23.0 to 1.24.0 in /tests/apps/gogrpc
- #3727: @dependabot-preview[bot] chore(deps): bump maven-dependency-plugin from 2.4 to 3.1.1 in /tests/apps/java
- #3733: @dependabot-preview[bot] chore(deps): [security] bump symfony/http-foundation from 2.6.4 to 2.8.50 in /tests/apps/php
- #3720: @dependabot-preview[bot] chore(deps): bump compass from 1.0.1 to 1.0.3 in /tests/apps/multi
- #3721: @dependabot-preview[bot] chore(deps): bump sinatra from 1.4.4 to 1.4.8 in /tests/apps/ruby
- #3719: @dependabot-preview[bot] chore(deps): bump thin from 1.6.1 to 1.7.2 in /tests/apps/ruby
2019-10-22 13:14:25 -04:00
Jose Diaz-Gonzalez
1494e07c34 Merge pull request #3753 from dokku/3740-python-3-installer
Always use python3 for the installer
2019-10-22 13:13:52 -04:00
Jose Diaz-Gonzalez
c9cf213afb fix: always use python3 for the installer
This actually breaks compatability since now we drop python2 support completely, but it's worth it to fix the weird issues with trying to support both versions.

Closes #3740
Closes #3752
Refs #3717
2019-10-22 01:49:00 -04:00
Jose Diaz-Gonzalez
291e052ece Merge pull request #3743 from dokku/dependabot/npm_and_yarn/tests/apps/dot-websocket.disabled/express-4.17.1
chore(deps): [security] bump express from 3.1.2 to 4.17.1 in /tests/apps/.websocket.disabled
2019-10-22 00:25:18 -04:00
dependabot-preview[bot]
72deeec81f chore(deps): [security] bump express in /tests/apps/.websocket.disabled
Bumps [express](https://github.com/expressjs/express) from 3.1.2 to 4.17.1. **This update includes a security fix.**
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/3.1.2...4.17.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-21 15:25:48 +00:00
Jose Diaz-Gonzalez
5e6630f042 Merge pull request #3744 from dokku/dependabot/npm_and_yarn/tests/apps/dot-websocket.disabled/handlebars-4.4.5
chore(deps): [security] bump handlebars from 1.0.12 to 4.4.5 in /tests/apps/.websocket.disabled
2019-10-21 11:24:32 -04:00
Jose Diaz-Gonzalez
b44aa8b8ea Merge pull request #3750 from dokku/dependabot/npm_and_yarn/tests/apps/dockerfile-procfile-bad/express-4.17.1
chore(deps): [security] bump express from 2.5.11 to 4.17.1 in /tests/apps/dockerfile-procfile-bad
2019-10-21 11:24:05 -04:00
dependabot-preview[bot]
ad2d219691 chore(deps): [security] bump express
Bumps [express](https://github.com/expressjs/express) from 2.5.11 to 4.17.1. **This update includes a security fix.**
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/2.5.11...4.17.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-21 13:02:34 +00:00
Jose Diaz-Gonzalez
986400c8e2 Merge pull request #3745 from dokku/dependabot/npm_and_yarn/tests/apps/gitsubmodules/express-4.17.1
chore(deps): [security] bump express from 3.3.8 to 4.17.1 in /tests/apps/gitsubmodules
2019-10-21 09:01:08 -04:00
Salvatore Ferrucci
48ee225dbe disable interactive mode when container is detached 2019-10-21 13:48:21 +02:00
dependabot-preview[bot]
9f395318b3 chore(deps): [security] bump express in /tests/apps/gitsubmodules
Bumps [express](https://github.com/expressjs/express) from 3.3.8 to 4.17.1. **This update includes a security fix.**
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/3.3.8...4.17.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-21 08:31:21 +00:00
Jose Diaz-Gonzalez
3f0051a04f Merge pull request #3742 from dokku/dependabot/npm_and_yarn/tests/apps/nodejs-express-noprocfile/express-4.17.1
chore(deps): [security] bump express from 2.5.11 to 4.17.1 in /tests/apps/nodejs-express-noprocfile
2019-10-21 04:29:46 -04:00
dependabot-preview[bot]
8841f91767 chore(deps): [security] bump handlebars
Bumps [handlebars](https://github.com/wycats/handlebars.js) from 1.0.12 to 4.4.5. **This update includes a security fix.**
- [Release notes](https://github.com/wycats/handlebars.js/releases)
- [Changelog](https://github.com/wycats/handlebars.js/blob/v4.4.5/release-notes.md)
- [Commits](https://github.com/wycats/handlebars.js/compare/v1.0.12...v4.4.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-21 07:18:39 +00:00
dependabot-preview[bot]
afc2d13b40 chore(deps): [security] bump express
Bumps [express](https://github.com/expressjs/express) from 2.5.11 to 4.17.1. **This update includes a security fix.**
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/2.5.11...4.17.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-21 07:16:59 +00:00
Jose Diaz-Gonzalez
45395743fe Merge pull request #3729 from dokku/dependabot/composer/tests/apps/php/monolog/monolog-1.25.1
chore(deps): bump monolog/monolog from 1.12.0 to 1.25.1 in /tests/apps/php
2019-10-20 23:46:35 -04:00
dependabot-preview[bot]
1d1458862b chore(deps): bump monolog/monolog in /tests/apps/php
Bumps [monolog/monolog](https://github.com/Seldaek/monolog) from 1.12.0 to 1.25.1.
- [Release notes](https://github.com/Seldaek/monolog/releases)
- [Changelog](https://github.com/Seldaek/monolog/blob/1.25.1/CHANGELOG.md)
- [Commits](https://github.com/Seldaek/monolog/compare/1.12.0...1.25.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-21 02:48:02 +00:00
Jose Diaz-Gonzalez
92c81cc05d Merge pull request #3732 from dokku/dependabot/composer/tests/apps/php/silex/silex-2.2.4
chore(deps): bump silex/silex from 1.2.3 to 2.2.4 in /tests/apps/php
2019-10-20 22:46:40 -04:00
dependabot-preview[bot]
60bed60fa9 chore(deps): bump silex/silex from 1.2.3 to 2.2.4 in /tests/apps/php
Bumps [silex/silex](https://github.com/silexphp/Silex) from 1.2.3 to 2.2.4.
- [Release notes](https://github.com/silexphp/Silex/releases)
- [Changelog](https://github.com/silexphp/Silex/blob/master/doc/changelog.rst)
- [Commits](https://github.com/silexphp/Silex/compare/v1.2.3...v2.2.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-20 16:34:27 +00:00
Jose Diaz-Gonzalez
baec410580 Merge pull request #3728 from dokku/dependabot/maven/tests/apps/java/org.eclipse.jetty-jetty-servlet-9.4.21.v20190926
chore(deps): bump jetty-servlet from 7.6.0.v20120127 to 9.4.21.v20190926 in /tests/apps/java
2019-10-20 12:32:17 -04:00
Jose Diaz-Gonzalez
77e51a39fa Merge pull request #3730 from dokku/dependabot/pip/tests/apps/python-flask/werkzeug-0.16.0
chore(deps): bump werkzeug from 0.15.6 to 0.16.0 in /tests/apps/python-flask
2019-10-20 12:31:53 -04:00
Jose Diaz-Gonzalez
907f2d6344 Merge pull request #3737 from dokku/dependabot/npm_and_yarn/tests/apps/dot-websocket.disabled/express3-handlebars-0.5.2
chore(deps): bump express3-handlebars from 0.2.3 to 0.5.2 in /tests/apps/.websocket.disabled
2019-10-20 12:31:34 -04:00
Jose Diaz-Gonzalez
0a9997ee3a Merge pull request #3734 from dokku/dependabot/composer/tests/apps/php/heroku/heroku-buildpack-php-163
chore(deps-dev): bump heroku/heroku-buildpack-php from 59 to 163 in /tests/apps/php
2019-10-20 12:31:01 -04:00
dependabot-preview[bot]
ed60adfdc8 chore(deps-dev): bump heroku/heroku-buildpack-php in /tests/apps/php
Bumps [heroku/heroku-buildpack-php](https://github.com/heroku/heroku-buildpack-php) from 59 to 163.
- [Release notes](https://github.com/heroku/heroku-buildpack-php/releases)
- [Changelog](https://github.com/heroku/heroku-buildpack-php/blob/master/CHANGELOG.md)
- [Commits](https://github.com/heroku/heroku-buildpack-php/compare/v59...v163)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-20 03:12:23 +00:00
Jose Diaz-Gonzalez
1406283b63 Merge pull request #3735 from dokku/dependabot/composer/tests/apps/php/symfony/http-kernel-2.8.51
chore(deps): [security] bump symfony/http-kernel from 2.6.4 to 2.8.51 in /tests/apps/php
2019-10-19 23:10:28 -04:00
Jose Diaz-Gonzalez
e34d8431da Merge pull request #3723 from dokku/dependabot/bundler/tests/apps/multi/sass-globbing-1.1.5
chore(deps): bump sass-globbing from 1.1.1 to 1.1.5 in /tests/apps/multi
2019-10-19 22:50:46 -04:00
dependabot-preview[bot]
09a5c292cd chore(deps): bump jetty-servlet in /tests/apps/java
Bumps [jetty-servlet](https://github.com/eclipse/jetty.project) from 7.6.0.v20120127 to 9.4.21.v20190926.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-7.6.0.v20120127...jetty-9.4.21.v20190926)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-19 22:10:24 +00:00
dependabot-preview[bot]
9f9ebc99ec chore(deps): bump werkzeug in /tests/apps/python-flask
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 0.15.6 to 0.16.0.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/master/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/0.15.6...0.16.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-19 22:09:47 +00:00
dependabot-preview[bot]
35ed98ae71 chore(deps): bump express3-handlebars in /tests/apps/.websocket.disabled
Bumps [express3-handlebars](https://github.com/ericf/express3-handlebars) from 0.2.3 to 0.5.2.
- [Release notes](https://github.com/ericf/express3-handlebars/releases)
- [Changelog](https://github.com/ericf/express-handlebars/blob/master/HISTORY.md)
- [Commits](https://github.com/ericf/express3-handlebars/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-19 22:09:34 +00:00
Jose Diaz-Gonzalez
8f70e25e12 Merge pull request #3731 from dokku/dependabot/pip/tests/apps/python-flask/jinja2-2.10.3
chore(deps): bump jinja2 from 2.10.1 to 2.10.3 in /tests/apps/python-flask
2019-10-19 18:08:39 -04:00
Jose Diaz-Gonzalez
605bbb165a Merge pull request #3736 from dokku/dependabot/npm_and_yarn/tests/apps/dot-websocket.disabled/socket.io-2.3.0
chore(deps): bump socket.io from 0.9.19 to 2.3.0 in /tests/apps/.websocket.disabled
2019-10-19 18:08:12 -04:00
dependabot-preview[bot]
54703c9216 chore(deps): [security] bump symfony/http-kernel in /tests/apps/php
Bumps [symfony/http-kernel](https://github.com/symfony/http-kernel) from 2.6.4 to 2.8.51. **This update includes security fixes.**
- [Release notes](https://github.com/symfony/http-kernel/releases)
- [Changelog](https://github.com/symfony/http-kernel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/symfony/http-kernel/compare/v2.6.4...v2.8.51)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-19 22:08:08 +00:00
Jose Diaz-Gonzalez
daf03a6389 Merge pull request #3726 from dokku/dependabot/go_modules/tests/apps/gogrpc/google.golang.org/grpc-1.24.0
chore(deps): bump google.golang.org/grpc from 1.23.0 to 1.24.0 in /tests/apps/gogrpc
2019-10-19 18:07:24 -04:00
dependabot-preview[bot]
e67324cac9 chore(deps): bump sass-globbing from 1.1.1 to 1.1.5 in /tests/apps/multi
Bumps [sass-globbing](https://github.com/chriseppstein/sass-globbing) from 1.1.1 to 1.1.5.
- [Release notes](https://github.com/chriseppstein/sass-globbing/releases)
- [Changelog](https://github.com/chriseppstein/sass-globbing/blob/master/CHANGELOG.markdown)
- [Commits](https://github.com/chriseppstein/sass-globbing/compare/1.1.1...1.1.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-19 22:07:16 +00:00
Jose Diaz-Gonzalez
8ab1abd3b4 Merge pull request #3727 from dokku/dependabot/maven/tests/apps/java/org.apache.maven.plugins-maven-dependency-plugin-3.1.1
chore(deps): bump maven-dependency-plugin from 2.4 to 3.1.1 in /tests/apps/java
2019-10-19 18:07:10 -04:00
Jose Diaz-Gonzalez
23731f6561 Merge pull request #3733 from dokku/dependabot/composer/tests/apps/php/symfony/http-foundation-2.8.50
chore(deps): [security] bump symfony/http-foundation from 2.6.4 to 2.8.50 in /tests/apps/php
2019-10-19 18:06:40 -04:00
Jose Diaz-Gonzalez
9fe3f49cb4 Merge pull request #3720 from dokku/dependabot/bundler/tests/apps/multi/compass-1.0.3
chore(deps): bump compass from 1.0.1 to 1.0.3 in /tests/apps/multi
2019-10-19 18:05:45 -04:00
Salvatore Ferrucci
750a31013f scheduler-docker-local: start container with --interactive (+)
attach container's STDIN if it has tty
2019-10-19 12:08:52 +02:00
Jose Diaz-Gonzalez
814385eda9 Merge pull request #3721 from dokku/dependabot/bundler/tests/apps/ruby/sinatra-1.4.8
chore(deps): bump sinatra from 1.4.4 to 1.4.8 in /tests/apps/ruby
2019-10-19 02:50:29 -04:00
dependabot-preview[bot]
438261b1f9 chore(deps): bump sinatra from 1.4.4 to 1.4.8 in /tests/apps/ruby
Bumps [sinatra](https://github.com/sinatra/sinatra) from 1.4.4 to 1.4.8.
- [Release notes](https://github.com/sinatra/sinatra/releases)
- [Changelog](https://github.com/sinatra/sinatra/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sinatra/sinatra/compare/v1.4.4...v1.4.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-18 20:27:37 +00:00
Jose Diaz-Gonzalez
2044496750 Merge pull request #3719 from dokku/dependabot/bundler/tests/apps/ruby/thin-1.7.2
chore(deps): bump thin from 1.6.1 to 1.7.2 in /tests/apps/ruby
2019-10-18 16:26:16 -04:00
dependabot-preview[bot]
798793f7f8 chore(deps): bump socket.io in /tests/apps/.websocket.disabled
Bumps [socket.io](https://github.com/socketio/socket.io) from 0.9.19 to 2.3.0.
- [Release notes](https://github.com/socketio/socket.io/releases)
- [Commits](https://github.com/socketio/socket.io/compare/0.9.19...2.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-18 17:07:47 +00:00
dependabot-preview[bot]
e799709391 chore(deps): [security] bump symfony/http-foundation in /tests/apps/php
Bumps [symfony/http-foundation](https://github.com/symfony/http-foundation) from 2.6.4 to 2.8.50. **This update includes security fixes.**
- [Release notes](https://github.com/symfony/http-foundation/releases)
- [Changelog](https://github.com/symfony/http-foundation/blob/master/CHANGELOG.md)
- [Commits](https://github.com/symfony/http-foundation/compare/v2.6.4...v2.8.50)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-18 17:07:00 +00:00
dependabot-preview[bot]
2326195eea chore(deps): bump jinja2 in /tests/apps/python-flask
Bumps [jinja2](https://github.com/pallets/jinja) from 2.10.1 to 2.10.3.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/master/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/2.10.1...2.10.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-18 17:06:52 +00:00
dependabot-preview[bot]
40564464f9 chore(deps): bump maven-dependency-plugin in /tests/apps/java
Bumps [maven-dependency-plugin](https://github.com/apache/maven-dependency-plugin) from 2.4 to 3.1.1.
- [Release notes](https://github.com/apache/maven-dependency-plugin/releases)
- [Commits](https://github.com/apache/maven-dependency-plugin/compare/maven-dependency-plugin-2.4...maven-dependency-plugin-3.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-18 17:04:33 +00:00
dependabot-preview[bot]
54c987ea16 chore(deps): bump google.golang.org/grpc in /tests/apps/gogrpc
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.23.0 to 1.24.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.23.0...v1.24.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-18 17:04:32 +00:00
dependabot-preview[bot]
a513047e5a chore(deps): bump compass from 1.0.1 to 1.0.3 in /tests/apps/multi
Bumps [compass](https://github.com/chriseppstein/compass) from 1.0.1 to 1.0.3.
- [Release notes](https://github.com/chriseppstein/compass/releases)
- [Commits](https://github.com/chriseppstein/compass/compare/1.0.1...1.0.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-18 16:59:23 +00:00
dependabot-preview[bot]
1c17e43bb7 chore(deps): bump thin from 1.6.1 to 1.7.2 in /tests/apps/ruby
Bumps [thin](https://github.com/macournoyer/thin) from 1.6.1 to 1.7.2.
- [Release notes](https://github.com/macournoyer/thin/releases)
- [Changelog](https://github.com/macournoyer/thin/blob/master/CHANGELOG)
- [Commits](https://github.com/macournoyer/thin/compare/v1.6.1...v1.7.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-18 16:59:02 +00:00
Jose Diaz-Gonzalez
431dc6c1a0 Release 0.19.2
# History

## 0.19.2

Install/update via the bootstrap script:

```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.2/bootstrap.sh
sudo DOKKU_TAG=v0.19.2 bash bootstrap.sh
```

### Bug Fixes

- #3718: @josegonzalez Detect correct python binary to use
2019-10-18 12:30:02 -04:00
Jose Diaz-Gonzalez
8bb559c965 Merge pull request #3718 from dokku/3714-python-support
Detect correct python binary to use
2019-10-18 12:29:28 -04:00
Jose Diaz-Gonzalez
50863a9b76 fix: detect correct python binary to use
Ideally python usage goes away - the dokku-installer should become a mandatory cli command, and the plugin is rewritten in golang - but for now, we need to use the correct binary when running dokku.

Closes #3714
2019-10-17 14:24:47 -04:00
Jose Diaz-Gonzalez
a1860bae14 Release 0.19.1
# History

## 0.19.1

Install/update via the bootstrap script:

```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.1/bootstrap.sh
sudo DOKKU_TAG=v0.19.1 bash bootstrap.sh
```

### Bug Fixes

- #3713: @josegonzalez Require nginx 1.13+ in order to enable tls1.3
2019-10-14 20:12:50 -04:00
Jose Diaz-Gonzalez
fa8267ca09 Merge pull request #3713 from dokku/3711-tls13-support
Require nginx 1.13+ in order to enable tls1.3
2019-10-14 20:11:56 -04:00
Jose Diaz-Gonzalez
9dae004651 fix: require nginx 1.13+ in order to enable tls1.3
Closes #3711
2019-10-14 11:47:43 -04:00
Jose Diaz-Gonzalez
f9e163c63a fix: correct minor issue in history.md 2019-10-14 11:40:41 -04:00
Jose Diaz-Gonzalez
e561f87b17 fix: correct tag release 2019-10-14 11:40:27 -04:00
Robin Speekenbrink
48ade9853f Added new plugin
This adds the Nginx Trust Proxy plugin

This plugin allows dokku to be run behind (multiple) proxies in and gives developers the opportunity to support reverse proxy layers
2019-10-14 17:35:32 +02:00
Jose Diaz-Gonzalez
78621481a6 Release 0.19.0
# History

## 0.19.0

Install/update via the bootstrap script:

```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.0/bootstrap.sh
sudo DOKKU_TAG=v0.19.0 bash bootstrap.sh
```

### Bug Fixes

- #3688: @josegonzalez Correct shfmt issues
- #3684: @josegonzalez Do not push betafish releases to docker hub
- #3681: @josegonzalez Proper openresty support

### New Features

- #3687: @josegonzalez Add scheduler-post-run trigger
- #3702: @josegonzalez Cleanup build and destroy logging output
- #3693: @josegonzalez Remove ssh-keys user-auth trigger in favor of direct check in dokku binary
- #3691: @josegonzalez Silence trigger logging
- #3685: @josegonzalez Allow passing labels to one-off dokku containers
- #3680: @josegonzalez Follow updated intermediate recommendations from the Mozilla SSL Config Generator
- #3677: @josegonzalez Improve package build process
- #3679: @josegonzalez Allow keeping the git directory during builds
- #3577: @josegonzalez Use new-style docker management commands
- #3678: @josegonzalez Add container-type to run and deploy containers
- #3671: @josegonzalez Allow overriding checks doc url
- #3662: @leshik Improve nginx ciphers compatibility
- #3668: @josegonzalez Release latest docker image on release
- #3659: @fzerorubigd Add support for grpc/grpcs port forwarding

### Documentation

- #3701: @limenet Docs / Getting Started: use HTTPS instead of SSH for clone
- #3699: @robhudson Add `dokku cleanup` to help output
- #3669: @josegonzalez Fix reference to CHECKS file location

### Tests

- #3670: @josegonzalez Upgrade all python test deps

### Other

- #3690: @
2019-10-14 05:50:49 -04:00
Jose Diaz-Gonzalez
92de37b23a Merge pull request #3687 from dokku/scheduler-post-run
Add scheduler-post-run trigger
2019-10-14 05:49:36 -04:00
Jose Diaz-Gonzalez
35287a2d28 fix: force tty check to run with the default language
This fixes the case where the system language is non-english. See this stackexchange answer for more details: https://unix.stackexchange.com/q/87745

Closes #3588
2019-10-14 05:03:18 -04:00
Jose Diaz-Gonzalez
360c587086 feat: add scheduler-post-run trigger
After a `dokku run` container is created and started, this plugin trigger will allow developers to run auxiliary commands in response to that container.
2019-10-14 04:55:07 -04:00
Jose Diaz-Gonzalez
844b86840a Merge branch 'upcoming' of github.com:dokku/dokku into upcoming 2019-10-07 18:55:29 -05:00
Jose Diaz-Gonzalez
94f5c04bf3 Release 0.18.5
# History

## 0.18.5

Install/update via the bootstrap script:

```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.18.5/bootstrap.sh
sudo DOKKU_TAG=v0.18.5 bash bootstrap.sh
```

### Bug Fixes

- #3704: @josegonzalez Fail nginx:build-config if the image does not exist
2019-10-07 13:20:51 -04:00
Jose Diaz-Gonzalez
e76f8da482 Merge pull request #3704 from dokku/fail-nginx-build-config
Fail nginx:build-config if the image does not exist
2019-10-07 13:20:03 -04:00
Jose Diaz-Gonzalez
4d1beedd05 fix: do not create nginx.conf if the image for the app does not exist 2019-10-07 12:18:54 -04:00
Jose Diaz-Gonzalez
b3bc109abe Release 0.18.4
# History

## 0.18.4

Install/update via the bootstrap script:

```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.18.4/bootstrap.sh
sudo DOKKU_TAG=v0.18.4 bash bootstrap.sh
```

### Other

- #3703: @scjody Update DOKKU_SCALE from Procfile during ps:scale
2019-10-04 16:31:57 -04:00
Jose Diaz-Gonzalez
0b1775746d Merge pull request #3703 from plotly/update-scale-file-from-procfile
Update DOKKU_SCALE from Procfile during ps:scale
2019-10-04 16:22:29 -04:00
Jody McIntyre
592b10122d Add test of DOKKU_SCALE update 2019-10-04 14:36:54 -04:00
Jody McIntyre
f1dd722971 Update DOKKU_SCALE from Procfile during ps:scale
This is needed so that we report on processes added to an app's
Procfile.
2019-10-04 08:35:58 -04:00
Jose Diaz-Gonzalez
24c47e17f8 Merge pull request #3702 from dokku/better-output
Cleanup build and destroy logging output
2019-10-03 11:57:50 -04:00
Jose Diaz-Gonzalez
8c6e4c6483 Merge pull request #3701 from limenet/patch-1
Docs / Getting Started: use HTTPS instead of SSH for clone
2019-10-02 13:05:28 -04:00
Linus Metzler
34b5234e2f Use HTTPS instead of SSH for clone
If the user has not yet added their public key to GitHub, using SSH for clone results in an error message due to permission denied.
2019-10-02 11:03:41 +02:00
Jose Diaz-Gonzalez
b05a2b6da2 Merge pull request #3699 from robhudson/add-cleanup-help
Add `dokku cleanup` to help output
2019-09-28 20:59:33 -04:00
Rob Hudson
9ed22eafea Add dokku cleanup to help output
Fixes #3698
2019-09-27 12:50:16 -07:00
Jose Diaz-Gonzalez
498bdd0491 chore: cleanup build and destroy logging output 2019-09-20 12:31:19 -04:00
Jose Diaz-Gonzalez
92ac9cc729 Merge pull request #3693 from dokku/faster-calls
Remove ssh-keys user-auth trigger in favor of direct check in dokku binary
2019-09-20 12:28:51 -04:00
Jose Diaz-Gonzalez
9c68cd53fc refactor: remove ssh-keys user-auth trigger in favor of direct check in dokku binary 2019-09-20 01:25:42 -04:00
Jose Diaz-Gonzalez
3b3fc5d5c1 Merge pull request #3690 from dokku/3689-python-3
Add support for python3
2019-09-20 00:34:57 -04:00
Jose Diaz-Gonzalez
b4e95fe0d5 feat: add support for python3
- Use jq where possible
- Drop unused function (no usage across entire codebase nor in any github repository

Closes #3689
2019-09-19 23:33:43 -04:00
Jose Diaz-Gonzalez
7bd4d32cb3 Merge pull request #3691 from dokku/silence-trigger-logging
Silence trigger logging
2019-09-17 23:50:00 -04:00
Jose Diaz-Gonzalez
903d7ce614 chore: silence trigger logging
Logging that a trigger is about to be performed is a bit... extra. If folks want to know that a trigger is running, they can check the event logs.
2019-09-17 23:47:30 -04:00
Jose Diaz-Gonzalez
12f3c12070 Merge pull request #3688 from dokku/shfmt
Correct shfmt issues
2019-09-17 04:07:59 -04:00
Jose Diaz-Gonzalez
cb281e17e6 fix: correct shfmt issues 2019-09-17 02:22:41 -04:00
Jose Diaz-Gonzalez
06b565f3e5 Merge pull request #3685 from dokku/docker-run-labels
Allow passing labels to one-off dokku containers
2019-09-17 00:27:07 -04:00
Jose Diaz-Gonzalez
798725bb54 feat: allow passing labels to one-off dokku containers
This feature is allows users to add extra label metadata to one-off containers. As this can interfere with Dokku internals if they shadow labels used by plugins, care should be taken to avoid the `com.dokku` or `org.label-schema` namespace.

Also proper name run containers so they don't get random names from docker...
2019-09-16 23:10:14 -04:00
Jose Diaz-Gonzalez
a3ef91f2ae Merge pull request #3684 from dokku/no-betafish-push
Do not push betafish releases to docker hub
2019-09-16 21:48:57 -04:00
Jose Diaz-Gonzalez
cd28fe69a5 fix: do not push betafish releases to docker hub 2019-09-16 21:48:31 -04:00
Jose Diaz-Gonzalez
f1ead08549 Merge pull request #3681 from dokku/3675-openresty-support
Proper openresty support
2019-09-16 03:55:20 -04:00
Jose Diaz-Gonzalez
6e3fddb544 feat: add proper openresty support
This change allows supporting the openresty package as installed on Ubuntu 18.04 from the official openresty package repository, while also returning general nginx support.

Closes #3675
2019-09-16 03:05:35 -04:00
Jose Diaz-Gonzalez
dd2bbc7722 fix: allow test dhparam.pem to be copied into docker image 2019-09-16 03:04:42 -04:00
Jose Diaz-Gonzalez
a9ce738f68 feat: add openresty and runit support to packaging
Our docker image uses runit instead of init/systemd, hence the added sv support on Ubuntu operating systems.
2019-09-16 03:03:20 -04:00
Jose Diaz-Gonzalez
0e219b05e9 fest: handle both openresty and nginx in docker image builds 2019-09-16 03:02:01 -04:00
Jose Diaz-Gonzalez
ea9cf024d5 feat: always upgrade packages before further installation 2019-09-16 03:01:46 -04:00
Jose Diaz-Gonzalez
0d1952592e chore: standardize arguments to apt 2019-09-16 03:01:34 -04:00
Jose Diaz-Gonzalez
43e7ee06fb feat: rework layer to slightly speed up builds 2019-09-16 03:00:34 -04:00
Jose Diaz-Gonzalez
692bfa7cde feat: speed up docker image build by copying tmp dhparam file into place 2019-09-16 03:00:11 -04:00
Jose Diaz-Gonzalez
dbcfb7ee9f Merge pull request #3680 from dokku/updated-ssl-config
Follow updated intermediate recommendations from the Mozilla SSL Config Generator
2019-09-15 23:14:05 -04:00
Jose Diaz-Gonzalez
5f80cd3c20 feat: follow updated intermediate recommendations from the Mozilla SSL Config Generator 2019-09-15 22:24:37 -04:00
Jose Diaz-Gonzalez
eecee94e70 Merge pull request #3677 from dokku/package-improvements
Improve package build process
2019-09-15 21:10:28 -04:00
Jose Diaz-Gonzalez
f55dc640ec Merge pull request #3679 from dokku/keep-git-dir
Allow keeping the git directory during builds
2019-09-15 20:29:47 -04:00
Jose Diaz-Gonzalez
a4ac67a1e0 fix: drop unused import 2019-09-15 19:43:34 -04:00
Jose Diaz-Gonzalez
14838de344 feat: allow keeping the git directory during builds
It may be desirable to keep the contents of the git directory for the build process. Certain build tools can extract extra information from the .git directory, and some workflows may require that the shipped artifact has the entire source code available locally for later usage.
2019-09-15 19:15:35 -04:00
Jose Diaz-Gonzalez
6b6b1c2aa4 fix: drop pre-delete link 2019-09-15 19:15:08 -04:00
Jose Diaz-Gonzalez
8662f4550f fix: Should replace errors.New(fmt.Sprintf(...)) with fmt.Errorf(...) 2019-09-15 19:15:08 -04:00
Jose Diaz-Gonzalez
78dba3be3c fix: correct comments on go functions 2019-09-15 19:15:08 -04:00
Jose Diaz-Gonzalez
76911a7dc8 fix: drop executable perm on trace/plugin.toml 2019-09-15 19:15:08 -04:00
Jose Diaz-Gonzalez
68de421630 fix: correct lintian overrides 2019-09-15 19:15:08 -04:00
Jose Diaz-Gonzalez
ccbe0b0877 fix: correct bash-completion comment 2019-09-15 19:15:08 -04:00
Jose Diaz-Gonzalez
6a7d2e5252 refactor: decrease compile time for golang plugins
This change refactors the compiled golang plugins into 3 distinct binaries:

- commands: already existing
- subcommands/subcommands: entrypoint into all subcommands
- triggers: entrypoint into all triggers

It then further symlinks triggers and subcommands to the built binaries. This results in both a much faster build process as well as smaller package size.
2019-09-15 19:15:08 -04:00
Jose Diaz-Gonzalez
f83a03a3dc Merge pull request #3577 from dokku/management-commands
Use new-style docker management commands
2019-09-15 19:14:53 -04:00
Jose Diaz-Gonzalez
44fcea0ffa refactor: use new-style docker management commands
This PR uses the new syntax for commands introduced in Docker 1.13, making it a bit easier to understand just what a particular command is trying to do.

This also pushes the long-form syntax for docker command flags, which are also easier to understand at a glance.
2019-09-15 18:55:53 -04:00
Jose Diaz-Gonzalez
c02059c965 Merge pull request #3678 from dokku/running-containers
Add container-type to run and deploy containers
2019-09-15 18:53:02 -04:00
Jose Diaz-Gonzalez
92d2895d99 feat: add container-type to run and deploy containers 2019-09-15 17:17:56 -04:00
Jose Diaz-Gonzalez
2b93c76b1d Merge pull request #3671 from dokku/doc-url-override
Allow overriding checks doc url
2019-09-11 21:02:33 -04:00
Jose Diaz-Gonzalez
8cbaf1e004 feat: allow overriding checks doc url 2019-09-09 17:47:12 -04:00
Jose Diaz-Gonzalez
b4c4d5d70f Merge pull request #3662 from leshik/improve-nginx-ciphers-compatibility
Improve nginx ciphers compatibility
2019-09-06 23:53:36 -04:00
Jose Diaz-Gonzalez
a00d9de400 Merge pull request #3670 from dokku/update-python-test-reqs
Upgrade all python test deps
2019-09-06 22:25:35 -04:00
Jose Diaz-Gonzalez
a36ebd130d fix: upgrade all python test deps 2019-09-06 21:26:32 -04:00
Jose Diaz-Gonzalez
5b1763aa4a Merge pull request #3669 from dokku/3664-checks-workdir
Fix reference to CHECKS file location
2019-09-06 21:21:57 -04:00
Jose Diaz-Gonzalez
53c8f61ffc docs: fix reference to CHECKS file location
Closes #3664
2019-09-06 21:21:25 -04:00
Jose Diaz-Gonzalez
b806154e90 Merge pull request #3668 from dokku/release-latest-image
feat: release latest docker image on release
2019-09-06 21:07:15 -04:00
Jose Diaz-Gonzalez
1be6ace7b5 feat: release latest docker image on release
Also, always build a docker image for local testing.
2019-09-06 21:06:33 -04:00
Jose Diaz-Gonzalez
9d9530b01d Merge pull request #3659 from fzerorubigd/master
nginx-vhost: add support for grpc/grpcs port forward
2019-08-27 18:30:52 -04:00
fzerorubigd
c4838b4af9 add test for grpc on a port other than 80
fix docs a bout supporting only HTTP
remove extra spaces
2019-08-24 10:58:34 +02:00
Forud
5ca3ca5189 nginx-vhosts: add a note in the proxy management docs about grpc
[ci skip]
2019-08-23 15:34:34 +02:00
Forud
3457844687 nginx-vhost: add test for grpcs 2019-08-23 14:30:36 +02:00
fzerorubigd
346e8284c8 nginx-vhost: adding some test for the grpc 2019-08-23 10:00:12 +02:00
Alexey Zagarin
180a5e79c9 Improve nginx ciphers compatibility
Closes #3661.
2019-08-23 14:00:10 +07:00
fzerorubigd
377166d822 nginx-vhost: add support for grpc/grpcs port forward 2019-08-22 21:57:21 +02:00
Jose Diaz-Gonzalez
9256248cfd Release 0.18.3
# History

## 0.18.3

Install/update via the bootstrap script:

```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.18.3/bootstrap.sh
sudo DOKKU_TAG=v0.18.3 bash bootstrap.sh
```

### Bug Fixes

- #3660: @josegonzalez Trigger builder-release for dockerfile correctly
- #3655: @znz Fix filename of sshcommand tarball
- #3648: @josegonzalez Copy the deb file before creating the image

### New Features

- #3656: @josegonzalez Allow users to customize the container start command
- #3657: @josegonzalez Show error message when docker-related build commands fail
- #3654: @josegonzalez Update herokuish to 0.5.3

### Documentation

- #3652: @josegonzalez Correct issue in inspect call for issue template
2019-08-22 14:23:24 -04:00
Jose Diaz-Gonzalez
e074cffd4f Merge pull request #3660 from dokku/builder-plugn-trigger-once
Trigger builder-release for dockerfile correctly
2019-08-22 14:22:45 -04:00
Jose Diaz-Gonzalez
30ac3c24c0 fix: trigger builder-release for dockerfile correctly 2019-08-22 14:22:16 -04:00
Jose Diaz-Gonzalez
4c766b8f0e Merge pull request #3656 from dokku/custom-start-command
Allow users to customize the container start command
2019-08-22 14:21:13 -04:00
Jose Diaz-Gonzalez
e30fad51de Merge pull request #3657 from dokku/app-build-failure
Show error message when docker-related build commands fail
2019-08-22 14:21:04 -04:00
Jose Diaz-Gonzalez
9734d09ff1 feat: show error message when docker-related build commands fail
This makes it more apparent that a deploy has failed than the silent error exit that might otherwise happen.
2019-08-20 17:31:14 -04:00
Jose Diaz-Gonzalez
0c3f659854 feat: allow users to customize the container start command
This can be useful when testing base images that are similar to herokuish but have a different entrypoint.
2019-08-20 17:12:18 -04:00
Jose Diaz-Gonzalez
2b1c8f64fb Merge pull request #3654 from dokku/update-herokuish
Update herokuish to 0.5.3
2019-08-20 14:12:21 -04:00
Jose Diaz-Gonzalez
2cf3a3d0cf Merge pull request #3655 from znz/fix-typo
Fix filename of sshcommand tarball
2019-08-20 13:33:59 -04:00
Kazuhiro NISHIYAMA
4105f0027c Fix filename of sshcommand tarball 2019-08-20 22:12:08 +09:00
Jose Diaz-Gonzalez
1dc2a7e20a feat: update herokuish to 0.5.3 2019-08-19 17:38:17 -04:00
Jose Diaz-Gonzalez
d8753ca8d4 Merge pull request #3652 from dokku/josegonzalez-patch-1
Correct issue in inspect call for issue template
2019-08-15 12:51:12 -04:00
Jose Diaz-Gonzalez
d68d02b204 docs: correct issue in inspect call for issue template
[ci skip]
2019-08-15 12:49:46 -04:00
Vince
8e7a51daec Clarify --cpu mapping for docker-local scheduler 2019-08-15 12:17:52 +02:00
Jose Diaz-Gonzalez
8b046b9bd7 fix: always add the built deb to dokku.deb 2019-08-13 16:49:40 -04:00
Jose Diaz-Gonzalez
5b19256109 Merge pull request #3648 from dokku/fix-deb-copy
Copy the deb file before creating the image
2019-08-13 14:33:18 -04:00
Jose Diaz-Gonzalez
79b0bebb78 fix: copy the deb file before creating the image 2019-08-13 14:31:54 -04:00
Jose Diaz-Gonzalez
950b7ed6be Release 0.18.2
# History

## 0.18.2

Install/update via the bootstrap script:

```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.18.2/bootstrap.sh
sudo DOKKU_TAG=v0.18.2 bash bootstrap.sh
```

### New Features

- #3645: @josegonzalez Use version in DOKKU_LIB_ROOT
- #3644: @josegonzalez Refactor temp file handling
- #3643: @josegonzalez Quiet deploy output
- #3641: @josegonzalez Pass SOURCECODE_WORK_DIR to build-buildpack triggers
- #3639: @josegonzalez Refer to upstream sshcommand package

### Documentation

- #3642: @josegonzalez Correct issue with label change in docs
- #3640: @josegonzalez Add missing popd to post-extract example
2019-08-13 13:57:56 -04:00
Jose Diaz-Gonzalez
9432cdd37c fix: remove the build-env plugin from rpm installs
Closes #3646
2019-08-13 13:57:19 -04:00
Jose Diaz-Gonzalez
5bd499a9bc Merge pull request #3645 from dokku/version-outside-dokku-root
Use version in DOKKU_LIB_ROOT
2019-08-13 01:59:44 -04:00
Jose Diaz-Gonzalez
5506c9e27d refactor: use version in DOKKU_LIB_ROOT
The version in DOKKU_ROOT may be incorrect for docker-based installs if that directory is mounted from an external volume. Instead, pull it from the DOKKU_LIB_ROOT directory, and respect the STABLE_VERSION if specified (VERSION will be the entire version, including commit sha).
2019-08-13 00:53:49 -04:00
Jose Diaz-Gonzalez
e07703645e Merge pull request #3644 from dokku/tmp-files
Refactor temp file handling
2019-08-12 19:27:24 -04:00
Jose Diaz-Gonzalez
3ca6245b00 fix: use 6 X to support running under busybox
mktemp from busybox requires that all templates end with XXXXXX.
2019-08-12 18:16:16 -04:00
Jose Diaz-Gonzalez
925c6c4c28 feat: inject the dokku PID into temporary files/directories
This will allow background processes to cleanup these files if they were unable to be cleaned up during a run of the dokku binary, as is the case for files copied by the docker binary when running in docker.
2019-08-12 17:56:17 -04:00
Jose Diaz-Gonzalez
0588b6f161 refactor: directly use a tmp file for app.json 2019-08-12 17:53:15 -04:00
Jose Diaz-Gonzalez
fee2d50148 Merge pull request #3643 from dokku/quieter-deploys
Quiet deploy output
2019-08-12 17:40:10 -04:00
Jose Diaz-Gonzalez
9a2c8e04a5 feat: quiet down deploys 2019-08-12 17:39:01 -04:00
Jose Diaz-Gonzalez
2517d392a4 Merge pull request #3642 from dokku/fix-label-docs
Correct issue with label change in docs
2019-08-12 16:20:50 -04:00
Jose Diaz-Gonzalez
a0b6663bef docs: correct issue with label change in docs
[ci skip]
2019-08-12 16:20:22 -04:00
Jose Diaz-Gonzalez
5fb7b0a74c Merge pull request #3641 from dokku/pass-sourcecode-work-dir
Pass SOURCECODE_WORK_DIR to build-buildpack triggers
2019-08-12 16:14:51 -04:00
Jose Diaz-Gonzalez
026d04a65f feat: pass SOURCECODE_WORK_DIR to build-buildpack triggers
This will allow those triggers to insert and extract files from the sourcecode work directory. Note that changes are not committed to this directory, nor will they be reflected in the committed codebase.
2019-08-12 16:08:31 -04:00
Jose Diaz-Gonzalez
94ace70626 Merge pull request #3639 from dokku/upgrade-sshcommand
Refer to upstream sshcommand package
2019-08-12 11:11:33 -04:00
Jose Diaz-Gonzalez
2d36dc2a04 Merge pull request #3640 from dokku/josegonzalez-patch-1
Add missing popd to post-extract example
2019-08-12 11:11:18 -04:00
Jose Diaz-Gonzalez
f3819a46e9 docs: add missing popd to post-extract example
[ci skip]
2019-08-12 11:10:54 -04:00
Jose Diaz-Gonzalez
c66e08041a refactor: refer to upstream sshcommand package
sshcommand now packages itself.
2019-08-10 19:55:21 -04:00
Jose Diaz-Gonzalez
9e9f601690 Release 0.18.1
# History

## 0.18.1

Install/update via the bootstrap script:

```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.18.1/bootstrap.sh
sudo DOKKU_TAG=v0.18.1 bash bootstrap.sh
```

### New Features

- #3636: @josegonzalez Unify deb and rpm creation code
- #3635: @josegonzalez Upgrade herokuish to 0.5.2
2019-08-10 14:32:13 -04:00
Jose Diaz-Gonzalez
c9bc4f8615 Merge pull request #3636 from dokku/refactor-deb-install
Unify deb and rpm creation code
2019-08-10 14:29:29 -04:00
Jose Diaz-Gonzalez
34ee8e7079 Merge pull request #3635 from dokku/upgrade-herokuish
Upgrade herokuish to 0.5.2
2019-08-08 15:52:48 -04:00
Jose Diaz-Gonzalez
4ab30b8c14 chore: unify deb and rpm creation code
- split things into functions
- port code that handled postinst on deb to rpm and vice-versa
2019-08-08 15:18:00 -04:00
Jose Diaz-Gonzalez
3bc6f071cf feat: upgrade herokuish to 0.5.2 2019-08-08 14:53:50 -04:00
Jose Diaz-Gonzalez
0669121242 fix: correct minor issues in docker install docs 2019-08-07 11:53:18 -04:00
624 changed files with 15393 additions and 5694 deletions

View File

@@ -13,13 +13,8 @@ jobs:
- run: |
echo 'export DOKKU_SKIP_CLEANUP=true' | sudo tee /home/dokku/.dokkurc/dokku_skip_cleanup
- run: |
if [[ "$(lsb_release -rs)" == "14.04" ]]; then
# dokku.me now resolves to 10.0.0.2. add 10.0.0.2/24 to eth0
sudo ip a a 10.0.0.2/24 broadcast 10.0.0.255 dev eth0
else
# dokku.me now resolves to 10.0.0.2. add 10.0.0.2/24 to ens4
sudo ip a a 10.0.0.2/24 broadcast 10.0.0.255 dev ens4
fi
# dokku.me now resolves to 10.0.0.2. add 10.0.0.2/24 to ens4
sudo ip a a 10.0.0.2/24 broadcast 10.0.0.255 dev ens4
- run: |
case $CIRCLE_NODE_INDEX in
0) sudo -E make -e lint-ci go-tests ci-go-coverage ;;

View File

@@ -7,6 +7,7 @@ build
docs
tests
!build/dokku.deb
!tests/dhparam.pem
!contrib/dokku-installer.py
!contrib/dokku-update
!contrib/bash-completion

View File

@@ -1,3 +1,4 @@
---
linters:
shellcheck:
shell: bash
@@ -5,6 +6,8 @@ linters:
golint:
files:
ignore:
- './debian/*'
- '*/vendor/*'
ignore:
- 'debian/*'
- 'docs/*'
- 'tests/*'
- '*/vendor/*'

View File

@@ -1,74 +0,0 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
nationality, personal appearance, race, religion, or sexual identity and
orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at dokku@josediazgonzalez.com. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/

View File

@@ -10,22 +10,25 @@ ARG DOKKU_SKIP_KEY_FILE=true
ARG DOKKU_VHOST_ENABLE=false
ARG DOKKU_WEB_CONFIG=false
COPY ./build/dokku.deb /tmp/dokku.deb
RUN addgroup --gid $DOKKU_GID dokku \
&& adduser --uid $DOKKU_UID --gid $DOKKU_GID --disabled-password --gecos "" "dokku"
COPY ./tests/dhparam.pem /tmp/dhparam.pem
COPY ./build/dokku.deb /tmp/dokku.deb
RUN echo "dokku dokku/hostname string $DOKKU_HOSTNAME" | debconf-set-selections \
&& echo "dokku dokku/skip_key_file boolean $DOKKU_SKIP_KEY_FILE" | debconf-set-selections \
&& echo "dokku dokku/vhost_enable boolean $DOKKU_VHOST_ENABLE" | debconf-set-selections \
&& echo "dokku dokku/web_config boolean $DOKKU_WEB_CONFIG" | debconf-set-selections \
&& curl -sSL https://packagecloud.io/dokku/dokku/gpgkey | apt-key add - \
&& echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ bionic main" | tee /etc/apt/sources.list.d/dokku.list \
&& mkdir -p /etc/nginx/ \
&& cp /tmp/dhparam.pem /etc/nginx/dhparam.pem \
&& apt-get update -qq \
&& apt-get install --no-install-recommends --only-upgrade -y -qq openssl openssh-server \
&& apt --no-install-recommends -qq -y install rsync /tmp/dokku.deb \
&& apt-get purge -y -q syslog-ng-core \
&& apt-get autoremove -y -q \
&& apt-get upgrade -qq -y \
&& apt-get install --no-install-recommends --only-upgrade -qq -y openssl openssh-server \
&& apt install --no-install-recommends -qq -y rsync /tmp/dokku.deb \
&& apt-get purge -qq -y syslog-ng-core \
&& apt-get autoremove -qq -y \
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
WORKDIR /tmp
@@ -47,6 +50,7 @@ RUN \
&& ln -sf /mnt/dokku/var/lib/dokku/config /var/lib/dokku/config \
&& ln -sf /mnt/dokku/var/lib/dokku/data /var/lib/dokku/data \
&& mv /etc/my_init.d/00_regen_ssh_host_keys.sh /etc/my_init.d/15_regen_ssh_host_keys \
&& rm /etc/nginx/sites-enabled/default /usr/share/nginx/html/index.html /etc/my_init.d/10_syslog-ng.init \
&& rm -f /etc/nginx/sites-enabled/default /usr/share/nginx/html/index.html /etc/my_init.d/10_syslog-ng.init \
&& rm -f /usr/local/openresty/nginx/conf/sites-enabled/default /usr/share/openresty/html/index.html \
&& sed -i '/imklog/d' /etc/rsyslog.conf \
&& rm /var/log/btmp /var/log/wtmp /var/log/*log /var/log/apt/* /var/log/dokku/* /var/log/nginx/*
&& rm -f /var/log/btmp /var/log/wtmp /var/log/*log /var/log/apt/* /var/log/dokku/* /var/log/nginx/* /var/log/openresty/*

View File

@@ -1,5 +1,519 @@
# History
## 0.20.2
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.20.2/bootstrap.sh
sudo DOKKU_TAG=v0.20.2 bash bootstrap.sh
```
### Bug Fixes
- #3921: @josegonzalez Correct container_type handling when entering containers
- #3919: @josegonzalez Fix bug with restarting containers not being routed to because of changing IP addresses
### New Features
- #3920: @josegonzalez Add the ability to list ssh keys for a specific user
## 0.20.1
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.20.1/bootstrap.sh
sudo DOKKU_TAG=v0.20.1 bash bootstrap.sh
```
### Bug Fixes
- #3916: @josegonzalez Change error exit to warning when no apps exist
### New Features
- #3918: @josegonzalez Upgrade herokuish to 0.5.11
- #3915: @josegonzalez Add ability to check if a plugin has been installed
- #3914: @josegonzalez Add ability to change or disable the access/error log path
- #3913: @josegonzalez Upgrade herokuish
### Documentation
- #3907: @josegonzalez Add sponsoring link to issue template
- #3904: @jazzzz Update dokku-apt entry
- #3902: @josegonzalez Remove extra commas from network docs
### Other
- #3909: @dependabot-preview[bot] chore(deps): bump werkzeug from 1.0.0 to 1.0.1 in /tests/apps/python-flask
- #3903: @dependabot-preview[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 172 to 173 in /tests/apps/php
## 0.20.0
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.20.0/bootstrap.sh
sudo DOKKU_TAG=v0.20.0 bash bootstrap.sh
```
### Bug Fixes
- #3891: @josegonzalez Add missing cpio dependency
- #3861: @josegonzalez Fix app clone and rename calls
- #3682: @josegonzalez Force tty check to run with the default language
- #3853: @josegonzalez Add missing hooks to events plugin
### New Features
- #3899: @josegonzalez Drop unnecessary quotes on docker inspect calls
- #3895: @josegonzalez Expose network listeners to nginx templates for all process types
- #3893: @josegonzalez Rewrite apps plugin in golang
- #3889: @josegonzalez Update herokuish
- #3879: @josegonzalez Drop support for unsupported Debian and Ubuntu releases …
- #3880: @josegonzalez Remove unnecessary source/import statements
- #3871: @josegonzalez Rewrite proxy plugin in golang
- #3869: @josegonzalez Standardize plugin trigger calls
- #3870: @josegonzalez Use Println in favor of Fprintln for os.Stdout
- #3868: @josegonzalez Remove ps command
- #3866: @josegonzalez Unify nginx config commands
- #3865: @josegonzalez Cleanup injected docker labels
- #3860: @josegonzalez Remove deprecated egrep calls from codebase
- #3854: @josegonzalez Remove deprecated code
- #3852: @josegonzalez Standardize plugin code
- #3850: @josegonzalez DRY up reports in golang
- #3851: @josegonzalez Update herokuish to 0.5.6
- #3847: @josegonzalez Custom docker networking
- #3848: @josegonzalez Minor logging changes
- #3843: @josegonzalez Enable HSTS by default
- #3844: @josegonzalez Add global fallback for DOKKU_PROXY_PORT and DOKKU_PROXY_SSL_PORT
- #3609: @jayjun Start long running containers with --init with tests
- #3842: @josegonzalez rework docker-args-process trigger arguments
- #3841: @josegonzalez Implement docker-options:clear
### Documentation
- #3901: @Cellane 📝 Update information about Dokku CLI installation
- #3892: @josegonzalez Move code of conduct to .github org repository
- #3888: @decentral1se Mark 9+ for Debian version
- #3874: @josegonzalez Push users to upgrade to recent versions
- #3864: @alex-galey Change docs copyright to 2020
- #3863: @josegonzalez Update issue template to remove ambiguity around reporting
- #3849: @josegonzalez Reference correct property in network docs example
- #3840: @ollej Add link to fonts plugin
- #3838: @ltalirz Expand docs surrounding access control
### Other
- #3897: @dependabot-preview[bot] chore(deps): bump github.com/golang/protobuf from 1.3.4 to 1.3.5 in /tests/apps/gogrpc
- #3896: @dependabot-preview[bot] chore(deps): bump maven-dependency-plugin from 3.1.1 to 3.1.2 in /tests/apps/java
- #3894: @dependabot-preview[bot] chore(deps): bump google.golang.org/grpc from 1.27.1 to 1.28.0 in /tests/apps/gogrpc
- #3885: @dependabot-preview[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 171 to 172 in /tests/apps/php
- #3884: @dependabot-preview[bot] chore(deps): bump jetty-servlet from 9.4.26.v20200117 to 9.4.27.v20200227 in /tests/apps/java
- #3877: @dependabot-preview[bot] chore(deps): bump github.com/golang/protobuf from 1.3.3 to 1.3.4 in /tests/apps/gogrpc
- #3858: @dependabot-preview[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 170 to 171 in /tests/apps/php
- #3855: @dependabot-preview[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 169 to 170 in /tests/apps/php
- #3846: @dependabot-preview[bot] chore(deps): bump werkzeug from 0.16.1 to 1.0.0 in /tests/apps/python-flask
- #3845: @dependabot-preview[bot] chore(deps): bump google.golang.org/grpc from 1.27.0 to 1.27.1 in /tests/apps/gogrpc
- #3833: @dependabot-preview[bot] chore(deps): bump google.golang.org/grpc from 1.26.0 to 1.27.0 in /tests/apps/gogrpc
- #3837: @dependabot-preview[bot] chore(deps): bump jinja2 from 2.10.3 to 2.11.1 in /tests/apps/python-flask
- #3836: @dependabot-preview[bot] chore(deps): bump github.com/golang/protobuf from 1.3.2 to 1.3.3 in /tests/apps/gogrpc
- #3829: @dependabot-preview[bot] chore(deps): bump werkzeug from 0.16.0 to 0.16.1 in /tests/apps/python-flask
- #3830: @dependabot-preview[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 166 to 169 in /tests/apps/php
## 0.19.13
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.13/bootstrap.sh
sudo DOKKU_TAG=v0.19.13 bash bootstrap.sh
```
### Bug Fixes
- #3828: @josegonzalez Reference correct file in nginx:report command
### Other
- #3824: @dependabot-preview[bot] chore(deps): bump jetty-servlet from 9.4.25.v20191220 to 9.4.26.v20200117 in /tests/apps/java
## 0.19.12
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.12/bootstrap.sh
sudo DOKKU_TAG=v0.19.12 bash bootstrap.sh
```
### New Features
- #3819: @josegonzalez Allow binding nginx to specific IPv4/IPv6 interfaces
- #3818: @josegonzalez Add support for host-mode networking
### Documentation
- #3814: @treyssatvincent Use dokku:report to for listing domains
- #3809: @josegonzalez Document nginx:show-conf
- #3650: @vincelwt Clarify resource management for docker-local scheduler
- #3806: @kimar Make default vhost example listen to ipv6
### Other
- #3816: @dependabot-preview[bot] chore(deps): bump handlebars from 4.6.0 to 4.7.1 in /tests/apps/.websocket.disabled
- #3815: @dependabot-preview[bot] chore(deps): bump handlebars from 4.5.3 to 4.6.0 in /tests/apps/.websocket.disabled
- #3811: @dependabot-preview[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 165 to 166 in /tests/apps/php
- #3812: @dependabot-preview[bot] chore(deps): bump jetty-servlet from 9.4.24.v20191120 to 9.4.25.v20191220 in /tests/apps/java
- #3810: @dependabot-preview[bot] chore(deps): bump monolog/monolog from 1.25.2 to 1.25.3 in /tests/apps/php
- #3808: @dependabot-preview[bot] chore(deps): [security] bump rack from 1.6.11 to 1.6.12 in /tests/apps/ruby
- #3807: @dependabot-preview[bot] chore(deps): bump google.golang.org/grpc from 1.25.1 to 1.26.0 in /tests/apps/gogrpc
- #3804: @dependabot-preview[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 164 to 165 in /tests/apps/php
## 0.19.11
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.11/bootstrap.sh
sudo DOKKU_TAG=v0.19.11 bash bootstrap.sh
```
### Bug Fixes
- #3800: @josegonzalez Properly track failed check count
### New Features
- #3801: @josegonzalez Update herokuish
### Documentation
- #3798: @znz Fix function descriptions in property-functions file
## 0.19.10
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.10/bootstrap.sh
sudo DOKKU_TAG=v0.19.10 bash bootstrap.sh
```
### Bug Fixes
- #3784: @josegonzalez Ensure checks attempts are tracked per-check instead of globally
### New Features
- #3793: @josegonzalez Omit DWARF symbol table and debug information from go binaries
- #3792: @josegonzalez Unify property function implementations
### Documentation
- #3712: @fruitl00p Added new plugin
### Other
- #3790: @dependabot-preview[bot] chore(deps): bump gunicorn from 20.0.3 to 20.0.4 in /tests/apps/python-flask
- #3791: @dependabot-preview[bot] chore(deps): bump gunicorn from 20.0.3 to 20.0.4 in /tests/apps/multi
- #3787: @dependabot-preview[bot] chore(deps): bump gunicorn from 20.0.2 to 20.0.3 in /tests/apps/multi
- #3788: @dependabot-preview[bot] chore(deps): bump gunicorn from 20.0.2 to 20.0.3 in /tests/apps/python-flask
- #3785: @dependabot-preview[bot] chore(deps): bump gunicorn from 20.0.0 to 20.0.2 in /tests/apps/python-flask
- #3786: @dependabot-preview[bot] chore(deps): bump gunicorn from 20.0.0 to 20.0.2 in /tests/apps/multi
- #3748: @dependabot-preview[bot] chore(deps): [security] bump express from 2.5.11 to 4.17.1 in /tests/apps/dockerfile-dokku-scale
- #3749: @dependabot-preview[bot] chore(deps): [security] bump express from 2.5.11 to 4.17.1 in /tests/apps/nodejs-express-noappjson
- #3747: @dependabot-preview[bot] chore(deps): [security] bump express from 2.5.11 to 4.17.1 in /tests/apps/config
- #3746: @dependabot-preview[bot] chore(deps): [security] bump express from 2.5.11 to 4.17.1 in /tests/apps/dockerfile-procfile
- #3741: @dependabot-preview[bot] chore(deps): [security] bump express from 2.5.11 to 4.17.1 in /tests/apps/nodejs-express
- #3783: @dependabot-preview[bot] chore(deps): bump jetty-servlet from 9.4.23.v20191118 to 9.4.24.v20191120 in /tests/apps/java
- #3777: @dependabot-preview[bot] chore(deps): [security] bump symfony/http-kernel from 3.4.32 to 3.4.35 in /tests/apps/php
- #3774: @dependabot-preview[bot] chore(deps): bump gunicorn from 19.9.0 to 20.0.0 in /tests/apps/python-flask
- #3779: @dependabot-preview[bot] chore(deps): bump monolog/monolog from 1.25.1 to 1.25.2 in /tests/apps/php
- #3782: @dependabot-preview[bot] chore(deps): bump jetty-servlet from 9.4.22.v20191022 to 9.4.23.v20191118 in /tests/apps/java
## 0.19.9
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.9/bootstrap.sh
sudo DOKKU_TAG=v0.19.9 bash bootstrap.sh
```
### Bug Fixes
- #3781: @michaelshobbs Respect DOKKU_APP_USER in is_image_herokuish_based
### Other
- #3773: @dependabot-preview[bot] chore(deps): bump google.golang.org/grpc from 1.25.0 to 1.25.1 in /tests/apps/gogrpc
- #3772: @dependabot-preview[bot] chore(deps): bump gunicorn from 19.9.0 to 20.0.0 in /tests/apps/multi
- #3778: @dependabot-preview[bot] chore(deps): [security] bump symfony/http-foundation from 3.4.32 to 3.4.35 in /tests/apps/php
- #3768: @dependabot-preview[bot] chore(deps): bump google.golang.org/grpc from 1.24.0 to 1.25.0 in /tests/apps/gogrpc
## 0.19.8
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.8/bootstrap.sh
sudo DOKKU_TAG=v0.19.8 bash bootstrap.sh
```
## 0.19.7
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.7/bootstrap.sh
sudo DOKKU_TAG=v0.19.7 bash bootstrap.sh
```
### Documentation
- #3765: @znz Fix typo in desc of is_tls13_available
### Other
- #3739: @safeforge dokku run do not supports interactive mode.
- #3762: @dependabot-preview[bot] chore(deps): bump handlebars from 4.4.5 to 4.5.1 in /tests/apps/.websocket.disabled
## 0.19.6
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.6/bootstrap.sh
sudo DOKKU_TAG=v0.19.6 bash bootstrap.sh
```
### Other
- #3761: @pithyless Fix type-errors in dokku-installer.py
- #3759: @dependabot-preview[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 163 to 164 in /tests/apps/php
- #3758: @dependabot-preview[bot] chore(deps): bump jetty-servlet from 9.4.21.v20190926 to 9.4.22.v20191022 in /tests/apps/java
## 0.19.5
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.5/bootstrap.sh
sudo DOKKU_TAG=v0.19.5 bash bootstrap.sh
```
### Bug Fixes
- #3756: @jayjun Redirect missing key_file warning to stderr
## 0.19.4
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.4/bootstrap.sh
sudo DOKKU_TAG=v0.19.4 bash bootstrap.sh
```
### Bug Fixes
- #3755: @dean1012 Warn if key_file is missing on install but do not exit
## 0.19.3
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.3/bootstrap.sh
sudo DOKKU_TAG=v0.19.3 bash bootstrap.sh
```
### Bug Fixes
- #3753: @josegonzalez Always use python3 for the installer
### Other
- #3743: @dependabot-preview[bot] chore(deps): [security] bump express from 3.1.2 to 4.17.1 in /tests/apps/.websocket.disabled
- #3744: @dependabot-preview[bot] chore(deps): [security] bump handlebars from 1.0.12 to 4.4.5 in /tests/apps/.websocket.disabled
- #3750: @dependabot-preview[bot] chore(deps): [security] bump express from 2.5.11 to 4.17.1 in /tests/apps/dockerfile-procfile-bad
- #3745: @dependabot-preview[bot] chore(deps): [security] bump express from 3.3.8 to 4.17.1 in /tests/apps/gitsubmodules
- #3742: @dependabot-preview[bot] chore(deps): [security] bump express from 2.5.11 to 4.17.1 in /tests/apps/nodejs-express-noprocfile
- #3729: @dependabot-preview[bot] chore(deps): bump monolog/monolog from 1.12.0 to 1.25.1 in /tests/apps/php
- #3732: @dependabot-preview[bot] chore(deps): bump silex/silex from 1.2.3 to 2.2.4 in /tests/apps/php
- #3728: @dependabot-preview[bot] chore(deps): bump jetty-servlet from 7.6.0.v20120127 to 9.4.21.v20190926 in /tests/apps/java
- #3730: @dependabot-preview[bot] chore(deps): bump werkzeug from 0.15.6 to 0.16.0 in /tests/apps/python-flask
- #3737: @dependabot-preview[bot] chore(deps): bump express3-handlebars from 0.2.3 to 0.5.2 in /tests/apps/.websocket.disabled
- #3734: @dependabot-preview[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 59 to 163 in /tests/apps/php
- #3735: @dependabot-preview[bot] chore(deps): [security] bump symfony/http-kernel from 2.6.4 to 2.8.51 in /tests/apps/php
- #3723: @dependabot-preview[bot] chore(deps): bump sass-globbing from 1.1.1 to 1.1.5 in /tests/apps/multi
- #3731: @dependabot-preview[bot] chore(deps): bump jinja2 from 2.10.1 to 2.10.3 in /tests/apps/python-flask
- #3736: @dependabot-preview[bot] chore(deps): bump socket.io from 0.9.19 to 2.3.0 in /tests/apps/.websocket.disabled
- #3726: @dependabot-preview[bot] chore(deps): bump google.golang.org/grpc from 1.23.0 to 1.24.0 in /tests/apps/gogrpc
- #3727: @dependabot-preview[bot] chore(deps): bump maven-dependency-plugin from 2.4 to 3.1.1 in /tests/apps/java
- #3733: @dependabot-preview[bot] chore(deps): [security] bump symfony/http-foundation from 2.6.4 to 2.8.50 in /tests/apps/php
- #3720: @dependabot-preview[bot] chore(deps): bump compass from 1.0.1 to 1.0.3 in /tests/apps/multi
- #3721: @dependabot-preview[bot] chore(deps): bump sinatra from 1.4.4 to 1.4.8 in /tests/apps/ruby
- #3719: @dependabot-preview[bot] chore(deps): bump thin from 1.6.1 to 1.7.2 in /tests/apps/ruby
## 0.19.2
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.2/bootstrap.sh
sudo DOKKU_TAG=v0.19.2 bash bootstrap.sh
```
### Bug Fixes
- #3718: @josegonzalez Detect correct python binary to use
## 0.19.1
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.1/bootstrap.sh
sudo DOKKU_TAG=v0.19.1 bash bootstrap.sh
```
### Bug Fixes
- #3713: @josegonzalez Require nginx 1.13+ in order to enable tls1.3
## 0.19.0
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.19.0/bootstrap.sh
sudo DOKKU_TAG=v0.19.0 bash bootstrap.sh
```
### Bug Fixes
- #3688: @josegonzalez Correct shfmt issues
- #3684: @josegonzalez Do not push betafish releases to docker hub
- #3681: @josegonzalez Proper openresty support
### New Features
- #3687: @josegonzalez Add scheduler-post-run trigger
- #3702: @josegonzalez Cleanup build and destroy logging output
- #3693: @josegonzalez Remove ssh-keys user-auth trigger in favor of direct check in dokku binary
- #3691: @josegonzalez Silence trigger logging
- #3685: @josegonzalez Allow passing labels to one-off dokku containers
- #3680: @josegonzalez Follow updated intermediate recommendations from the Mozilla SSL Config Generator
- #3677: @josegonzalez Improve package build process
- #3679: @josegonzalez Allow keeping the git directory during builds
- #3577: @josegonzalez Use new-style docker management commands
- #3678: @josegonzalez Add container-type to run and deploy containers
- #3671: @josegonzalez Allow overriding checks doc url
- #3662: @leshik Improve nginx ciphers compatibility
- #3668: @josegonzalez Release latest docker image on release
- #3659: @fzerorubigd Add support for grpc/grpcs port forwarding
- #3690: @josegonzalez Add support for python3
### Documentation
- #3701: @limenet Docs / Getting Started: use HTTPS instead of SSH for clone
- #3699: @robhudson Add `dokku cleanup` to help output
- #3669: @josegonzalez Fix reference to CHECKS file location
### Tests
- #3670: @josegonzalez Upgrade all python test deps
## 0.18.5
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.18.5/bootstrap.sh
sudo DOKKU_TAG=v0.18.5 bash bootstrap.sh
```
### Bug Fixes
- #3704: @josegonzalez Fail nginx:build-config if the image does not exist
## 0.18.4
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.18.4/bootstrap.sh
sudo DOKKU_TAG=v0.18.4 bash bootstrap.sh
```
### Other
- #3703: @scjody Update DOKKU_SCALE from Procfile during ps:scale
## 0.18.3
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.18.3/bootstrap.sh
sudo DOKKU_TAG=v0.18.3 bash bootstrap.sh
```
### Bug Fixes
- #3660: @josegonzalez Trigger builder-release for dockerfile correctly
- #3655: @znz Fix filename of sshcommand tarball
- #3648: @josegonzalez Copy the deb file before creating the image
### New Features
- #3656: @josegonzalez Allow users to customize the container start command
- #3657: @josegonzalez Show error message when docker-related build commands fail
- #3654: @josegonzalez Update herokuish to 0.5.3
### Documentation
- #3652: @josegonzalez Correct issue in inspect call for issue template
## 0.18.2
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.18.2/bootstrap.sh
sudo DOKKU_TAG=v0.18.2 bash bootstrap.sh
```
### New Features
- #3645: @josegonzalez Use version in DOKKU_LIB_ROOT
- #3644: @josegonzalez Refactor temp file handling
- #3643: @josegonzalez Quiet deploy output
- #3641: @josegonzalez Pass SOURCECODE_WORK_DIR to build-buildpack triggers
- #3639: @josegonzalez Refer to upstream sshcommand package
### Documentation
- #3642: @josegonzalez Correct issue with label change in docs
- #3640: @josegonzalez Add missing popd to post-extract example
## 0.18.1
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.18.1/bootstrap.sh
sudo DOKKU_TAG=v0.18.1 bash bootstrap.sh
```
### New Features
- #3636: @josegonzalez Unify deb and rpm creation code
- #3635: @josegonzalez Upgrade herokuish to 0.5.2
## 0.18.0
Install/update via the bootstrap script:

View File

@@ -1,6 +1,10 @@
> If you're using Dokku - especially for commercial purposes - consider donating to project development via [OpenCollective](https://opencollective.com/dokku) or [Patreon](https://www.patreon.com/dokku). Funds go to general development, support, and infrastructure costs.
>
> If you'd like to sponsor specific functionality, see the project's [Sponsoring](https://github.com/dokku/.github/blob/master/SPONSORING.md) document.
>
> If you need help figuring out how to use a specific buildpack, or are having issues using multiple buildpacks, please see our [irc or slack channels](http://dokku.viewdocs.io/dokku/getting-started/where-to-get-help/#the-irc-and-slack-channels). Issues pertaining to buildpacks may be closed and locked.
>
> If you need support for a version of Dokku that is more than a year old, your issue may be closed without an answer. Please upgrade to a recent version.
## Description of problem
@@ -16,6 +20,8 @@
#### Expected Results
<-- Please replace APP_NAME with the name of your app -->
## Environment Information
### `dokku report APP_NAME` output
@@ -23,14 +29,14 @@
> This is required! Issues missing this information may be closed.
>
> For problems affecting all applications, the report output for a broken application is useful for our debugging.
> You may also run `dokku report` without any arguments to display the top-level reporting information.
> In these cases, you may run `dokku report` without any arguments to display the top-level reporting information.
### How (deb/make/rpm) and where (AWS, VirtualBox, physical, etc.) was Dokku installed?:
### Additional information
- Container Inspect Output (if applicable) via `dokku inspect APP_NAME`
- `cat /home/dokku/<app>/nginx.conf` (if applicable):
- Container Inspect Output (if applicable) via `dokku ps:inspect APP_NAME`
- The nginx configuration (if applicable) via `dokku nginx:show-config APP_NAME`
- Link to the exact repository being deployed (if possible/applicable):
- If a deploy is failing or behaving unexpectedly:
- Application name
@@ -39,4 +45,4 @@
- If using a `Dockerfile`, the contents of that file
- If it exists, the contents of your `Procfile`.
- Output of failing Dokku commands after running `dokku trace:on`
(BEWARE: `trace:on` will print environment variables for some commands, be sure you're not exposing any sensitive information when posting issues. You may replace these values with XXXXXXX):
(BEWARE: `trace:on` will print environment variables for some commands, be sure you're not exposing any sensitive information when posting issues. You may replace these values with XXXXXX):

View File

@@ -2,7 +2,8 @@ DOKKU_VERSION ?= master
PROCFILE_VERSION ?= 0.6.0
PLUGN_VERSION ?= 0.3.2
SSHCOMMAND_URL ?= https://raw.githubusercontent.com/dokku/sshcommand/v0.7.0/sshcommand
SSHCOMMAND_VERSION ?= 0.10.0
SSHCOMMAND_URL ?= https://github.com/dokku/sshcommand/releases/download/v${SSHCOMMAND_VERSION}/sshcommand_${SSHCOMMAND_VERSION}_linux_x86_64.tgz
PROCFILE_UTIL_URL ?= https://github.com/josegonzalez/go-procfile-util/releases/download/v${PROCFILE_VERSION}/procfile-util_${PROCFILE_VERSION}_linux_x86_64.tgz
PLUGN_URL ?= https://github.com/dokku/plugn/releases/download/v${PLUGN_VERSION}/plugn_${PLUGN_VERSION}_linux_x86_64.tgz
SIGIL_URL ?= https://github.com/gliderlabs/sigil/releases/download/v0.4.0/sigil_0.4.0_Linux_x86_64.tgz
@@ -107,10 +108,11 @@ addman: help2man man-db
mandb
version:
mkdir -p ${DOKKU_LIB_ROOT}
ifeq ($(DOKKU_VERSION),master)
git describe --tags > ~dokku/VERSION 2>/dev/null || echo '~${DOKKU_VERSION} ($(shell date -uIminutes))' > ~dokku/VERSION
git describe --tags > ${DOKKU_LIB_ROOT}/VERSION 2>/dev/null || echo '~${DOKKU_VERSION} ($(shell date -uIminutes))' > ${DOKKU_LIB_ROOT}/VERSION
else
echo $(DOKKU_VERSION) > ~dokku/VERSION
echo $(DOKKU_VERSION) > ${DOKKU_LIB_ROOT}/STABLE_VERSION
endif
plugin-dependencies: plugn procfile-util
@@ -119,12 +121,15 @@ plugin-dependencies: plugn procfile-util
plugins: plugn procfile-util docker
sudo -E dokku plugin:install --core
dependencies: apt-update sshcommand plugn procfile-util docker help2man man-db sigil dos2unix
dependencies: apt-update sshcommand plugn procfile-util docker help2man man-db sigil dos2unix jq
$(MAKE) -e stack
apt-update:
apt-get update -qq
jq:
apt-get install -qq -y jq
dos2unix:
apt-get install -qq -y dos2unix
@@ -135,8 +140,8 @@ man-db:
apt-get install -qq -y man-db
sshcommand:
wget -qO /usr/local/bin/sshcommand ${SSHCOMMAND_URL}
chmod +x /usr/local/bin/sshcommand
wget -qO /tmp/sshcommand_latest.tgz ${SSHCOMMAND_URL}
tar xzf /tmp/sshcommand_latest.tgz -C /usr/local/bin
sshcommand create dokku /usr/local/bin/dokku
procfile-util:
@@ -153,7 +158,7 @@ sigil:
docker:
apt-get install -qq -y curl
egrep -i "^docker" /etc/group || groupadd docker
grep -i -E "^docker" /etc/group || groupadd docker
usermod -aG docker dokku
ifndef CI
wget -nv -O - https://get.docker.com/ | sh
@@ -169,7 +174,7 @@ ifdef BUILD_STACK
@echo "Start building herokuish from source"
docker images | grep gliderlabs/herokuish || (git clone ${STACK_URL} /tmp/herokuish && cd /tmp/herokuish && IMAGE_NAME=gliderlabs/herokuish BUILD_TAG=latest VERSION=master make -e ${BUILD_STACK_TARGETS} && rm -rf /tmp/herokuish)
else
ifeq ($(shell echo ${PREBUILT_STACK_URL} | egrep -q 'http.*://|file://' && echo $$?),0)
ifeq ($(shell echo ${PREBUILT_STACK_URL} | grep -q -E 'http.*://|file://' && echo $$?),0)
@echo "Start importing herokuish from ${PREBUILT_STACK_URL}"
docker images | grep gliderlabs/herokuish || wget -nv -O - ${PREBUILT_STACK_URL} | gunzip -cd | docker import - gliderlabs/herokuish
else

View File

@@ -86,18 +86,21 @@ Support us with a monthly donation and help us continue our activities. [[Become
A fresh VM running any of the following operating systems:
- Ubuntu x64 - Any currently supported release
- Debian 8.2+ x64
- Ubuntu 16.04/18.04 x64 - Any currently supported release
- Debian 9+ x64
- CentOS 7 x64 *(experimental)*
- Arch Linux x64 *(experimental)*
An SSH keypair that can be used for application deployment. If this exists before installation, it will be automatically imported into dokku.
Otherwise, you will need to import the keypair manually after installation using `dokku ssh-keys:add`.
## Installation
To install the latest stable release, run the following commands as a user who has access to `sudo`:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.18.0/bootstrap.sh
sudo DOKKU_TAG=v0.18.0 bash bootstrap.sh
wget https://raw.githubusercontent.com/dokku/dokku/v0.20.2/bootstrap.sh
sudo DOKKU_TAG=v0.20.2 bash bootstrap.sh
```
You can then proceed to the ip address or domain name associated with your server to complete the web-based installation.

View File

@@ -3,7 +3,7 @@ set -eo pipefail
[[ $TRACE ]] && set -x
# A script to bootstrap dokku.
# It expects to be run on Ubuntu 14.04 via 'sudo'
# It expects to be run on Ubuntu 16.04/18.04, or CentOS 7 via 'sudo'
# If installing a tag higher than 0.3.13, it may install dokku via a package (so long as the package is higher than 0.3.13)
# It checks out the dokku source code from Github into ~/dokku and then runs 'make install' from dokku source.
@@ -12,13 +12,20 @@ set -eo pipefail
# That's good because it prevents our output overlapping with wget's.
# It also means that we can't run a partially downloaded script.
SUPPORTED_VERSIONS="Debian [9, 10], CentOS [7], Ubuntu [16.04, 18.04]"
log-fail() {
declare desc="log fail formatter"
echo "$@" 1>&2
exit 1
}
ensure-environment() {
local FREE_MEMORY
echo "Preparing to install $DOKKU_TAG from $DOKKU_REPO..."
hostname -f >/dev/null 2>&1 || {
echo "This installation script requires that you have a hostname set for the instance. Please set a hostname for 127.0.0.1 in your /etc/hosts"
exit 1
log-fail "This installation script requires that you have a hostname set for the instance. Please set a hostname for 127.0.0.1 in your /etc/hosts"
}
FREE_MEMORY=$(grep MemTotal /proc/meminfo | awk '{print $2}')
@@ -90,8 +97,7 @@ install-dokku-from-source() {
local DOKKU_CHECKOUT="$1"
if ! command -v apt-get &>/dev/null; then
echo "This installation script requires apt-get. For manual installation instructions, consult http://dokku.viewdocs.io/dokku/advanced-installation/"
exit 1
log-fail "This installation script requires apt-get. For manual installation instructions, consult http://dokku.viewdocs.io/dokku/advanced-installation/"
fi
apt-get -qq -y install git make software-properties-common
@@ -115,8 +121,7 @@ install-dokku-from-package() {
install-dokku-from-rpm-package "$@"
;;
*)
echo "Unsupported Linux distribution. For manual installation instructions, consult http://dokku.viewdocs.io/dokku/advanced-installation/"
exit 1
log-fail "Unsupported Linux distribution. For manual installation instructions, consult http://dokku.viewdocs.io/dokku/advanced-installation/"
;;
esac
}
@@ -136,6 +141,10 @@ install-dokku-from-deb-package() {
local NO_INSTALL_RECOMMENDS=${DOKKU_NO_INSTALL_RECOMMENDS:=""}
local OS_ID
if ! in-array "$DOKKU_DISTRO_VERSION" "16.04" "18.04" "9" "10"; then
log-fail "Unsupported Linux distribution. Only the following versions are supported: $SUPPORTED_VERSIONS"
fi
if [[ -n $DOKKU_DOCKERFILE ]]; then
NO_INSTALL_RECOMMENDS=" --no-install-recommends "
fi
@@ -156,26 +165,21 @@ install-dokku-from-deb-package() {
wget -nv -O - https://get.docker.com/ | sh
fi
if [[ "$DOKKU_DISTRO_VERSION" == "14.04" ]]; then
echo "--> Adding nginx PPA"
add-apt-repository -y ppa:nginx/stable
fi
OS_ID="$(lsb_release -cs 2>/dev/null || echo "trusty")"
OS_ID="$(lsb_release -cs 2>/dev/null || echo "bionic")"
if ! in-array "$DOKKU_DISTRO" "debian" "ubuntu"; then
DOKKU_DISTRO="ubuntu"
OS_ID="trusty"
OS_ID="bionic"
fi
if [[ "$DOKKU_DISTRO" == "ubuntu" ]]; then
OS_IDS=("trusty" "utopic" "vivid" "wily" "xenial" "yakkety" "zesty" "artful" "bionic")
OS_IDS=("xenial" "bionic")
if ! in-array "$OS_ID" "${OS_IDS[@]}"; then
OS_ID="trusty"
OS_ID="bionic"
fi
elif [[ "$DOKKU_DISTRO" == "debian" ]]; then
OS_IDS=("wheezy" "jessie" "stretch" "buster")
OS_IDS=("stretch" "buster")
if ! in-array "$OS_ID" "${OS_IDS[@]}"; then
OS_ID="stretch"
OS_ID="buster"
fi
fi
@@ -203,9 +207,8 @@ install-dokku-from-deb-package() {
install-dokku-from-rpm-package() {
local DOKKU_CHECKOUT="$1"
if [[ "$DOKKU_DISTRO_VERSION" != "7" ]]; then
echo "Only CentOS version 7 is supported."
exit 1
if ! in-array "$DOKKU_DISTRO_VERSION" "7"; then
log-fail "Unsupported Linux distribution. Only the following versions are supported: $SUPPORTED_VERSIONS"
fi
echo "--> Installing docker"

View File

@@ -1,4 +1,41 @@
GO_ARGS ?= -a
GO_REPO_ROOT := /go/src/github.com/dokku/dokku
BUILD_IMAGE := golang:1.12
.PHONY: build-in-docker build clean src-clean
build: $(BUILD)
build-in-docker: clean
mkdir -p /tmp/dokku-go-build-cache
docker run --rm \
-v $$PWD/../..:$(GO_REPO_ROOT) \
-v /tmp/dokku-go-build-cache:/root/.cache/go-build \
-e PLUGIN_NAME=$(PLUGIN_NAME) \
-w $(GO_REPO_ROOT)/plugins/$(PLUGIN_NAME) \
$(BUILD_IMAGE) \
bash -c "GO_ARGS='$(GO_ARGS)' make -j4 build" || exit $$?
clean:
rm -rf commands subcommands triggers prop
find . -xtype l -delete
commands: **/**/commands.go
go build -ldflags="-s -w" $(GO_ARGS) -o commands src/commands/commands.go
subcommands:
go build -ldflags="-s -w" $(GO_ARGS) -o subcommands/subcommands src/subcommands/subcommands.go
$(MAKE) $(SUBCOMMANDS)
subcommands/%:
ln -sf subcommands $@
src-clean:
rm -rf .gitignore src vendor Makefile *.go glide.*
triggers:
go build -ldflags="-s -w" $(GO_ARGS) -o triggers src/triggers/triggers.go
$(MAKE) $(TRIGGERS)
triggers/%:
ln -sf triggers $(shell echo $@ | cut -d '/' -f2)

View File

@@ -1,4 +1,4 @@
# bash completion for dd -*- shell-script -*-
# bash completion for dokku -*- shell-script -*-
_dokku_complete_verify() {
declare desc="shows bash completion"

View File

@@ -1,4 +1,4 @@
FROM ubuntu:14.04
FROM ubuntu:18.04
ENV DEBIAN_FRONTEND=noninteractive

View File

@@ -35,8 +35,7 @@ RUN PLUGIN_MAKE_TARGET=${PLUGIN_MAKE_TARGET} \
IS_RELEASE=${IS_RELEASE} \
SKIP_GO_CLEAN=true \
make version copyfiles \
&& rm -rf plugins/common/*.go plugins/common/glide* plugins/common/vendor/ \
&& make deb-dokku deb-sshcommand deb-sigil \
rpm-dokku rpm-sshcommand rpm-sigil
&& make deb-dokku deb-sigil \
rpm-dokku rpm-sigil
RUN ls -lha /tmp/

View File

@@ -16,7 +16,7 @@ def download_file(filename, url):
def upload_file(filename):
versions = [
"bionic",
"xenial"
]
cmd_template = "package_cloud push dokku/dokku/ubuntu/{0} {1}"
for version in versions:
@@ -26,7 +26,7 @@ def upload_file(filename):
def main():
auth = HTTPBasicAuth(PACKAGECLOUD_TOKEN, '')
base = requests.get('https://packagecloud.io/api/v1/repos/dokku/dokku/packages/deb/ubuntu/trusty.json',
base = requests.get('https://packagecloud.io/api/v1/repos/dokku/dokku/packages/deb/ubuntu/bionic.json',
auth=auth)
data = base.json()
urls = []
@@ -42,7 +42,7 @@ def main():
download_urls['downloads/' + version['filename']] = version['download_url']
for filename, download_url in download_urls.items():
print "downloading", filename
print("downloading {0}".format(filename))
download_file(filename, download_url)
upload_file(filename)

View File

@@ -1,23 +1,44 @@
#!/usr/bin/env python2.7
#!/usr/bin/env python3
import cgi
import json
import os
import re
import SimpleHTTPServer
import SocketServer
try:
import SimpleHTTPServer
import SocketServer
except ImportError:
import http.server as SimpleHTTPServer
import socketserver as SocketServer
import subprocess
import sys
import threading
VERSION = 'v0.18.0'
VERSION = 'v0.20.2'
def bytes_to_string(b):
if type(b) == bytes:
encoding = sys.stdout.encoding
if encoding is None:
encoding = 'utf-8'
b = b.decode(encoding)
b = b.strip()
return b
def string_to_bytes(s):
if type(s) == str:
encoding = sys.stdout.encoding
if encoding is None:
encoding = 'utf-8'
s = s.encode(encoding)
return s
hostname = ''
try:
command = "bash -c '[[ $(dig +short $HOSTNAME) ]] && echo $HOSTNAME || wget -q -O - icanhazip.com'"
hostname = subprocess.check_output(command, shell=True)
if ':' in hostname:
hostname = ''
hostname = bytes_to_string(subprocess.check_output(command, shell=True))
except subprocess.CalledProcessError:
pass
@@ -33,26 +54,37 @@ admin_keys = []
if os.path.isfile(key_file):
try:
command = "cat {0}".format(key_file)
admin_keys = subprocess.check_output(command, shell=True).strip().split("\n")
admin_keys = bytes_to_string(subprocess.check_output(command, shell=True)).strip().split("\n")
except subprocess.CalledProcessError:
pass
ufw_display = 'block'
try:
command = "sudo ufw status"
ufw_output = subprocess.check_output(command, shell=True).strip()
ufw_output = bytes_to_string(subprocess.check_output(command, shell=True).strip())
if "inactive" in ufw_output:
ufw_display = 'none'
except subprocess.CalledProcessError:
ufw_display = 'none'
nginx_dir = '/etc/nginx'
nginx_init = '/etc/init.d/nginx'
try:
command = "test -x /usr/bin/openresty"
subprocess.check_output(command, shell=True)
nginx_dir = '/usr/local/openresty/nginx/conf'
nginx_init = '/etc/init.d/openresty'
except subprocess.CalledProcessError:
pass
def check_boot():
if 'onboot' not in sys.argv:
return
init_dir = os.getenv('INIT_DIR', '/etc/init')
systemd_dir = os.getenv('SYSTEMD_DIR', '/etc/systemd/system')
nginx_dir = os.getenv('NGINX_DIR', '/etc/nginx/conf.d')
nginx_conf_dir = os.getenv('NGINX_CONF_DIR', '{0}/conf.d'.format(nginx_dir))
if os.path.exists(init_dir):
with open('{0}/dokku-installer.conf'.format(init_dir), 'w') as f:
@@ -69,8 +101,8 @@ def check_boot():
f.write("[Install]\n")
f.write("WantedBy=multi-user.target\n")
f.write("WantedBy=graphical.target\n")
if os.path.exists(nginx_dir):
with open('{0}/dokku-installer.conf'.format(nginx_dir), 'w') as f:
if os.path.exists(nginx_conf_dir):
with open('{0}/dokku-installer.conf'.format(nginx_conf_dir), 'w') as f:
f.write("upstream dokku-installer { server 127.0.0.1:2000; }\n")
f.write("server {\n")
f.write(" listen 80;\n")
@@ -79,11 +111,18 @@ def check_boot():
f.write(" }\n")
f.write("}\n")
subprocess.call('rm -f /etc/nginx/sites-enabled/*', shell=True)
subprocess.call('rm -f {0}/sites-enabled/*'.format(nginx_dir), shell=True)
sys.exit(0)
class GetHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
def write_content(self, content):
try:
self.wfile.write(content)
except TypeError:
self.wfile.write(string_to_bytes(content))
def do_GET(self):
content = PAGE.replace('{VERSION}', VERSION)
content = content.replace('{UFW_DISPLAY}', ufw_display)
@@ -92,7 +131,7 @@ class GetHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
content = content.replace('{ADMIN_KEYS}', "\n".join(admin_keys))
self.send_response(200)
self.end_headers()
self.wfile.write(content)
self.write_content(content)
def do_POST(self):
if self.path not in ['/setup', '/setup/']:
@@ -133,7 +172,10 @@ class GetHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
user = user + str(index)
command = ['sshcommand', 'acl-add', 'dokku', user]
proc = subprocess.Popen(command, stdin=subprocess.PIPE)
proc.stdin.write(key)
try:
proc.stdin.write(key)
except TypeError:
proc.stdin.write(string_to_bytes(key))
proc.stdin.close()
proc.wait()
@@ -146,9 +188,11 @@ class GetHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
if 'selfdestruct' in sys.argv:
DeleteInstallerThread()
content = json.dumps({'status': 'ok'})
self.send_response(200)
self.end_headers()
self.wfile.write(json.dumps({'status': 'ok'}))
self.write_content(content)
def web_admin_user_exists(self):
return self.user_exists('web-admin(\d+)')
@@ -163,11 +207,11 @@ class GetHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
max_num = 0
exists = False
for line in proc.stdout:
m = pattern.search(line)
m = pattern.search(bytes_to_string(line))
if m:
# User of the form `user` or `user#` exists
exists = True
max_num = max(max_num, m.group(1))
max_num = max(max_num, int(m.group(1)))
if exists:
return max_num
else:
@@ -203,7 +247,7 @@ class DeleteInstallerThread(object):
thread.start()
def run(self):
command = "rm /etc/nginx/conf.d/dokku-installer.conf && /etc/init.d/nginx stop && /etc/init.d/nginx start"
command = "rm {0}/conf.d/dokku-installer.conf && {1} stop && {1} start".format(nginx_dir, nginx_init)
try:
subprocess.call(command, shell=True)
except:
@@ -221,7 +265,7 @@ def main():
port = int(os.getenv('PORT', 2000))
httpd = SocketServer.TCPServer(("", port), GetHandler)
print "Listening on 0.0.0.0:{0}, CTRL+C to stop".format(port)
print("Listening on 0.0.0.0:{0}, CTRL+C to stop".format(port))
httpd.serve_forever()

View File

@@ -3,7 +3,7 @@ set -eo pipefail
[[ $TRACE ]] && set -x
readonly ROOT_DIR="$(cd "$(dirname "$(dirname "${BASH_SOURCE[0]}")")" && pwd)"
readonly TMP_WORK_DIR="$(mktemp -d "/tmp/dokku-release.XXXX")"
readonly TMP_WORK_DIR="$(mktemp -d "/tmp/dokku-release.XXXXXX")"
readonly DOKKU_GIT_REV="$(git rev-parse HEAD)"
trap 'rm -rf "$TMP_WORK_DIR" >/dev/null' RETURN INT TERM EXIT
@@ -136,7 +136,7 @@ fn-publish-package() {
[[ "$RELEASE_TYPE" == "rpm" ]] && DIST=el/7
if [[ "$DIST" == "ubuntu" ]]; then
OS_IDS=("trusty" "utopic" "vivid" "wily" "xenial" "yakkety" "zesty" "artful" "bionic")
OS_IDS=("xenial" "bionic")
for OS_ID in "${OS_IDS[@]}"; do
log-info "(release-dokku) pushing ${RELEASE_TYPE} to packagecloud.com/${REPOSITORY}/${DIST}"
package_cloud push "${REPOSITORY}/${DIST}/${OS_ID}" "$PACKAGE_NAME"
@@ -147,7 +147,7 @@ fn-publish-package() {
done
DIST=debian
OS_IDS=("wheezy" "jessie" "stretch" "buster")
OS_IDS=("stretch" "buster")
for OS_ID in "${OS_IDS[@]}"; do
log-info "(release-dokku) pushing ${RELEASE_TYPE} to packagecloud.com/${REPOSITORY}/${DIST}"
package_cloud push "${REPOSITORY}/${DIST}/${OS_ID}" "$PACKAGE_NAME"
@@ -323,7 +323,6 @@ fn-build-docker-image() {
declare desc="Builds the dokku docker image and tags it with the given version"
declare VERSION="$1"
docker build -t "dokku/dokku:$VERSION" .
docker push "dokku/dokku:$VERSION"
}
main() {
@@ -363,18 +362,26 @@ main() {
fn-build-dokku "$IS_RELEASE" "$NEXT_VERSION" || log-fail "Error building package"
fn-extract-package "$IS_RELEASE" "dokku_${NEXT_VERSION}_amd64.deb" || log-fail "Error extracting deb package"
fn-extract-package "$IS_RELEASE" "dokku-${NEXT_VERSION}-1.x86_64.rpm" || log-fail "Error extracting rpm package"
cp -f "build/dokku_${NEXT_VERSION}_amd64.deb" build/dokku.deb
if [[ "$RELEASE" != "build" ]]; then
if [[ "$RELEASE" == "build" ]]; then
fn-build-docker-image "latest" || log-fail "Error building docker image"
else
fn-publish-package "$IS_RELEASE" "deb" "build/dokku_${NEXT_VERSION}_amd64.deb" || log-fail "Error publishing deb package"
fn-publish-package "$IS_RELEASE" "rpm" "build/dokku-${NEXT_VERSION}-1.x86_64.rpm" || log-fail "Error publishing rpm package"
fn-build-docker-image "$NEXT_VERSION" || log-fail "Error building docker image"
if [[ "$IS_RELEASE" == "true" ]]; then
docker tag "dokku/dokku:$NEXT_VERSION" "dokku/dokku:latest"
docker push "dokku/dokku:$NEXT_VERSION"
docker push "dokku/dokku:latest"
fi
fn-repo-push-tags "$IS_RELEASE"
fi
if [[ "$IS_RELEASE" != "true" ]]; then
git reset -q HEAD plugins/*/plugin.toml
git checkout -- plugins/*/plugin.toml
cp "build/dokku_${NEXT_VERSION}_amd64.deb" build/dokku.deb
fi
echo "build/dokku_${NEXT_VERSION}_amd64.deb" >build/deb-filename

View File

@@ -3,7 +3,7 @@ set -eo pipefail
[[ $TRACE ]] && set -x
readonly ROOT_DIR="$(cd "$(dirname "$(dirname "${BASH_SOURCE[0]}")")" && pwd)"
readonly TMP_WORK_DIR="$(mktemp -d "/tmp/dokku-release.XXXX")"
readonly TMP_WORK_DIR="$(mktemp -d "/tmp/dokku-release.XXXXXX")"
readonly DOKKU_GIT_REV="$(git rev-parse HEAD)"
trap 'rm -rf "$TMP_WORK_DIR" >/dev/null' RETURN INT TERM EXIT
@@ -61,7 +61,7 @@ fn-publish-package() {
[[ "$RELEASE_TYPE" == "rpm" ]] && DIST=el/7
if [[ "$DIST" == "ubuntu" ]]; then
OS_IDS=("trusty" "utopic" "vivid" "wily" "xenial" "yakkety" "zesty" "artful" "bionic")
OS_IDS=("xenial" "bionic")
for OS_ID in "${OS_IDS[@]}"; do
log-info "(release-dokku-update) pushing ${RELEASE_TYPE} to packagecloud.com/${REPOSITORY}/${DIST}"
package_cloud push "${REPOSITORY}/${DIST}/${OS_ID}" "$PACKAGE_NAME"
@@ -72,7 +72,7 @@ fn-publish-package() {
done
DIST=debian
OS_IDS=("wheezy" "jessie" "stretch" "buster")
OS_IDS=("stretch" "buster")
for OS_ID in "${OS_IDS[@]}"; do
log-info "(release-dokku-update) pushing ${RELEASE_TYPE} to packagecloud.com/${REPOSITORY}/${DIST}"
package_cloud push "${REPOSITORY}/${DIST}/${OS_ID}" "$PACKAGE_NAME"

View File

@@ -3,7 +3,7 @@ set -eo pipefail
[[ $TRACE ]] && set -x
readonly ROOT_DIR="$(cd "$(dirname "$(dirname "${BASH_SOURCE[0]}")")" && pwd)"
readonly TMP_WORK_DIR="$(mktemp -d "/tmp/dokku-release.XXXX")"
readonly TMP_WORK_DIR="$(mktemp -d "/tmp/dokku-release.XXXXXX")"
readonly DOKKU_GIT_REV="$(git rev-parse HEAD)"
trap 'rm -rf "$TMP_WORK_DIR" >/dev/null' RETURN INT TERM EXIT
@@ -61,7 +61,7 @@ fn-publish-package() {
[[ "$RELEASE_TYPE" == "rpm" ]] && DIST=el/7
if [[ "$DIST" == "ubuntu" ]]; then
OS_IDS=("trusty" "utopic" "vivid" "wily" "xenial" "yakkety" "zesty" "artful" "bionic")
OS_IDS=("xenial" "bionic")
for OS_ID in "${OS_IDS[@]}"; do
log-info "(release-herokuish) pushing ${RELEASE_TYPE} to packagecloud.com/${REPOSITORY}/${DIST}"
package_cloud push "${REPOSITORY}/${DIST}/${OS_ID}" "$PACKAGE_NAME"
@@ -72,7 +72,7 @@ fn-publish-package() {
done
DIST=debian
OS_IDS=("wheezy" "jessie" "stretch" "buster")
OS_IDS=("stretch" "buster")
for OS_ID in "${OS_IDS[@]}"; do
log-info "(release-herokuish) pushing ${RELEASE_TYPE} to packagecloud.com/${REPOSITORY}/${DIST}"
package_cloud push "${REPOSITORY}/${DIST}/${OS_ID}" "$PACKAGE_NAME"

View File

@@ -2,7 +2,7 @@
set -eo pipefail
[[ $TRACE ]] && set -x
readonly TMP_WORK_DIR="$(mktemp -d "/tmp/dokku-plugin-release.XXXX")"
readonly TMP_WORK_DIR="$(mktemp -d "/tmp/dokku-plugin-release.XXXXXX")"
trap 'rm -rf "$TMP_WORK_DIR" >/dev/null' RETURN INT TERM EXIT

44
deb.mk
View File

@@ -2,7 +2,7 @@ BUILD_DIRECTORY ?= /tmp
HEROKUISH_DESCRIPTION = 'Herokuish uses Docker and Buildpacks to build applications like Heroku'
HEROKUISH_REPO_NAME ?= gliderlabs/herokuish
HEROKUISH_VERSION ?= 0.5.0
HEROKUISH_VERSION ?= 0.5.11
HEROKUISH_ARCHITECTURE = amd64
HEROKUISH_PACKAGE_NAME = herokuish_$(HEROKUISH_VERSION)_$(HEROKUISH_ARCHITECTURE).deb
@@ -16,17 +16,6 @@ DOKKU_UPDATE_VERSION ?= 0.1.0
DOKKU_UPDATE_ARCHITECTURE = amd64
DOKKU_UPDATE_PACKAGE_NAME = dokku-update_$(DOKKU_UPDATE_VERSION)_$(DOKKU_UPDATE_ARCHITECTURE).deb
define SSHCOMMAND_DESCRIPTION
Turn SSH into a thin client specifically for your app
Simplifies running a single command over SSH, and
manages authorized keys (ACL) and users in order to do so.
endef
SSHCOMMAND_REPO_NAME ?= dokku/sshcommand
SSHCOMMAND_VERSION ?= 0.7.0
SSHCOMMAND_ARCHITECTURE = amd64
SSHCOMMAND_PACKAGE_NAME = sshcommand_$(SSHCOMMAND_VERSION)_$(SSHCOMMAND_ARCHITECTURE).deb
SSHCOMMAND_URL ?= https://raw.githubusercontent.com/dokku/sshcommand/v$(SSHCOMMAND_VERSION)/sshcommand
define SIGIL_DESCRIPTION
Standalone string interpolator and template processor
Sigil is a command line tool for template processing
@@ -45,9 +34,8 @@ ifndef IS_RELEASE
endif
export SIGIL_DESCRIPTION
export SSHCOMMAND_DESCRIPTION
.PHONY: install-from-deb deb-all deb-herokuish deb-dokku deb-dokku-update deb-setup deb-sshcommand deb-sigil
.PHONY: install-from-deb deb-all deb-herokuish deb-dokku deb-dokku-update deb-setup deb-sigil
install-from-deb:
@echo "--> Initial apt-get update"
@@ -59,11 +47,11 @@ install-from-deb:
@echo "--> Installing dokku"
wget -nv -O - https://packagecloud.io/dokku/dokku/gpgkey | apt-key add -
@echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ $(shell lsb_release -cs 2>/dev/null || echo "trusty") main" | sudo tee /etc/apt/sources.list.d/dokku.list
@echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ $(shell lsb_release -cs 2>/dev/null || echo "bionic") main" | sudo tee /etc/apt/sources.list.d/dokku.list
sudo apt-get update -qq >/dev/null
sudo DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true apt-get install -yy dokku
deb-all: deb-setup deb-herokuish deb-dokku deb-sshcommand deb-sigil deb-dokku-update
deb-all: deb-setup deb-herokuish deb-dokku deb-sigil deb-dokku-update
mv $(BUILD_DIRECTORY)/*.deb .
@echo "Done"
@@ -129,30 +117,6 @@ deb-dokku-update:
contrib/dokku-update=/usr/local/bin/dokku-update \
contrib/dokku-update-version=/var/lib/dokku-update/VERSION
deb-sshcommand:
rm -rf /tmp/tmp /tmp/build $(SSHCOMMAND_PACKAGE_NAME)
mkdir -p /tmp/tmp /tmp/build /tmp/build/usr/local/bin
@echo "-> Downloading package"
wget -q -O /tmp/tmp/sshcommand-$(SSHCOMMAND_VERSION) $(SSHCOMMAND_URL)
@echo "-> Copying files into place"
mkdir -p "/tmp/build/usr/local/bin"
cp /tmp/tmp/sshcommand-$(SSHCOMMAND_VERSION) /tmp/build/usr/local/bin/sshcommand
chmod +x /tmp/build/usr/local/bin/sshcommand
@echo "-> Creating $(SSHCOMMAND_PACKAGE_NAME)"
sudo fpm -t deb -s dir -C /tmp/build -n sshcommand \
--version $(SSHCOMMAND_VERSION) \
--architecture $(SSHCOMMAND_ARCHITECTURE) \
--package $(BUILD_DIRECTORY)/$(SSHCOMMAND_PACKAGE_NAME) \
--url "https://github.com/$(SSHCOMMAND_REPO_NAME)" \
--maintainer "Jose Diaz-Gonzalez <dokku@josediazgonzalez.com>" \
--category admin \
--description "$$SSHCOMMAND_DESCRIPTION" \
--license 'MIT License' \
.
deb-sigil:
rm -rf /tmp/tmp /tmp/build $(SIGIL_PACKAGE_NAME)
mkdir -p /tmp/tmp /tmp/build /tmp/build/usr/bin

8
debian/control vendored
View File

@@ -1,11 +1,11 @@
Package: dokku
Version: 0.18.0
Version: 0.20.2
Section: web
Priority: optional
Architecture: amd64
Depends: locales, git, curl, man-db, netcat, sshcommand (>= 0.6.0), gliderlabs-sigil, docker-engine-cs (>= 1.7.1) | docker-engine (>= 1.7.1) | docker-io (>= 1.7.1) | docker.io (>= 1.7.1) | docker-ce | docker-ee, net-tools, software-properties-common, procfile-util, python-software-properties | python3-software-properties, rsyslog, dos2unix
Recommends: herokuish (>= 0.3.4), parallel, dokku-update
Pre-Depends: nginx (>= 1.8.0) | openresty, dnsutils, cgroupfs-mount | cgroup-lite, plugn (>= 0.3.0), sudo, python2.7, debconf
Depends: locales, git, cpio, curl, man-db, netcat, sshcommand (>= 0.10.0), gliderlabs-sigil, docker-engine-cs (>= 1.13.0) | docker-engine (>= 1.13.0) | docker-io (>= 1.13.0) | docker.io (>= 1.13.0) | docker-ce (>= 1.13.0) | docker-ee (>= 1.13.0), net-tools, software-properties-common, procfile-util, python-software-properties | python3-software-properties, rsyslog, dos2unix, jq
Recommends: herokuish (>= 0.3.4), parallel, dokku-update, dokku-event-listener
Pre-Depends: nginx (>= 1.8.0) | openresty, dnsutils, cgroupfs-mount | cgroup-lite, plugn (>= 0.3.0), sudo, python3, debconf
Maintainer: Jose Diaz-Gonzalez <dokku@josediazgonzalez.com>
Description: Docker-powered PaaS that helps build and manage the lifecycle of applications
Dokku is an extensible, open source Platform as a Service

View File

@@ -1,5 +1,5 @@
dokku: command-with-path-in-maintainer-script postinst:16 /usr/bin/sshcommand
dokku: maintainer-script-calls-systemctl postinst:87
dokku: command-with-path-in-maintainer-script postinst:22 /usr/bin/sshcommand
dokku: maintainer-script-calls-systemctl postinst:98
dokku: changelog-file-missing-in-native-package
dokku: statically-linked-binary
dokku: unstripped-binary-or-object
@@ -10,3 +10,6 @@ dokku: hardening-no-relro
# Built golang binaries link to libc
dokku: missing-dependency-on-libc
# Temporary python dependency until #2247 is resolved
dokku: python-script-but-no-python-dep usr/share/dokku/contrib/dokku-installer.py

220
debian/postinst vendored
View File

@@ -26,6 +26,124 @@ call-sshcommand() {
fi
}
setup-user() {
echo "Setting up dokku user"
call-sshcommand create dokku /usr/bin/dokku
grep -i -E "^docker" /etc/group || groupadd docker
usermod -aG docker dokku
mkdir -p "$DOKKU_ROOT/.ssh" "$DOKKU_ROOT/.dokkurc"
touch "$DOKKU_ROOT/.ssh/authorized_keys"
chown -R dokku:dokku "$DOKKU_ROOT/.ssh" "${DOKKU_ROOT}/.dokkurc"
}
setup-storage() {
echo "Setting up storage directories"
mkdir -p "${DOKKU_LIB_ROOT}/data" "${DOKKU_LIB_ROOT}/data/storage"
chown dokku:dokku "${DOKKU_LIB_ROOT}/data"
}
setup-plugins() {
echo "Setting up plugin directories"
# should be replaced by `plugn init`
mkdir -p "${DOKKU_LIB_ROOT}/core-plugins/available" "${DOKKU_LIB_ROOT}/plugins/available"
mkdir -p "${DOKKU_LIB_ROOT}/core-plugins/enabled" "${DOKKU_LIB_ROOT}/plugins/enabled"
touch "${DOKKU_LIB_ROOT}/core-plugins/config.toml" "${DOKKU_LIB_ROOT}/plugins/config.toml"
echo "Migrating old plugins"
find ${DOKKU_LIB_ROOT}/plugins/ -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | while read -r plugin; do
if [ "$plugin" = "available" ] || [ "$plugin" = "enabled" ]; then
continue
elif [ -f ${DOKKU_LIB_ROOT}/plugins/$plugin/.core ]; then
rm -rf ${DOKKU_LIB_ROOT}/plugins/$plugin
elif [ ! -d ${DOKKU_LIB_ROOT}/plugins/available/$plugin ]; then
mv ${DOKKU_LIB_ROOT}/plugins/$plugin ${DOKKU_LIB_ROOT}/plugins/available
fi
done
db_get "dokku/nginx_enable"
echo "Enabling all core plugins"
find "${DOKKU_LIB_ROOT}/core-plugins/available" -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | while read -r plugin; do
if [ "$plugin" = "nginx-vhosts" ] && [ "$RET" = "false" ]; then
echo "Skipping enable of nginx-vhosts plugin"
continue
elif [ ! -d "${DOKKU_LIB_ROOT}/plugins/available/$plugin" ]; then
ln -s "${DOKKU_LIB_ROOT}/core-plugins/available/$plugin" "${DOKKU_LIB_ROOT}/plugins/available/$plugin"
PLUGIN_PATH="${DOKKU_LIB_ROOT}/core-plugins" plugn enable "$plugin"
PLUGIN_PATH="${DOKKU_LIB_ROOT}/plugins" plugn enable "$plugin"
fi
done
find -L "${DOKKU_LIB_ROOT}" -type l -delete
chown dokku:dokku -R "${DOKKU_LIB_ROOT}/plugins" "${DOKKU_LIB_ROOT}/core-plugins"
echo "Install all core plugins"
dokku plugin:install --core
}
setup-sshcommand() {
echo "Ensure proper sshcommand path"
echo '/usr/bin/dokku' >"${DOKKU_ROOT}/.sshcommand"
if [[ -f .ssh/authorized_keys ]]; then
sed -i.bak 's#/usr/local/bin/dokku#/usr/bin/dokku#' "${DOKKU_ROOT}/.ssh/authorized_keys"
rm "${DOKKU_ROOT}/.ssh/authorized_keys"
fi
}
setup-dokku-installer() {
NGINX_ROOT="/etc/nginx"
[[ -x /usr/bin/openresty ]] && NGINX_ROOT="/usr/local/openresty/nginx/conf"
if command -v "python3" &>/dev/null; then
sed -i '1 s/^.*$/#!\/usr\/bin\/env python3/' /usr/share/dokku/contrib/dokku-installer.py
elif command -v "python2.7" &>/dev/null; then
sed -i '1 s/^.*$/#!\/usr\/bin\/env python2.7/' /usr/share/dokku/contrib/dokku-installer.py
fi
if [[ -f "$NGINX_ROOT/conf.d/dokku-installer.conf" ]]; then
echo "Setting up dokku-installer"
/usr/share/dokku/contrib/dokku-installer.py onboot
if command -v systemctl &>/dev/null; then
echo "Enabling dokku-installer"
systemctl enable dokku-installer
fi
installer_status="$(service dokku-installer status 2>/dev/null || true)"
if echo $installer_status | grep -Eq "(inactive|waiting)" >/dev/null; then
echo "Starting dokku-installer"
service dokku-installer start || echo "Unable to start dokku-installer"
fi
fi
}
dpkg-handling() {
db_get "dokku/web_config"
if [ "$RET" = "true" ]; then
db_stop
exit 0
fi
if [ -f "${DOKKU_ROOT}/VHOST" ]; then
echo "VHOST file detected, skipping modification"
else
db_get "dokku/vhost_enable"
if [ "$RET" = "true" ]; then
db_get "dokku/hostname"
echo "Setting VHOST contents to $RET"
echo "$RET" >"${DOKKU_ROOT}/VHOST"
fi
fi
db_get "dokku/hostname"
echo "$RET" >"${DOKKU_ROOT}/HOSTNAME"
if [ -z "${DEBCONF_RECONFIGURE}" ]; then
db_get "dokku/key_file"
if [ -f "$RET" ]; then
call-sshcommand acl-add dokku default <"$RET" || true
fi
fi
}
case "$1" in
abort-upgrade | abort-remove | abort-deconfigure) ;;
@@ -36,103 +154,13 @@ case "$1" in
if [[ -f /sbin/modprobe ]]; then
modprobe aufs || echo "WARNING: Restart server to finish installing dokku!"
fi
call-sshcommand create dokku /usr/bin/dokku
egrep -i "^docker" /etc/group || groupadd docker
usermod -aG docker dokku
mkdir -p ${DOKKU_ROOT}/.dokkurc
echo "Setting up storage directories"
mkdir -p ${DOKKU_LIB_ROOT}/data ${DOKKU_LIB_ROOT}/data/storage
chown dokku:dokku ${DOKKU_LIB_ROOT}/data ${DOKKU_LIB_ROOT}/data/storage
echo "Setting up plugin directories"
# should be replaced by `plugn init`
mkdir -p ${DOKKU_LIB_ROOT}/core-plugins/available ${DOKKU_LIB_ROOT}/plugins/available
mkdir -p ${DOKKU_LIB_ROOT}/core-plugins/enabled ${DOKKU_LIB_ROOT}/plugins/enabled
touch ${DOKKU_LIB_ROOT}/core-plugins/config.toml ${DOKKU_LIB_ROOT}/plugins/config.toml
echo "Migrating old plugins"
find ${DOKKU_LIB_ROOT}/plugins/ -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | while read -r plugin; do
if [ "$plugin" = "available" ] || [ "$plugin" = "enabled" ]; then
continue
elif [ -f ${DOKKU_LIB_ROOT}/plugins/$plugin/.core ]; then
rm -rf ${DOKKU_LIB_ROOT}/plugins/$plugin
elif [ ! -d ${DOKKU_LIB_ROOT}/plugins/available/$plugin ]; then
mv ${DOKKU_LIB_ROOT}/plugins/$plugin ${DOKKU_LIB_ROOT}/plugins/available
fi
done
db_get "dokku/nginx_enable"
echo "Enabling all core plugins"
find ${DOKKU_LIB_ROOT}/core-plugins/available -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | while read -r plugin; do
if [ "$plugin" = "nginx-vhosts" ] && [ "$RET" = "false" ]; then
echo "Skipping enable of nginx-vhosts plugin"
continue
elif [ ! -d ${DOKKU_LIB_ROOT}/plugins/available/$plugin ]; then
ln -s ${DOKKU_LIB_ROOT}/core-plugins/available/$plugin ${DOKKU_LIB_ROOT}/plugins/available/$plugin
PLUGIN_PATH=${DOKKU_LIB_ROOT}/core-plugins plugn enable $plugin
PLUGIN_PATH=${DOKKU_LIB_ROOT}/plugins plugn enable $plugin
fi
done
find -L ${DOKKU_LIB_ROOT} -type l -delete
chown dokku:dokku -R ${DOKKU_LIB_ROOT}/plugins ${DOKKU_LIB_ROOT}/core-plugins
echo "Ensure proper sshcommand path"
echo '/usr/bin/dokku' >"${DOKKU_ROOT}/.sshcommand"
if [[ -f .ssh/authorized_keys ]]; then
sed -i.bak 's#/usr/local/bin/dokku#/usr/bin/dokku#' "${DOKKU_ROOT}/.ssh/authorized_keys"
rm "${DOKKU_ROOT}/.ssh/authorized_keys"
fi
echo "Install all core plugins"
dokku plugin:install --core
rm -f ${DOKKU_ROOT}/VERSION
cp ${DOKKU_LIB_ROOT}/STABLE_VERSION ${DOKKU_ROOT}/VERSION
if [[ -f /etc/nginx/conf.d/dokku-installer.conf ]]; then
echo "Setting up dokku-installer"
/usr/share/dokku/contrib/dokku-installer.py onboot
if command -v systemctl &>/dev/null; then
echo "Enabling dokku-installer"
systemctl enable dokku-installer
fi
installer_status="$(service dokku-installer status 2>/dev/null || true)"
if echo $installer_status | grep -Eq "(inactive|waiting)" >/dev/null; then
echo "Starting dokku-installer"
service dokku-installer start || echo "Unable to start dokku-installer"
fi
fi
db_get "dokku/web_config"
if [ "$RET" = "true" ]; then
db_stop
exit 0
fi
if [ -f "${DOKKU_ROOT}/VHOST" ]; then
echo "VHOST file detected, skipping modification"
else
db_get "dokku/vhost_enable"
if [ "$RET" = "true" ]; then
db_get "dokku/hostname"
echo "Setting VHOST contents to $RET"
echo "$RET" >"${DOKKU_ROOT}/VHOST"
fi
fi
db_get "dokku/hostname"
echo "$RET" >"${DOKKU_ROOT}/HOSTNAME"
if [ -z "${DEBCONF_RECONFIGURE}" ]; then
db_get "dokku/key_file"
if [ -f "$RET" ]; then
call-sshcommand acl-add dokku default <"$RET" || true
fi
fi
setup-user
setup-storage
setup-plugins
setup-sshcommand
setup-dokku-installer
dpkg-handling
;;
*)

2
debian/postrm vendored
View File

@@ -28,6 +28,8 @@ main() {
fi
if [[ "$1" == "purge" ]]; then
rm -f /usr/local/openresty/nginx/conf/conf.d/dokku.conf
rm -f /usr/local/openresty/nginx/conf/conf.d/dokku-installer.conf
rm -f /etc/nginx/conf.d/dokku.conf
rm -f /etc/nginx/conf.d/dokku-installer.conf
rm -f ${DOKKU_ROOT}/.dokkurc ${DOKKU_ROOT}/dokkurc ${DOKKU_ROOT}/tls

79
debian/preinst vendored
View File

@@ -7,51 +7,62 @@ if [[ -e /usr/share/debconf/confmodule ]]; then
. /usr/share/debconf/confmodule
fi
setup_dokku_installer() {
NGINX_BASE_PATH="$1"
NGINX_INIT_NAME="$2"
NGINX_CONF="${NGINX_BASE_PATH}/conf.d/dokku-installer.conf"
rm -f $NGINX_CONF
touch $NGINX_CONF
{
echo 'upstream dokku-installer { server 127.0.0.1:2000; }'
echo 'server {'
echo ' listen 80;'
echo ' location / {'
echo ' proxy_pass http://dokku-installer;'
echo ' }'
echo '}'
} >>$NGINX_CONF
rm -f $NGINX_BASE_PATH/sites-enabled/*
DOKKU_DISTRO="$(
. /etc/os-release >/dev/null 2>&1 || true
echo "$ID"
)"
case "$DOKKU_DISTRO" in
debian)
/usr/sbin/invoke-rc.d "$NGINX_INIT_NAME" reload || /usr/sbin/invoke-rc.d "$NGINX_INIT_NAME" start
;;
ubuntu)
if [[ -x /usr/bin/sv ]]; then
/usr/bin/sv reload "$NGINX_INIT_NAME" || /usr/bin/sv start "$NGINX_INIT_NAME"
else
"/etc/init.d/$NGINX_INIT_NAME" reload || "/etc/init.d/$NGINX_INIT_NAME" start
fi
;;
esac
}
case "$1" in
install)
db_get "dokku/web_config"
if [ "$RET" = "true" ]; then
NGINX_CONF="/etc/nginx/conf.d/dokku-installer.conf"
rm -f $NGINX_CONF
touch $NGINX_CONF
{
echo 'upstream dokku-installer { server 127.0.0.1:2000; }'
echo 'server {'
echo ' listen 80;'
echo ' location / {'
echo ' proxy_pass http://dokku-installer;'
echo ' }'
echo '}'
} >>$NGINX_CONF
rm -f /etc/nginx/sites-enabled/*
DOKKU_DISTRO="$(
. /etc/os-release >/dev/null 2>&1 || true
echo "$ID"
)"
case "$DOKKU_DISTRO" in
debian)
NGINX_INIT="/usr/sbin/invoke-rc.d"
"$NGINX_INIT" nginx reload || "$NGINX_INIT" nginx start
;;
ubuntu)
NGINX_INIT="/etc/init.d/nginx"
"$NGINX_INIT" reload || "$NGINX_INIT" start
;;
esac
exit 0
if [[ -x /usr/bin/openresty ]]; then
setup_dokku_installer "/usr/local/openresty/nginx/conf" "openresty"
else
setup_dokku_installer "/etc/nginx" "nginx"
fi
fi
db_get "dokku/skip_key_file"
if [ -z "${DEBCONF_RECONFIGURE}" ] && [ "$RET" != "true" ]; then
db_get "dokku/key_file"
if [ ! -f "$RET" ]; then
echo "Error: keyfile '$RET' not found."
echo " you can enter a new keyfile path when you restart the installation."
echo "Error: keyfile '$RET' not found." >&2
echo " To deploy, you will need to generate a keypair and add with 'dokku ssh-keys:add'." >&2
db_reset "dokku/key_file"
exit 1
fi
fi
;;

View File

@@ -13,6 +13,8 @@ log-fail() {
}
main() {
local NGINX_ROOT
if [[ ! -d /mnt/dokku ]]; then
log-info "Creating missing /mnt/dokku"
mkdir -p /mnt/dokku
@@ -49,14 +51,23 @@ main() {
echo "export DOCKER_BIN=/usr/local/bin/docker" >"/home/dokku/.dokkurc/DOCKER_BIN"
fi
if [[ ! -f /mnt/dokku/etc/nginx/dhparam.pem ]]; then
mkdir -p /mnt/dokku/etc/nginx
openssl dhparam -out /mnt/dokku/etc/nginx/dhparam.pem 2048
NGINX_ROOT="/etc/nginx"
if [[ -x /usr/bin/openresty ]]; then
NGINX_ROOT="/usr/local/openresty/nginx/conf"
rm -rf /etc/runit/runsvdir/default/nginx
else
rm -rf /etc/runit/runsvdir/default/openresty
fi
cp -f /mnt/dokku/etc/nginx/dhparam.pem /etc/nginx/dhparam.pem
chown root:root /etc/nginx/dhparam.pem
chown root:root /etc/nginx/conf.d
if [[ ! -f "/mnt/dokku${NGINX_ROOT}/dhparam.pem" ]]; then
mkdir -p "/mnt/dokku${NGINX_ROOT}"
openssl dhparam -out "/mnt/dokku${NGINX_ROOT}/dhparam.pem" 2048
fi
mkdir -p "${NGINX_ROOT}/conf.d"
cp -f "/mnt/dokku${NGINX_ROOT}/dhparam.pem" "${NGINX_ROOT}/dhparam.pem"
chown root:root "${NGINX_ROOT}/dhparam.pem"
chown root:root "${NGINX_ROOT}/conf.d"
}
main "$@"

View File

@@ -0,0 +1,7 @@
#!/bin/bash
exec >>/var/log/services/openresty
exec 2>&1
echo "Running openresty"
exec /usr/bin/openresty -c /usr/local/openresty/nginx/conf/nginx.conf -g "daemon off;"

View File

@@ -0,0 +1,30 @@
user www-data;
worker_processes auto;
pid /run/openresty.pid;
include /usr/local/openresty/nginx/conf/modules-enabled/*.conf;
events {
worker_connections 768;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /usr/local/openresty/nginx/conf/mime.types;
default_type application/octet-stream;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
access_log /var/log/openresty/access.log;
error_log /var/log/openresty/error.log;
gzip on;
include /usr/local/openresty/nginx/conf/conf.d/*.conf;
include /usr/local/openresty/nginx/conf/sites-enabled/*;
}

View File

@@ -34,7 +34,7 @@ Each "phase" has different expectations and limitations:
Please keep the above in mind when utilizing deployment tasks.
> To execute commands on the host during a release phase, see the [plugin creation documentation](/docs/development/plugin-creation) docs for more information on building your own custom plugin.
> To execute commands on the host during a release phase, see the [plugin creation documentation](/docs/development/plugin-creation.md) docs for more information on building your own custom plugin.
## `app.json` deployment tasks

View File

@@ -6,6 +6,7 @@ Pass [options](https://docs.docker.com/engine/reference/run/) to Docker during D
```
docker-options:add <app> <phase(s)> OPTION # Add Docker option to app for phase (comma-separated phase list)
docker-options:clear <app> [<phase(s)>...] # Clear a docker options from application
docker-options:remove <app> <phase(s)> OPTION # Remove Docker option from app for phase (comma-separated phase list)
docker-options:report [<app>] [<flag>] # Displays a docker options report for one or more apps
```
@@ -44,6 +45,37 @@ dokku docker-options:add node-js-app run "-v /var/log/node-js-app:/app/logs"
dokku docker-options:remove node-js-app run "-v /var/log/node-js-app:/app/logs"
```
### Clear all Docker options for an app
Docker options can be removed for a specific app using the `docker-options:clear` command.
```shell
dokku docker-options:clear node-js-app
```
```
-----> Clearing docker-options for node-js-app on all phases
```
One or more valid phases can also be specified. Phases are comma delimited, and specifying an invalid phase will result in an error.
```shell
dokku docker-options:clear node-js-app run
```
```
-----> Clearing docker-options for node-js-app on phase run
```
```shell
dokku docker-options:clear node-js-app build,run
```
```
-----> Clearing docker-options for node-js-app on phase build
-----> Clearing docker-options for node-js-app on phase run
```
### Displaying docker-options reports for an app
> New as of 0.8.1

View File

@@ -147,4 +147,4 @@ By default, Dokku will execute your buildpack application processes as the `hero
> NOTE: this user must exist in your herokuish image.
Additionally, the default `docker-local` scheduler that comes with Dokku will ensure your storage mounts are owned by either `herokuishuser` or the overridden value you have set in `DOKKU_APP_USER`. See the [scheduler-docker-local documentation](/docs/advanced-usage/schedulers/docker-local.md#disabling-chown-of-persistent-storage) docs for more information.
Additionally, the default `docker-local` scheduler that comes with Dokku will ensure your storage mounts are owned by either `herokuishuser` or the overridden value you have set in `DOKKU_APP_USER`. See the [docker-local scheduler documentation](/docs/advanced-usage/schedulers/docker-local.md#disabling-chown-of-persistent-storage) docs for more information.

View File

@@ -6,6 +6,7 @@
plugin:disable <name> # Disable an installed plugin (third-party only)
plugin:enable <name> # Enable a previously disabled plugin
plugin:install [--core|git-url [--committish tag|branch|commit|--name custom-plugin-name]] # Optionally download git-url (with custom tag/committish) & run install trigger for active plugins (or only core ones)
plugin:installed <name> # Checks if a plugin is installed
plugin:install-dependencies [--core] # Run install-dependencies trigger for active plugins (or only core ones)
plugin:list # Print active plugins
plugin:trigger <args...>. # Trigger an arbitrary plugin hook
@@ -32,35 +33,41 @@ dokku plugin:list
```
plugn: dev
00_dokku-standard 0.18.0 enabled dokku core standard plugin
20_events 0.18.0 enabled dokku core events logging plugin
app-json 0.18.0 enabled dokku core app-json plugin
apps 0.18.0 enabled dokku core apps plugin
build-env 0.18.0 enabled dokku core build-env plugin
buildpacks 0.18.0 enabled dokku core buildpacks plugin
certs 0.18.0 enabled dokku core certificate management plugin
checks 0.18.0 enabled dokku core checks plugin
common 0.18.0 enabled dokku core common plugin
config 0.18.0 enabled dokku core config plugin
docker-options 0.18.0 enabled dokku core docker-options plugin
domains 0.18.0 enabled dokku core domains plugin
enter 0.18.0 enabled dokku core enter plugin
git 0.18.0 enabled dokku core git plugin
logs 0.18.0 enabled dokku core logs plugin
network 0.18.0 enabled dokku core network plugin
nginx-vhosts 0.18.0 enabled dokku core nginx-vhosts plugin
plugin 0.18.0 enabled dokku core plugin plugin
proxy 0.18.0 enabled dokku core proxy plugin
ps 0.18.0 enabled dokku core ps plugin
repo 0.18.0 enabled dokku core repo plugin
resource 0.18.0 enabled dokku core resource plugin
scheduler-docker-local 0.18.0 enabled dokku core scheduler-docker-local plugin
shell 0.18.0 enabled dokku core shell plugin
ssh-keys 0.18.0 enabled dokku core ssh-keys plugin
storage 0.18.0 enabled dokku core storage plugin
tags 0.18.0 enabled dokku core tags plugin
tar 0.18.0 enabled dokku core tar plugin
trace 0.18.0 enabled dokku core trace plugin
00_dokku-standard 0.20.2 enabled dokku core standard plugin
20_events 0.20.2 enabled dokku core events logging plugin
app-json 0.20.2 enabled dokku core app-json plugin
apps 0.20.2 enabled dokku core apps plugin
build-env 0.20.2 enabled dokku core build-env plugin
buildpacks 0.20.2 enabled dokku core buildpacks plugin
certs 0.20.2 enabled dokku core certificate management plugin
checks 0.20.2 enabled dokku core checks plugin
common 0.20.2 enabled dokku core common plugin
config 0.20.2 enabled dokku core config plugin
docker-options 0.20.2 enabled dokku core docker-options plugin
domains 0.20.2 enabled dokku core domains plugin
enter 0.20.2 enabled dokku core enter plugin
git 0.20.2 enabled dokku core git plugin
logs 0.20.2 enabled dokku core logs plugin
network 0.20.2 enabled dokku core network plugin
nginx-vhosts 0.20.2 enabled dokku core nginx-vhosts plugin
plugin 0.20.2 enabled dokku core plugin plugin
proxy 0.20.2 enabled dokku core proxy plugin
ps 0.20.2 enabled dokku core ps plugin
repo 0.20.2 enabled dokku core repo plugin
resource 0.20.2 enabled dokku core resource plugin
scheduler-docker-local 0.20.2 enabled dokku core scheduler-docker-local plugin
shell 0.20.2 enabled dokku core shell plugin
ssh-keys 0.20.2 enabled dokku core ssh-keys plugin
storage 0.20.2 enabled dokku core storage plugin
tags 0.20.2 enabled dokku core tags plugin
tar 0.20.2 enabled dokku core tar plugin
trace 0.20.2 enabled dokku core trace plugin
```
You can check if a plugin has been installed via the `plugin:installed` command:
```shell
dokku plugin:installed postgres
```
Installing a plugin is easy as well using the `plugin:install` command. This command will also trigger the `install` pluginhook on all existing plugins.

View File

@@ -27,6 +27,8 @@ Valid resource options include:
- `--network-ingress`
- `--network-egress`
See the [Supported Resource Management Properties](/docs/advanced-usage/schedulers/docker-local.md#supported-resource-management-properties) section of the docker local scheduler documentation for more information on how each resource limit maps to Docker.
Resource limits and reservations are applied only during the `run` and `deploy` phases of an application, and will not impact the `build` phase of an application.
### Resource Limits

View File

@@ -66,9 +66,13 @@ The `docker-local` scheduler supports a minimal list of resource _limits_ and _r
### Resource Limits
- cpu: (docker option: `--cpus`), and is specified in number of CPUs a process can access.
- memory: (docker option: `--memory`) and should be specified with a suffix of `b` (bytes), `k` (kilobytes), `m` (megabytes), `g` (gigabytes)
- See the ["CPU" section](https://docs.docker.com/config/containers/resource_constraints/#cpu) of the Docker Runtime Options documentation for more information.
- memory: (docker option: `--memory`) and should be specified with a suffix of `b` (bytes), `k` (kilobytes), `m` (megabytes), `g` (gigabytes).
- See the ["Memory" section](https://docs.docker.com/config/containers/resource_constraints/#memory) of the Docker Runtime Options documentation for more information.
- memory-swap: (docker option: `--memory-swap`) and should be specified with a suffix of `b` (bytes), `k` (kilobytes), `m` (megabytes), `g` (gigabytes)
- See the ["Memory" section](https://docs.docker.com/config/containers/resource_constraints/#memory) of the Docker Runtime Options documentation for more information.
### Resource Reservations
- memory: (docker option: `--memory-reservation`) and should be specified with a suffix of `b` (bytes), `k` (kilobytes), `m` (megabytes), `g` (gigabytes)
- See the ["Memory" section](https://docs.docker.com/config/containers/resource_constraints/#memory) of the Docker Runtime Options documentation for more information.

View File

@@ -0,0 +1,84 @@
# 0.20.0 Migration Guide
## Removals
### Command removals
The following commands were previously deprecated and were removed in this release.
- `apps`: Use `apps:list` instead.
- `certs`: Use `certs:report` instead.
- `certs:info`: Use `certs:report` instead.
- `checks`: Use `checks:report` instead.
- `docker-options`: Use `docker-options:report` instead.
- `domains`: Use `domains:report` instead.
- `plugin`: Use `plugin:list` instead.
- `proxy`: Use `proxy:report` instead.
- `trace`: Use `trace:on` or `trace:off` instead.
- `ps`: Use `enter` with a container ID instead to run `ps auxww` within a container.
The refactor of the proxy plugin removes the following functions from being sourced in plugins:
- `proxy#get_app_proxy_port_map()`
- `proxy#list_app_proxy_ports()`
- `proxy#filter_app_proxy_ports()`
- `proxy#add_proxy_ports()`
- `proxy#remove_proxy_ports()`
- `proxy#set_proxy_ports()`
The informal policy is to allow removal of functions within a `functions` file if they are not used in OSS plugins. Should you be affected by any such removals, please file an issue to expose the functionality via a plugin trigger.
### Remove support for Unsupported Operating Systems
Dokku will no longer distribute packages for Ubuntu versions that have reached either End of Life or End of Standard Support (for LTS releases). This currently includes the following releases:
- Ubuntu 14.04 (trusty)
- Ubuntu 14.10 (utopic)
- Ubuntu 15.04 (vivid)
- Ubuntu 15.10 (wily)
- Ubuntu 16.10 (yakkety)
- Ubuntu 17.04 (zesty)
- Ubuntu 17.10 (artful)
Dokku will no longer distribute packages for Debian versions that are not `stable` or `oldstable`. This currently includes the following releases:
- Debian 7 (wheezy)
- Debian 8 (jessie)
### App report flags
The `--git-sha` flag was moved from the `apps:report` command to the `git:report` command.
## Changes
### App report flags
The following changes on the `apps:report` command were made in this release:
- The `--deploy-source` flag was renamed to `--app-deploy-source`.
- The `--locked` flag was renamed to `--app-locked`.
### Network report flags
The following changes on the `network:report` command were made in this release:
- The `--network-listeners` flag was renamed to `--network-web-listeners`.
### Plugin Triggers
- The `network-get-port` trigger was incorrectly documented to have the `isHerokuishContainer` argument as the third argument. The code has been fixed to respect the documentation.
- The `network-get-listeners` trigger now takes an additional `processType` argument. If not specified, it defaults to `web`. This default will be removed in an upcoming release.
## Deprecations
- `nginx:show-conf` has been deprecated in favor of `nginx:show-config`.
- `proxy#is_app_proxy_enabled()` is deprecated in favor of `plugn trigger proxy-is-enabled`.
- `proxy#get_app_proxy_type()` is deprecated in favor of `plugn trigger proxy-type`.
- `apps#apps_create()` is deprecated in favor of `plugn trigger app-create`.
- `apps#apps_destroy()` is deprecated in favor of `plugn trigger app-destroy`.
- `apps#apps_exists()` is deprecated in favor of `plugn trigger app-exists`.
- `apps#apps_maybe_create()` is deprecated in favor of `plugn trigger app-maybe-create`.
- `plugin trigger network-get-listeners` usage without a second `processType` argument is deprecated.
- `.NGINX_PORT` variable usage within `nginx.conf.sigil` templates is deprecated in favor of `.PROXY_PORT`.
- `.NGINX_SSL_PORT` variable usage within `nginx.conf.sigil` templates is deprecated in favor of `.PROXY_SSL_PORT`.
- `.DOKKU_APP_LISTENERS` variable usage within `nginx.conf.sigil` templates is deprecated in favor of `.DOKKU_APP_WEB_LISTENERS`.

View File

@@ -2,10 +2,10 @@
<browserconfig>
<msapplication>
<tile>
<square70x70logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/mstile-70x70.png"/>
<square150x150logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/mstile-150x150.png"/>
<square310x310logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/mstile-310x310.png"/>
<wide310x150logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/mstile-310x150.png"/>
<square70x70logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/mstile-70x70.png"/>
<square150x150logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/mstile-150x150.png"/>
<square310x310logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/mstile-310x310.png"/>
<wide310x150logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/mstile-310x150.png"/>
<TileColor>#da532c</TileColor>
</tile>
</msapplication>

View File

@@ -2,37 +2,37 @@
"name": "Dokku",
"icons": [
{
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.18.0\/docs\/assets\/favicons\/android-chrome-36x36.png",
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.20.2\/docs\/assets\/favicons\/android-chrome-36x36.png",
"sizes": "36x36",
"type": "image\/png",
"density": "0.75"
},
{
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.18.0\/docs\/assets\/favicons\/android-chrome-48x48.png",
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.20.2\/docs\/assets\/favicons\/android-chrome-48x48.png",
"sizes": "48x48",
"type": "image\/png",
"density": "1.0"
},
{
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.18.0\/docs\/assets\/favicons\/android-chrome-72x72.png",
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.20.2\/docs\/assets\/favicons\/android-chrome-72x72.png",
"sizes": "72x72",
"type": "image\/png",
"density": "1.5"
},
{
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.18.0\/docs\/assets\/favicons\/android-chrome-96x96.png",
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.20.2\/docs\/assets\/favicons\/android-chrome-96x96.png",
"sizes": "96x96",
"type": "image\/png",
"density": "2.0"
},
{
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.18.0\/docs\/assets\/favicons\/android-chrome-144x144.png",
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.20.2\/docs\/assets\/favicons\/android-chrome-144x144.png",
"sizes": "144x144",
"type": "image\/png",
"density": "3.0"
},
{
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.18.0\/docs\/assets\/favicons\/android-chrome-192x192.png",
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.20.2\/docs\/assets\/favicons\/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image\/png",
"density": "4.0"

View File

@@ -39,13 +39,13 @@ h1 {
font-size: 1.6em;
}
.header .navbar-brand a {
background-image: url(https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/dokku.png);
background-image: url(https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/dokku.png);
text-indent: 40px;
}
.blurb {
color: #424242;
background-color: #ededed;
background-image: url(https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/gplaypattern.png);
background-image: url(https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/gplaypattern.png);
padding: 45px 0;
text-align: center;
}

View File

@@ -15,6 +15,8 @@
"0.15.5",
"0.16.4",
"0.17.9",
"0.18.0"
"0.18.5",
"0.19.13",
"0.20.2"
]
}

View File

@@ -6,9 +6,21 @@ While Dokku does not yet have an official client, there are a multitude of ways
## (bash, zsh, etc.) `dokku_client.sh`
Of all methods, this is the *most* official method of interacting with your Dokku installation. It is a bash script that interacts with a remote Dokku installation via ssh. It is available in `contrib/dokku_client.sh` in the root of the Dokku repository.
Of all methods, this is the *most* official method of interacting with your Dokku installation. It is a bash script that interacts with a remote Dokku installation via `ssh`. It is available in `contrib/dokku_client.sh` in the root of the Dokku repository.
To install, simply clone the Dokku repository down and add the `dokku` alias pointing at the script:
It can be installed either via the [Homebrew](https://brew.sh) package manager (macOS only), or manually.
### Installation via Homebrew
To install, simply run the following command:
```shell
brew install dokku/repo/dokku
```
### Manual installation
To install manually, simply clone the Dokku repository down and add the `dokku` alias pointing at the script:
```shell
git clone git@github.com:dokku/dokku.git ~/.dokku
@@ -35,6 +47,8 @@ alias dokku 'bash $HOME/.dokku/contrib/dokku_client.sh'
alias dokku 'bash $HOME/.dokku/contrib/dokku_client.sh'
```
### Usage
Configure the `DOKKU_HOST` environment variable or run `dokku` from a repository with a git remote named `dokku` pointed at your Dokku host in order to use the script as normal.
You can also configure a `DOKKU_PORT` environment variable if you are running ssh on a non-standard port. This defaults to `22`.
@@ -51,7 +65,7 @@ See [documentation here](https://www.npmjs.com/package/dokku-toolbelt) for more
## (python) dokku-client
dokku-client is an extensible python-based cli wrapper for remote Dokku hosts. You can install it via the following shell command (assuming you have python and pip installed):
dokku-client is an extensible python-based cli wrapper for remote Dokku hosts. You can install it via the following shell command (assuming you have python and pip installed):
```shell
pip install dokku-client

View File

@@ -72,7 +72,6 @@ The following plugins are available and provided by Dokku maintainers. Where not
[dokku]: https://github.com/dokku
[dokku-community]: https://github.com/dokku-community
[dyson]: https://github.com/dyson
[F4-Group]: https://github.com/F4-Group
[fermuch]: https://github.com/fermuch
[fgrehm]: https://github.com/fgrehm
[Flink]: https://github.com/Flink
@@ -129,6 +128,7 @@ The following plugins are available and provided by Dokku maintainers. Where not
[sarendsen]: https://github.com/sarendsen
[baikunz]: https://github.com/baikunz
[lazyatom]: https://github.com/lazyatom
[ollej]: https://github.com/ollej
### Datastores
@@ -215,7 +215,7 @@ The following plugins are available and provided by Dokku maintainers. Where not
| Plugin | Author | Compatibility |
| ------------------------------------------------------------------------------------------------- | --------------------- | --------------------- |
| [Airbrake deploy](https://github.com/Flink/dokku-airbrake-deploy) | [Flink][] | 0.4.0+ |
| [APT](https://github.com/F4-Group/dokku-apt) | [F4-Group][] | 0.4.0+ |
| [APT](https://github.com/dokku-community/dokku-apt) | [dokku-community][] | 0.18.x+ |
| [Bower install](https://github.com/alexanderbeletsky/dokku-bower-install) | [alexanderbeletsky][] | 0.3.x |
| [Bower/Grunt](https://github.com/thrashr888/dokku-bower-grunt-build-plugin) | [thrashr888][] | 0.3.x |
| [Bower/Gulp](https://github.com/gdi2290/dokku-bower-gulp-build-plugin) | [gdi2290][] | 0.3.x |
@@ -242,6 +242,9 @@ The following plugins are available and provided by Dokku maintainers. Where not
| [Wkhtmltopdf](https://github.com/mbriskar/dokku-wkhtmltopdf) | [mbriskar][] | 0.4.0+ |
| [Dokku Wordpress](https://github.com/dokku-community/dokku-wordpress) | [dokku-community][] | 0.4.0+ |
| [Access](https://github.com/mainto/dokku-access) | [mainto](https://github.com/mainto) | 0.4.0+ |
| [Dokku Nginx Trust Proxy](https://github.com/kingsquare/dokku-nginx-vhost-trustproxy) | [kingsquare](https://github.com/kingsquare) | 0.4.0+ |
| [Fonts](https://github.com/ollej/dokku-fonts) | [ollej] | 0.19.11+ |
### Deprecated Plugins

View File

@@ -53,7 +53,7 @@ The domains plugin allows you to specify custom domains for applications. This p
dokku domains:add node-js-app dokku.me
# list custom domains for app
dokku domains node-js-app
dokku domains:report node-js-app
# clear all custom domains for app
dokku domains:clear node-js-app
@@ -122,6 +122,8 @@ Create the file at `/etc/nginx/conf.d/00-default-vhost.conf`:
```nginx
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
access_log off;
return 410;
@@ -138,6 +140,7 @@ server {
#
# server {
# listen 443 ssl;
# listen [::]:443 ssl;
# server_name _;
# ssl_certificate /etc/nginx/ssl/cert.crt;
# ssl_certificate_key /etc/nginx/ssl/cert.key;

View File

@@ -90,6 +90,7 @@ The following list config variables have special meaning and can be set in a var
| `DOKKU_EVENTS_LOGFILE` | `$DOKKU_LOGS_DIR/events.log` | `/etc/environment` <br /> `~dokku/.dokkurc` <br /> `~dokku/.dokkurc/*` | Where the events log file is written to. |
| `DOKKU_APP_NAME` | none | `--app APP` flag | Name of application to work on. Respected by core plugins. |
| `DOKKU_APPS_FORCE_DELETE` | none | `--force` flag | Whether to force delete an application. Also used by other plugins for destructive actions. |
| `DOKKU_CHECKS_URL` | `http://dokku.viewdocs.io/dokku/deployment/zero-downtime-deploys/` | `/etc/environment` <br /> `~dokku/.dokkurc` <br /> `~dokku/.dokkurc/*` | Url displayed during deployment when no CHECKS file exists. |
| `DOKKU_DETACH_CONTAINER` | none | `--detach` flag | Whether to detach a container started via `dokku run`. |
| `DOKKU_QUIET_OUTPUT` | none | `--quiet` flag | Silences certain header output for `dokku` commands. |
| `DOKKU_RM_CONTAINER` | none | `dokku config:set` <br /> `--rm-container` flag <br /> `--rm` flag | Whether to keep `dokku run` containers around or not. |
@@ -115,13 +116,14 @@ The following list config variables have special meaning and can be set in a var
| `DOKKU_DOCKERFILE_PORTS` | dockerfile ports | `dokku config:set` | |
| `DOKKU_DOCKERFILE_START_CMD` | none | `dokku config:set` | |
| `DOKKU_PARALLEL_ARGUMENTS`. | none | `dokku config:set` | Allows passing custom arguments to parallel for `ps:*all` commands |
| `DOKKU_PROXY_PORT` | automatically assigned | `dokku config:set` | |
| `DOKKU_PROXY_SSL_PORT` | automatically assigned | `dokku config:set` | |
| `DOKKU_PROXY_PORT` | automatically assigned | `/etc/environment` <br /> `~dokku/.dokkurc` <br /> `~dokku/.dokkurc/*` <br /> `dokku config:set` | |
| `DOKKU_PROXY_SSL_PORT` | automatically assigned | `/etc/environment` <br /> `~dokku/.dokkurc` <br /> `~dokku/.dokkurc/*` <br /> `dokku config:set` | |
| `DOKKU_PROXY_PORT_MAP` | automatically assigned | `dokku proxy:ports-add` <br /> `dokku proxy:ports-remove`, `dokku proxy:ports-clear` | |
| `DOKKU_SKIP_ALL_CHECKS` | none | `dokku config:set` | |
| `DOKKU_SKIP_CLEANUP` | | `/etc/environment` <br /> `~dokku/.dokkurc` <br /> `~dokku/.dokkurc/*` | When a deploy is triggered, if this is set to a non-empty value, then old docker containers and images will not be removed. |
| `DOKKU_SKIP_DEFAULT_CHECKS` | | `dokku config:set` | |
| `DOKKU_SKIP_DEPLOY` | | `dokku config:set` | |
| `DOKKU_START_CMD` | none | `dokku config:set` | Command to run instead of `/start $PROC_TYPE` |
| `DOKKU_SYSTEM_GROUP` | `dokku` | `/etc/environment` <br /> `~dokku/.dokkurc` <br /> `~dokku/.dokkurc/*` | System group to chown files as. |
| `DOKKU_SYSTEM_USER` | `dokku` | `/etc/environment` <br /> `~dokku/.dokkurc` <br /> `~dokku/.dokkurc/*` | System user to chown files as. |
| `DOKKU_WAIT_TO_RETIRE` | `60` | `dokku config:set` | After a successful deploy, the grace period given to old containers before they are stopped/terminated. This is useful for ensuring completion of long-running http connections. |

View File

@@ -6,9 +6,54 @@ Dokku uses nginx as its server for routing requests to specific applications. By
nginx:access-logs <app> [-t] # Show the nginx access logs for an application (-t follows)
nginx:build-config <app> # (Re)builds nginx config for given app
nginx:error-logs <app> [-t] # Show the nginx error logs for an application (-t follows)
nginx:validate [<app>] [--clean] # Validates and optionally cleans up invalid nginx configurations
nginx:report [<app>] [<flag>] # Displays a nginx report for one or more apps
nginx:set <app> <property> (<value>) # Set or clear an nginx property for an app
nginx:show-config <app> # Display app nginx config
nginx:validate-config [<app>] [--clean] # Validates and optionally cleans up invalid nginx configurations
```
## Binding to specific addresses
> New as of 0.19.2
By default, nginx will listen to all interfaces (`[::]` for IPv6, `0.0.0.0` for IPv4) when proxying requests to applications. This may be changed using the `bind-address-ipv4` and `bind-address-ipv6` properties. This is useful in cases where the proxying should be internal to a network or if there are multiple network interfaces that should respond with different content.
```shell
dokku nginx:set node-js-app bind-address-ipv4 127.0.0.1
dokku nginx:set node-js-app bind-address-ipv6 ::1
```
This may be reverted by setting an empty bind address.
```shell
dokku nginx:set node-js-app bind-address-ipv4
dokku nginx:set node-js-app bind-address-ipv6
```
> Warning: Validation is not performed on either value.
Users with apps that contain a custom `nginx.conf.sigil` file will need to modify the files to respect the new `NGINX_BIND_ADDRESS_IPV4` and `NGINX_BIND_ADDRESS_IPV6` variables.
## HSTS Header
> New as of 0.20.0
If SSL certificates are present, HSTS will be automatically enabled. It can be toggled via `nginx:set`:
```shell
dokku nginx:set node-js-app hsts true
dokku nginx:set node-js-app hsts false
```
The following options are also available via the `nginx:set` command:
- `hsts` (type: boolean, default: `true`): Enables or disables HSTS for your application.
- `hsts-include-subdomains` (type: boolean, default: `true`): Tells the browser that the HSTS policy also applies to all subdomains of the current domain.
- `hsts-max-age` (type: integer, default: `15724800`): Time in seconds to cache HSTS configuration.
- `hsts-preload` (type: boolean, default: `false`): Tells most major web browsers to include the domain in their HSTS preload lists.
Beware that if you enable the header and a subsequent deploy of your application results in an HTTP deploy (for whatever reason), the way the header works means that a browser will not attempt to request the HTTP version of your site if the HTTPS version fails until the max-age is reached.
## Checking access logs
You may check nginx access logs via the `nginx:access-logs` command. This assumes that app access logs are being stored in `/var/log/nginx/$APP-access.log`, as is the default in the generated `nginx.conf`.
@@ -37,6 +82,31 @@ You may also follow the logs by specifying the `-t` flag.
dokku nginx:error-logs node-js-app -t
```
## Changing log path
> New as of 0.20.1
The path to where log files are stored can be changed by calling the `nginx:set` command with the following options:
- `access-log-path` (type: string, default: `${NGINX_LOG_ROOT}/${APP}-access.log`): Log path for nginx access logs
- `error-log-path` (type: string, default: `${NGINX_LOG_ROOT}/${APP}-error.log`): Log path for nginx error logs
The defaults should not be changed without verifying that the paths will be writeable by nginx. However, this setting is useful for enabling or disabling logging by setting the values to `off`.
```shell
dokku nginx:set node-js-app access-log-path off
dokku nginx:set node-js-app error-log-path off
```
The default value may be set by passing an empty value for the option:
```shell
dokku nginx:set node-js-app access-log-path
dokku nginx:set node-js-app error-log-path
```
In all cases, the nginx config must be regenerated after setting the above values.
## Regenerating nginx config
In certain cases, your app nginx configs may drift from the correct config for your app. You may regenerate the config at any point via the `nginx:build-config` command. This may fail if there are no current web listeners for your app.
@@ -45,28 +115,36 @@ In certain cases, your app nginx configs may drift from the correct config for y
dokku nginx:build-config node-js-app
```
## Validating nginx configs
## Showing the nginx config
It may be desired to validate an nginx config outside of the deployment process. To do so, run the `nginx:validate` command. With no arguments, this will validate all app nginx configs, one at a time. A minimal wrapper nginx config is generated for each app's nginx config, upon which `nginx -t` will be run.
For debugging purposes, it may be useful to show the nginx config. This can be achieved via the `nginx:show-config` command.
```shell
dokku nginx:validate
dokku nginx:show-config node-js-app
```
As app nginx configs are actually executed within a shared context, it is possible for an individual config to be invalid when being validated standalone but _also_ be valid within the global server context. As such, the exit code for the `nginx:validate` command is the exit code of `nginx -t` against the server's real nginx config.
## Validating nginx configs
The `nginx:validate` command also takes an optional `--clean` flag. If specified, invalid nginx configs will be removed.
It may be desired to validate an nginx config outside of the deployment process. To do so, run the `nginx:validate-config` command. With no arguments, this will validate all app nginx configs, one at a time. A minimal wrapper nginx config is generated for each app's nginx config, upon which `nginx -t` will be run.
```shell
dokku nginx:validate-config
```
As app nginx configs are actually executed within a shared context, it is possible for an individual config to be invalid when being validated standalone but _also_ be valid within the global server context. As such, the exit code for the `nginx:validate-config` command is the exit code of `nginx -t` against the server's real nginx config.
The `nginx:validate-config` command also takes an optional `--clean` flag. If specified, invalid nginx configs will be removed.
> Warning: Invalid app nginx config's will be removed _even if_ the config is valid in the global server context.
```shell
dokku nginx:validate --clean
dokku nginx:validate-config --clean
```
The `--clean` flag may also be specified for a given app:
```shell
dokku nginx:validate node-js-app --clean
dokku nginx:validate-config node-js-app --clean
```
## Customizing the nginx configuration
@@ -90,7 +168,6 @@ Dokku uses a templating library by the name of [sigil](https://github.com/glider
{{ .APP }} Application name
{{ .APP_SSL_PATH }} Path to SSL certificate and key
{{ .DOKKU_ROOT }} Global Dokku root directory (ex: app dir would be `{{ .DOKKU_ROOT }}/{{ .APP }}`)
{{ .DOKKU_APP_LISTENERS }} List of IP:PORT pairs of app containers
{{ .PROXY_PORT }} Non-SSL nginx listener port (same as `DOKKU_PROXY_PORT` config var)
{{ .PROXY_SSL_PORT }} SSL nginx listener port (same as `DOKKU_PROXY_SSL_PORT` config var)
{{ .NOSSL_SERVER_NAME }} List of non-SSL VHOSTS
@@ -101,6 +178,8 @@ Dokku uses a templating library by the name of [sigil](https://github.com/glider
{{ .SSL_SERVER_NAME }} List of SSL VHOSTS
```
Finally, each process type has it's network listeners - a list of IP:PORT pairs for the respective app containers - exposed via an `.DOKKU_APP_${PROCESS_TYPE}_LISTENERS` variable - the `PROCESS_TYPE` will be upper-cased with hyphens transformed into underscores. Users can use the new variables to expose non-web processes via the nginx proxy.
> Note: Application config variables are available for use in custom templates. To do so, use the form of `{{ var "FOO" }}` to access a variable named `FOO`.
### Customizing via configuration files included by the default templates
@@ -166,10 +245,6 @@ See the [default site documentation](/docs/configuration/domains.md#default-site
See the [load balancer documentation](/docs/configuration/ssl.md#running-behind-a-load-balancer).
## HSTS Header
See the [HSTS documentation](/docs/configuration/ssl.md#hsts-header).
## SSL Configuration
See the [ssl documentation](/docs/configuration/ssl.md).

View File

@@ -113,9 +113,9 @@ dokku certs:report node-js-app --ssl-enabled
## HSTS Header
The [HSTS header](https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security) is an HTTP header that can inform browsers that all requests to a given site should be made via HTTPS. Dokku does not, by default, enable this header. It is thus left up to you, the user, to enable it for your site.
The [HSTS header](https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security) is an HTTP header that can inform browsers that all requests to a given site should be made via HTTPS. Dokku does not enables this header by default
Beware that if you enable the header and a subsequent deploy of your application results in an HTTP deploy (for whatever reason), the way the header works means that a browser will not attempt to request the HTTP version of your site if the HTTPS version fails.
See the [NGINX HSTS documentation](/docs/configuration/nginx.md#hsts-header) for more information.
## HTTP/2 support
@@ -125,7 +125,7 @@ Certain versions of nginx have bugs that prevent [HTTP/2](https://nginx.org/en/d
Your application has access to the HTTP headers `X-Forwarded-Proto`, `X-Forwarded-Port` and `X-Forwarded-For`. These headers indicate the protocol of the original request (HTTP or HTTPS), the port number, and the IP address of the client making the request, respectively. The default configuration is for Nginx to set these headers.
If your server runs behind an HTTP/S load balancer, then Nginx will see all requests as coming from the load balancer. If your load balancer sets the `X-Forwarded-` headers, you can tell Nginx to pass these headers from load balancer to your application by using the following [nginx custom template](/docs/configuration/nginx.md#customizing-the-nginx-configuration)
If your server runs behind an HTTP(S) load balancer, then Nginx will see all requests as coming from the load balancer. If your load balancer sets the `X-Forwarded-` headers, you can tell Nginx to pass these headers from load balancer to your application by using a [custom nginx template](/docs/configuration/nginx.md#customizing-the-nginx-configuration). The following is a simple example of how to do so.
```go
server {
@@ -150,7 +150,7 @@ server {
}
upstream {{ .APP }} {
{{ range .DOKKU_APP_LISTENERS | split " " }}
{{ range .DOKKU_APP_WEB_LISTENERS | split " " }}
server {{ . }};
{{ end }}
}
@@ -160,7 +160,7 @@ Only use this option if:
1. All requests are terminated at the load balancer, and forwarded to Nginx
2. The load balancer is configured to send the `X-Forwarded-` headers (this may be off by default)
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.
This could result in security issue, for example, if your application looks at the value of the `X-Forwarded-Proto` to determine if the request was made over HTTPS.

View File

@@ -9,7 +9,7 @@ Once you have configured Dokku with at least one user, you can deploy applicatio
```shell
# from your local machine
# SSH access to github must be enabled on this host
git clone git@github.com:heroku/ruby-getting-started.git
git clone https://github.com/heroku/ruby-getting-started
```
### Create the app

View File

@@ -134,6 +134,12 @@ Renaming node-js-app to io-js-app... done
This will copy all of your app's contents into a new app directory with the name of your choice, delete your old app, then rebuild the new version of the app and deploy it. All of your config variables, including database urls, will be preserved.
By default, Dokku will deploy the renamed app, though you can skip the deploy by using the `--skip-deploy` flag:
```shell
dokku apps:rename --skip-deploy node-js-app io-js-app
```
### Cloning an existing app
> New as of 0.11.5
@@ -157,7 +163,7 @@ This will copy all of your app's contents into a new app directory with the name
> Warning: If you have exposed specific ports via `docker-options` plugin, or performed anything that cannot be done against multiple applications, `apps:clone` may result in errors.
By default, Dokku will deploy this new application, though you can skip the deploy by using the `--skip-deploy` flag:
By default, Dokku will deploy this new app, though you can skip the deploy by using the `--skip-deploy` flag:
```shell
dokku apps:clone --skip-deploy node-js-app io-js-app
@@ -230,16 +236,14 @@ dokku apps:report
```
=====> node-js-app
App dir: /home/dokku/node-js-app
Git sha: dbddc3f
Deploy source: git
Locked: false
App deploy source: git
App locked: false
=====> python-sample
not deployed
=====> ruby-sample
App dir: /home/dokku/ruby-sample
Git sha: a2d477c
Deploy source: git
Locked: false
App deploy source: git
App locked: false
```
You can run the command for a specific app also.
@@ -251,13 +255,12 @@ dokku apps:report node-js-app
```
=====> node-js-app
App dir: /home/dokku/node-js-app
Git sha: dbddc3f
Deploy source: git
Locked: false
App deploy source: git
App locked: false
```
You can pass flags which will output only the value of the specific information you want. For example:
```shell
dokku apps:report node-js-app --git-sha
dokku apps:report node-js-app --app-dir
```

View File

@@ -36,7 +36,7 @@ will show logs continually from the web process.
### Failed deploy logs
> Warning: The default `docker-local` scheduler will "store" these until the next deploy or until the old containers are garbage collected - whichever runs first. If you require the logs beyond this point in time, please ship the logs to a centralized log server.
> Warning: The default [docker-local scheduler](/docs/advanced-usage/schedulers/docker-local.md) will "store" these until the next deploy or until the old containers are garbage collected - whichever runs first. If you require the logs beyond this point in time, please ship the logs to a centralized log server.
In some cases, it may be useful to retrieve the logs from a previously failed deploy.

View File

@@ -38,7 +38,7 @@ dokku docker-options:add node-js-app build '--file Dockerfile.dokku'
Once set, the Dockerfile usage would be as follows:
```Dockerfile
FROM debian:jessie
FROM ubuntu:18.04
# set the argument default
ARG NODE_ENV=production
@@ -50,7 +50,7 @@ RUN echo $NODE_ENV
You may also set the argument as an environment variable
```Dockerfile
FROM debian:jessie
FROM ubuntu:18.04
# set the argument default
ARG NODE_ENV=production
@@ -101,7 +101,7 @@ worker: bin/run-worker.sh
And `Dockerfile`:
```Dockerfile
FROM debian:jessie
FROM ubuntu:18.04
WORKDIR /app
COPY . ./
CMD ["bin/run-dev.sh"]

View File

@@ -76,3 +76,28 @@ This behavior can be disabled entirely on a per-app basis by setting the `rev-en
# override for a specific app
dokku git:set node-js-app rev-env-var ""
```
### Keeping the `.git` directory
By default, Dokku will remove the contents of the `.git` before triggering a build for a given app. This is generally a safe default as shipping the entire source code history of your app in the deployed image artifact is unnecessary as it increases bloat and potentially can leak information if there are any security issues with your app code.
To enable the `.git` directory, run the `git:set` command as follows:
```shell
# on the Dokku host
# keep the .git directory during builds
dokku git:set node-js-app keep-git-dir true
```
The default behavior is to delete this directory and it's contents. To revert to the default behavior, the `keep-git-dir` value can be set to either an empty string or `false`.
```shell
# on the Dokku host
# delete the .git directory during builds (default)
dokku git:set node-js-app keep-git-dir false
# delete the .git directory during builds (default)
dokku git:set node-js-app keep-git-dir ""
```

View File

@@ -92,7 +92,6 @@ dokku tags:deploy node-js-app v1
-----> Running post-deploy
-----> Configuring node-js-app.dokku.me...
-----> Creating http nginx.conf
-----> Running nginx-pre-reload
Reloading nginx
-----> Shutting down old containers in 60 seconds
=====> 025eec3fa3b442fded90933d58d8ed8422901f0449f5ea0c23d00515af5d3137

View File

@@ -46,6 +46,12 @@ dokku --rm-container run node-js-app ls -lah
dokku --rm run node-js-app ls -lah
```
Containers may have specific labels attached. In order to avoid issues with dokku internals, do not use any labels beginning with either `com.dokku` or `org.label-schema`.
```shell
dokku --label=com.example.test-label=value run node-js-app ls -lah
```
Finally, you may wish to run a container in "detached" mode via the `--detach` Dokku flag. Running a process in detached mode will immediately return a `CONTAINER_ID`. It is up to the user to then further manage this container in whatever manner they see fit, as Dokku will *not* automatically terminate the container.
```shell

View File

@@ -3,7 +3,6 @@
> New as of 0.3.14, Enhanced in 0.7.0
```
ps <app> # List processes running in app container(s)
ps:inspect <app> # Displays a sanitized version of docker inspect for an app
ps:rebuild <app> # Rebuild an app from source
ps:rebuildall # Rebuild all apps from source
@@ -25,14 +24,6 @@ By default, Dokku will only start a single `web` process - if defined - though p
## Usage
### Listing processes running in an app container
To find out if your application's containers are running the commands you expect, simply run the `ps` command against that application.
```shell
dokku ps node-js-app
```
### Inspecting app containers
> New as of 0.13.0

View File

@@ -4,7 +4,7 @@
```
ssh-keys:add <name> [/path/to/key] # Add a new public key by pipe or path
ssh-keys:list # List of all authorized Dokku public ssh keys
ssh-keys:list [<name>] # List of all authorized Dokku public ssh keys
ssh-keys:remove <name> # Remove SSH public key by name
```
@@ -25,7 +25,7 @@ dokku ssh-keys:list
```
```
61:21:1f:88:7f:86:d4:3a:68:9f:18:aa:41:4f:bc:3d NAME="admin" SSHCOMMAND_ALLOWED_KEYS="no-agent-forwarding,no-user-rc,no-X11-forwarding,no-port-forwarding"
SHA256:ABC123ABC123+abc123abc123Zabc123abcZ123abc NAME="admin" SSHCOMMAND_ALLOWED_KEYS="no-agent-forwarding,no-user-rc,no-X11-forwarding,no-port-forwarding"
```
The output contains the following information:
@@ -34,6 +34,14 @@ The output contains the following information:
- The `KEY_NAME`.
- A comma separated list of SSH options under the `SSHCOMMAND_ALLOWED_KEYS` name.
> New as of 0.20.2
The keys for a specific user may be listed by specifying a second argument to the `ssh-keys:list` command:
```shell
dokku ssh-keys:list admin
```
### Adding SSH keys
You can add your public key to Dokku with the `ssh-keys:add` command. The output will be the fingerprint of the SSH key:
@@ -43,7 +51,7 @@ dokku ssh-keys:add KEY_NAME path/to/id_rsa.pub
```
```
b7:76:27:4f:30:90:21:ae:d4:1e:70:20:35:3f:06:d6
SHA256:ABC123ABC123+abc123abc123Zabc123abcZ123abc
```
`KEY_NAME` is the name you want to use to refer to this particular key. Including the word `admin` in the name will grant the user privileges to add additional keys remotely.
@@ -72,7 +80,8 @@ dokku ssh-keys:remove KEY_NAME
## Scoping commands to specific users
Keys are given unique names, which can be used in conjunction with the [user-auth](/docs/development/plugin-triggers.md#user-auth) plugin trigger to handle command authorization. Please see the documentation on that trigger for more information.
Support for scoping commands to specific users can be added through plugins that take advantage of the [user-auth](/docs/development/plugin-triggers.md#user-auth) plugin trigger to handle command authorization.
See also the list of [community-provided plugins](/docs/community/plugins.md).
## Granting other Unix user accounts Dokku access

View File

@@ -3,7 +3,6 @@
> New as of 0.5.0
```
checks <app> Show zero-downtime status
checks:disable <app> [process-type(s)] Disable zero-downtime deployment for all processes (or comma-separated process-type list) ***WARNING: this will cause downtime during deployments***
checks:enable <app> [process-type(s)] Enable zero-downtime deployment for all processes (or comma-separated process-type list)
checks:report [<app>] [<flag>] Displays a checks report for one or more apps
@@ -123,7 +122,7 @@ To specify checks, add a `CHECKS` file to the root of your project directory. Th
- comments (lines starting with #)
- empty lines
> For Dockerfile-based deploys, the file *must* be in `/app/CHECKS` within the container. `/app` is used by default as the root container directory for buildpack-based deploys.
> For Dockerfile and Docker Image based deploys, the file *must* be in the `WORKDIR` directory of the built image. `/app` is used by default as the root container directory for buildpack-based deploys.
### Check instructions
@@ -327,7 +326,6 @@ curl: (7) Failed to connect to 172.17.0.155 port 5000: Connection refused
-----> Running post-deploy
-----> Configuring myapp.dokku.me...
-----> Creating http nginx.conf
-----> Running nginx-pre-reload
Reloading nginx
-----> Shutting down old container in 60 seconds
=====> Application deployed:

View File

@@ -159,7 +159,7 @@ Certain systems may require a wrapper function around the `docker` binary for pr
```shell
# good
"$DOCKER_BIN" run -d $IMAGE /bin/bash -e -c "$COMMAND"
"$DOCKER_BIN" container run -d $IMAGE /bin/bash -e -c "$COMMAND"
# bad
docker run -d $IMAGE /bin/bash -e -c "$COMMAND"
@@ -175,16 +175,16 @@ Note that where possible, a label `com.dokku.app-name=$APP` - where `$APP` is th
```shell
# `docker build` example
"$DOCKER_BIN" build "--label=com.dokku.app-name=${APP}" $DOKKU_GLOBAL_BUILD_ARGS ...
"$DOCKER_BIN" image build "--label=com.dokku.app-name=${APP}" $DOKKU_GLOBAL_BUILD_ARGS ...
# `docker commit` example
# Note that the arguments must be set as a local array
# as arrays cannot be exported in shell
local DOKKU_COMMIT_ARGS=("--change" "LABEL org.label-schema.schema-version=1.0" "--change" "LABEL org.label-schema.vendor=dokku" "--change" "LABEL $DOKKU_CONTAINER_LABEL")
"$DOCKER_BIN" commit --change "LABEL com.dokku.app-name=$APP" "${DOKKU_COMMIT_ARGS[@]}" ...
local DOKKU_COMMIT_ARGS=("--change" "LABEL org.label-schema.schema-version=1.0" "--change" "LABEL org.label-schema.vendor=dokku" "--change" "LABEL $DOKKU_CONTAINER_LABEL=")
"$DOCKER_BIN" container commit --change "LABEL com.dokku.app-name=$APP" "${DOKKU_COMMIT_ARGS[@]}" ...
# `docker run` example
"$DOCKER_BIN" run "--label=com.dokku.app-name=${APP}" $DOKKU_GLOBAL_RUN_ARGS ...
"$DOCKER_BIN" container run "--label=com.dokku.app-name=${APP}" $DOKKU_GLOBAL_RUN_ARGS ...
```
## Copy files from the built image using `copy_from_image`
@@ -194,7 +194,7 @@ Avoid copying files from running containers as these files may change over time.
```shell
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
local TMP_FILE=$(mktemp "/tmp/dokku-${FUNCNAME[0]}.XXXX")
local TMP_FILE=$(mktemp "/tmp/dokku-${DOKKU_PID}-${FUNCNAME[0]}.XXXXXX")
trap "rm -rf '$TMP_FILE' >/dev/null" RETURN INT TERM
local IMAGE_TAG="$(get_running_image_tag "$APP")"
@@ -233,10 +233,10 @@ set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
hello_main_cmd() {
cmd-hello-default() {
declare desc="prints Hello \$APP"
declare cmd="hello" argv=("$@")
[[ ${argv[0]} == "$cmd" ]] && shift 1
declare cmd="hello"
[[ "$1" == "$cmd" ]] && shift 1
# Support --app/$DOKKU_APP_NAME flag
# Use the following lines to reorder args into "$cmd $DOKKU_APP_NAME $@""
[[ -n $DOKKU_APP_NAME ]] && set -- $DOKKU_APP_NAME $@
@@ -250,7 +250,7 @@ hello_main_cmd() {
echo "Hello $APP"
}
hello_main_cmd "$@"
cmd-hello-default "$@"
```
`hello/subcommands/world`
@@ -261,15 +261,15 @@ set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
hello_world_cmd() {
cmd-hello-world() {
declare desc="prints Hello world"
declare cmd="hello:world" argv=("$@")
[[ ${argv[0]} == "$cmd" ]] && shift 1
declare cmd="hello:world"
[[ "$1" == "$cmd" ]] && shift 1
echo "Hello world"
}
hello_world_cmd "$@"
cmd-hello-world "$@"
```
`hello/commands`

View File

@@ -29,6 +29,66 @@ The following plugin triggers describe those available to a Dokku installation.
> The example plugin trigger code is not guaranteed to be implemented as in within dokku, and are merely simplified examples. Please look at the Dokku source for larger, more in-depth examples.
### `app-create`
- Description: Creates an app
- Invoked by:
- Arguments: `$APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `app-destroy`
- Description: Destroys an app (with confirmation if force isn't specified)
- Invoked by:
- Arguments: `$APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `app-exists`
- Description: Creates an app
- Invoked by:
- Arguments: `$APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `app-maybe-create`
- Description: Creates an app (gated by whether this is globally enabled or not)
- Invoked by:
- Arguments: `$APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `app-restart`
- Description: Triggers an app restart
@@ -143,7 +203,7 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_AVAILABLE_PATH/config/functions"
APP="$1"; CONTAINERID="$2"; PROC_TYPE="$3"; PORT="$4" ; IP="$5"
APP="$1"; CONTAINER_ID="$2"; PROC_TYPE="$3"; PORT="$4" ; IP="$5"
eval "$(config_export app $APP)"
DOKKU_DISABLE_DEPLOY="${DOKKU_DISABLE_DEPLOY:-false}"
@@ -201,6 +261,36 @@ help_content
esac
```
### `config-get`
- Description: Fetches the app config value for a key
- Invoked by:
- Arguments: `$APP $KEY`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `config-get-global`
- Description: Fetches the global config value for a key
- Invoked by:
- Arguments: `$KEY`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `core-post-deploy`
> To avoid issues with community plugins, this plugin trigger should be used *only* for core plugins. Please avoid using this trigger in your own plugins.
@@ -370,7 +460,7 @@ verify_app_name "$APP"
- Description: `$PROC_TYPE` may be set to magic `_all_` process type to signify global docker deploy options.
- Invoked by: `dokku ps:rebuild`
- Arguments: `$APP $IMAGE_TAG $IMAGE_SOURCE_TYPE`
- Arguments: `$APP $IMAGE_SOURCE_TYPE`
- Example:
```shell
@@ -378,7 +468,8 @@ verify_app_name "$APP"
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
APP="$1"; IMAGE_TAG="$2"; IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
APP="$1"; IMAGE_SOURCE_TYPE="$2"
verify_app_name "$APP"
# TODO
@@ -388,7 +479,7 @@ verify_app_name "$APP"
- Description: `$PROC_TYPE` may be set to magic `_all_` process type to signify global docker deploy options.
- Invoked by: `dokku deploy`
- Arguments: `$APP $IMAGE_TAG $IMAGE_SOURCE_TYPE [$PROC_TYPE $CONTAINER_INDEX]`
- Arguments: `$APP $IMAGE_SOURCE_TYPE $IMAGE_TAG [$PROC_TYPE $CONTAINER_INDEX]`
- Example:
```shell
@@ -396,7 +487,7 @@ verify_app_name "$APP"
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
APP="$1"; IMAGE_TAG="$2"; IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
APP="$1"; $IMAGE_SOURCE_TYPE="$2" IMAGE_TAG="$3"; PROC_TYPE="$4"; CONTAINER_INDEX="$5"; IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
verify_app_name "$APP"
# TODO
@@ -406,7 +497,7 @@ verify_app_name "$APP"
- Description: `$PROC_TYPE` may be set to magic `_all_` process type to signify global docker run options.
- Invoked by: `dokku run`
- Arguments: `$APP $IMAGE_TAG $IMAGE_SOURCE_TYPE`
- Arguments: `$APP $IMAGE_SOURCE_TYPE $IMAGE_TAG`
- Example:
```shell
@@ -414,7 +505,7 @@ verify_app_name "$APP"
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
APP="$1"; IMAGE_TAG="$2"; IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
APP="$1"; IMAGE_SOURCE_TYPE="$3"; IMAGE_TAG="$2"; IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
verify_app_name "$APP"
# TODO
@@ -526,7 +617,7 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
### `network-clear-config`
- Description: Clears network configuration
- Invoked by: `internally triggered by proxy-clear-config within proxy implementations`
- Invoked by: `internally triggered within proxy implementations`
- Arguments: `$APP`
- Example:
@@ -587,7 +678,7 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
- Description: Return the listeners (host:port combinations) for a given app container
- Invoked by: `internally triggered by a deploy`
- Arguments: `$APP`
- Arguments: `$APP $PROCESS_TYPE`
- Example:
```shell
@@ -741,11 +832,27 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `post-app-rename-setup`
- Description: Allows you to run commands after an app is setup, and before it is rebuild. This is useful for cleaning up tasks, or ensuring configuration from an old app is copied to the new app
- Invoked by: `dokku apps:rename`
- Arguments: `$OLD_APP_NAME $NEW_APP_NAME`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `post-build-buildpack`
- Description: Allows you to run commands after the build image is create for a given app. Only applies to apps using buildpacks.
- Invoked by: `internal function dokku_build() (build phase)`
- Arguments: `$APP`
- Arguments: `$APP` `$SOURCECODE_WORK_DIR`
- Example:
```shell
@@ -820,6 +927,20 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `post-container-create`
- Description: This trigger should be used to do stuff to containers after they are created but before they are started. They are explicitely for commands that may involve network traffic, and _not_ for commands that are self-contained, such as chown or tar.
- Invoked by: `dokku run`, `dokku ps:rebuild`, `dokku deploy`
- Arguments "app|service" "$CONTAINER_ID" "$APP|$SERVICE" "$PHASE"
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `post-create`
- Description: Can be used to run commands after an app is created.
@@ -915,6 +1036,7 @@ REV="$3" # optional, may not be sent for tar-based builds
pushd "$TMP_WORK_DIR" >/dev/null
touch Procfile
echo "clock: some-command" >> Procfile
popd >/dev/null
```
### `post-proxy-ports-update`
@@ -939,6 +1061,8 @@ haproxy-build-config "$APP"
### `post-release-buildpack`
> Warning: Image mutation in this trigger may result in an invalid run state, and is heavily discouraged.
- Description: Allows you to run commands after environment variables are set for the release step of the deploy. Only applies to apps using buildpacks.
- Invoked by: `internal function dokku_release() (release phase)`
- Arguments: `$APP $IMAGE_TAG`
@@ -946,27 +1070,19 @@ haproxy-build-config "$APP"
```shell
#!/usr/bin/env bash
# Installs a package specified by the `CONTAINER_PACKAGE` env var
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
APP="$1"; IMAGE_TAG="$2"; IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
verify_app_name "$APP"
dokku_log_info1 "Installing $CONTAINER_PACKAGE..."
CMD="cat > gm && \
dpkg -s CONTAINER_PACKAGE >/dev/null 2>&1 || \
(apt-get update && apt-get install -y CONTAINER_PACKAGE && apt-get clean)"
CID=$(docker run $DOKKU_GLOBAL_RUN_ARGS -i -a stdin $IMAGE /bin/bash -c "$CMD")
test $(docker wait $CID) -eq 0
DOCKER_COMMIT_LABEL_ARGS=("--change" "LABEL org.label-schema.schema-version=1.0" "--change" "LABEL org.label-schema.vendor=dokku" "--change" "LABEL com.dokku.app-name=$APP")
docker commit "${DOCKER_COMMIT_LABEL_ARGS[@]}" $CID $IMAGE >/dev/null
# TODO
```
### `post-release-dockerfile`
> Warning: Image mutation in this trigger may result in an invalid run state, and is heavily discouraged.
- Description: Allows you to run commands after environment variables are set for the release step of the deploy. Only applies to apps using a dockerfile.
- Invoked by: `internal function dokku_release() (release phase)`
- Arguments: `$APP $IMAGE_TAG`
@@ -1005,7 +1121,7 @@ dokku config:set --no-restart $APP MANUALLY_STOPPED=1
- Description: Allows you to run commands before the build image is created for a given app. For instance, this can be useful to add env vars to your container. Only applies to apps using buildpacks.
- Invoked by: `internal function dokku_build() (build phase)`
- Arguments: `$APP`
- Arguments: `$APP` `$SOURCECODE_WORK_DIR`
- Example:
```shell
@@ -1151,9 +1267,9 @@ CMD="cat > gm && \
dpkg -s graphicsmagick >/dev/null 2>&1 || \
(apt-get update && apt-get install -y graphicsmagick && apt-get clean)"
CID=$(docker run "${DOCKER_COMMIT_LABEL_ARGS[@]}" -i -a stdin $IMAGE /bin/bash -c "$CMD")
DOCKER_COMMIT_LABEL_ARGS=("--change" "LABEL org.label-schema.schema-version=1.0" "--change" "LABEL org.label-schema.vendor=dokku" "--change" "LABEL com.dokku.app-name=$APP")
CID=$(docker run $DOKKU_GLOBAL_RUN_ARGS -i -a stdin $IMAGE /bin/bash -c "$CMD")
test $(docker wait $CID) -eq 0
DOCKER_COMMIT_LABEL_ARGS=("--change" "LABEL org.label-schema.schema-version=1.0" "--change" "LABEL org.label-schema.vendor=dokku" "--change" "LABEL com.dokku.app-name=$APP")
docker commit "${DOCKER_COMMIT_LABEL_ARGS[@]}" $CID $IMAGE >/dev/null
```
@@ -1269,6 +1385,36 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `proxy-is-enabled`
- Description: Checks if there is a proxy enabled for the app
- Invoked by:
- Arguments: `$APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `proxy-type`
- Description: Returns the proxy type for an app
- Invoked by:
- Arguments: `$APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `receive-app`
- Description: Allows you to customize what occurs when an app is received. Normally just triggers an app build.
@@ -1511,6 +1657,25 @@ DOKKU_SCHEDULER="$1"; APP="$2"; IMAGE_TAG="$3";
# TODO
```
### `scheduler-post-run`
> Warning: The scheduler plugin trigger apis are under development and may change
> between minor releases until the 1.0 release.
- Description: Allows you to run scheduler commands after a `dokku run` invocation is called
- Invoked by: `dokku run`
- Arguments: `$DOKKU_SCHEDULER $APP $CONTAINER_ID`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
DOKKU_SCHEDULER="$1"; APP="$2"; CONTAINER_ID="$3";
# TODO
```
### `scheduler-retire`
> Warning: The scheduler plugin trigger apis are under development and may change

View File

@@ -29,7 +29,7 @@ The workflow looks like this:
```shell
# having dokku-arch in ../dokku-arch
vagrant up build-arch
# wait for "==> build-arch: ==> Finished making: dokku 0.18.0-2 (Mon Feb 22 23:20:37 CET 2016)"
# wait for "==> build-arch: ==> Finished making: dokku 0.20.2-2 (Mon Feb 22 23:20:37 CET 2016)"
cd ../dokku-arch
git add PKGBUILD .SRCINFO
git commit -m 'Update to dokku 0.9.9'

View File

@@ -9,11 +9,11 @@ We maintain the Dokku test harness within the `tests` directory:
## Continuous Integration
All pull requests have tests run against them on [CircleCI](https://circleci.com/), a continuous integration platform that provides Docker support for Ubuntu Trusty 14.04.
All pull requests have tests run against them on [CircleCI](https://circleci.com/), a continuous integration platform that provides Docker support for Ubuntu Trusty 16.04.
If you wish to skip tests for a particular commit, e.g. documentation changes, you may add the `[ci skip]` designator to your commit message. Commits that _should_ be tested but have the above designator will not be merged.
While we do provide official packages for a variety of platforms, as our test suite currently runs on Ubuntu Trusty 14.04, we only provide official installation support for that platform.
While we do provide official packages for a variety of platforms, as our test suite currently runs on Ubuntu Trusty 16.04, we only provide official installation support for that platform and the latest LTS release of Ubuntu (currently 18.04).
## Local Test Execution

View File

@@ -12,8 +12,8 @@ wget -nv -O - https://get.docker.com/ | sh
# install dokku
wget -nv -O - https://packagecloud.io/dokku/dokku/gpgkey | apt-key add -
OS_ID="$(lsb_release -cs 2>/dev/null || echo "trusty")"
echo "trusty utopic vivid wily xenial yakkety zesty artful bionic" | grep -q "$OS_ID" || OS_ID="trusty"
OS_ID="$(lsb_release -cs 2>/dev/null || echo "bionic")"
echo "xenial bionic" | grep -q "$OS_ID" || OS_ID="bionic"
echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ ${OS_ID} main" | sudo tee /etc/apt/sources.list.d/dokku.list
sudo apt-get update -qq >/dev/null
sudo apt-get install -qq -y dokku

View File

@@ -6,7 +6,7 @@
1. Login to your [DigitalOcean](https://m.do.co/c/fe06b043a083) account.
2. Click **Create a Droplet**.
3. Under **Choose an image > One-click apps**, choose the latest **Dokku** release for 16.04 _(version numbers may vary)_.
3. Under **Choose an image > One-click apps**, choose the latest **Dokku** release for 18.04 _(version numbers may vary)_.
4. Under **Choose a size**, select your machine spec.
5. Under **Choose a datacenter region**, select your region.
6. Add an SSH Key.

View File

@@ -3,7 +3,7 @@
Pull the dokku/dokku image:
```shell
docker pull dokku/dokku:v0.17.7
docker pull dokku/dokku:0.20.2
```
Next, run the image.
@@ -17,7 +17,7 @@ docker run \
--publish 8443:443 \
--volume /var/lib/dokku:/mnt/dokku \
--volume /var/run/docker.sock:/var/run/docker.sock \
dokku/dokku:v0.17.7
dokku/dokku:0.20.2
```
Dokku is run with the following options:

View File

@@ -19,7 +19,7 @@ source openrc.sh # Set the environment variables for DreamHost Cloud
This allows OpenStack client to connect to DreamHost API endpoints.
The command below creates a new server instance named `my-dokku-instance`
based on Ubuntu 14.04, with 2 GB RAM and 1 CPU (the flavor called
based on Ubuntu 18.04, with 2 GB RAM and 1 CPU (the flavor called
`supersonic`), opening network port access to HTTP and SSH (the
`default` security group), and the name of the chosen SSH key. This
key will be automatically added to the new server in the
@@ -28,7 +28,7 @@ be reused by Dokku.
```sh
openstack server create \
--image Ubuntu-14.04 \
--image Ubuntu-18.04 \
--flavor gp1.supersonic \
--security-group default \
--key-name $YOUR_SSH_KEYNAME \
@@ -46,7 +46,7 @@ server:
apt_upgrade: true
apt_sources:
- source: "deb https://packagecloud.io/dokku/dokku/ubuntu/ trusty main"
- source: "deb https://packagecloud.io/dokku/dokku/ubuntu/ bionic main"
key: |
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: SKS 1.1.5
@@ -107,7 +107,7 @@ apt_sources:
=H60S
-----END PGP PUBLIC KEY BLOCK-----
filename: dokku.list
- source: "deb https://apt.dockerproject.org/repo ubuntu-trusty main"
- source: "deb https://apt.dockerproject.org/repo ubuntu-bionic main"
key: |
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: SKS 1.1.5

View File

@@ -6,7 +6,7 @@ Dokku is an extensible, open source Platform as a Service that runs on a single
To start using Dokku, you'll need a system that meets the following minimum requirements:
- A fresh installation of [Ubuntu x64 - Any currently supported release](https://www.ubuntu.com/download), [Debian 8.2 x64](https://www.debian.org/distrib/) or [CentOS 7 x64](https://www.centos.org/download/) *(experimental)* with the FQDN set <sup>[1]</sup>
- A fresh installation of [Ubuntu 16.04/18.04 x64](https://www.ubuntu.com/download), [Debian 9+ x64](https://www.debian.org/distrib/) or [CentOS 7 x64](https://www.centos.org/download/) *(experimental)* with the FQDN set <sup>[1]</sup>
- At least 1 GB of system memory <sup>[2]</sup>
You can *optionally* have a domain name pointed at the host's IP, though this is not necessary.
@@ -21,13 +21,13 @@ To install the latest stable version of Dokku, you can run the following shell c
```shell
# for debian systems, installs Dokku via apt-get
wget https://raw.githubusercontent.com/dokku/dokku/v0.18.0/bootstrap.sh;
sudo DOKKU_TAG=v0.18.0 bash bootstrap.sh
wget https://raw.githubusercontent.com/dokku/dokku/v0.20.2/bootstrap.sh;
sudo DOKKU_TAG=v0.20.2 bash bootstrap.sh
```
The installation process takes about 5-10 minutes, depending upon internet connection speed.
If you're using Debian 8 or Ubuntu 14.04, make sure your package manager is configured to install a sufficiently recent version of nginx<sup>[3]</sup>, otherwise, the installation may fail due to `unmet dependencies` relating nginx.
If you're using Debian 9+ or Ubuntu 18.04, make sure your package manager is configured to install a sufficiently recent version of nginx<sup>[3]</sup>, otherwise, the installation may fail due to `unmet dependencies` relating nginx.
#### 2. Setup SSH key and Virtualhost Settings
@@ -54,6 +54,7 @@ For various reasons, certain hosting providers may have other steps that should
As well, you may wish to customize your installation in some other fashion. or experiment with Vagrant. The guides below should get you started:
- [Debian Package Installation Notes](/docs/getting-started/install/debian.md)
- [Docker-based Installation Notes](/docs/getting-started/install/docker.md)
- [RPM Package Installation Notes](/docs/getting-started/install/rpm.md)
- [Vagrant Installation Notes](/docs/getting-started/install/vagrant.md)
- [Advanced Install Customization](/docs/getting-started/advanced-installation.md)

View File

@@ -198,7 +198,7 @@ __Symptom:__ I successfully deployed my application with no deployment errors bu
__Solution:__
This can occur if Dokku is running on a system with a firewall like UFW enabled (some OS versions like Ubuntu 16.04 have this enabled by default). You can check if this is your case by running the following script:
This can occur if Dokku is running on a system with a firewall like UFW enabled (some OS versions like Ubuntu have this enabled by default). You can check if this is your case by running the following script:
```shell
sudo ufw status

View File

@@ -51,6 +51,10 @@ Before upgrading, check the migration guides to get comfortable with new feature
- [0.10 Migration Guide](/docs/appendices/0.10.0-migration-guide.md)
### 0.20 Migration Guide
- [0.20 Migration Guide](/docs/appendices/0.20.0-migration-guide.md)
## Upgrade Instructions
If Dokku was installed via `apt-get install dokku` or `bootstrap.sh` (most common), upgrade with:
@@ -68,7 +72,7 @@ dokku --quiet apps:list | xargs -L1 dokku ps:stop
dokku --quiet apps | xargs -L1 dokku ps:stop
# update dokku and its dependencies
sudo apt-get install -qq -y dokku herokuish sshcommand plugn
sudo apt-get install -qq -y dokku herokuish sshcommand plugn gliderlabs-sigil
# rebuild all of your applications
dokku ps:rebuildall # rebuilds all applications

View File

@@ -10,30 +10,30 @@
<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>
<link rel="apple-touch-icon" sizes="57x57" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/apple-touch-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/apple-touch-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/apple-touch-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/apple-touch-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/apple-touch-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/apple-touch-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/apple-touch-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/android-chrome-192x192.png" sizes="192x192">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/manifest.json">
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/favicon.ico">
<link rel="apple-touch-icon" sizes="57x57" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/apple-touch-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/apple-touch-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/apple-touch-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/apple-touch-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/apple-touch-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/apple-touch-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/apple-touch-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/android-chrome-192x192.png" sizes="192x192">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/manifest.json">
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Dokku">
<meta name="application-name" content="Dokku">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="msapplication-TileImage" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/mstile-144x144.png">
<meta name="msapplication-config" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/browserconfig.xml">
<meta name="msapplication-TileImage" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/mstile-144x144.png">
<meta name="msapplication-config" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/browserconfig.xml">
<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://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/style.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/style.css" rel="stylesheet">
<!-- <link href="/dokku/docs/assets/style.css" rel="stylesheet"> -->
<style>
.sponsors {
@@ -127,12 +127,12 @@
<p class="line">
<span class="path"></span>
<span class="prompt">$</span>
<span class="command">wget https://raw.githubusercontent.com/dokku/dokku/v0.18.0/bootstrap.sh</span>
<span class="command">wget https://raw.githubusercontent.com/dokku/dokku/v0.20.2/bootstrap.sh</span>
</p>
<p class="line">
<span class="path"></span>
<span class="prompt">$</span>
<span class="command">sudo DOKKU_TAG=v0.18.0 bash bootstrap.sh</span>
<span class="command">sudo DOKKU_TAG=v0.20.2 bash bootstrap.sh</span>
</p>
<p class="line">
<span class="output">&nbsp;# go to your server's IP and follow the web installer</span>
@@ -164,12 +164,12 @@
<p class="line">
<span class="path"></span>
<span class="prompt">$</span>
<span class="command">export OS_ID="$(lsb_release -cs 2>/dev/null || echo "trusty")"</span>
<span class="command">export OS_ID="$(lsb_release -cs 2>/dev/null || echo "bionic")"</span>
</p>
<p class="line">
<span class="path"></span>
<span class="prompt">$</span>
<span class="command">echo "utopicvividwilyxenialyakketyzestyartfulbionic" | grep -q "$OS_ID" || OS_ID="trusty"</span>
<span class="command">echo "xenial bionic" | grep -q "$OS_ID" || OS_ID="bionic"</span>
</p>
<p class="line">
<span class="path"></span>
@@ -312,7 +312,7 @@
<div class="container">
<footer>
<p>&copy; 2013-2019 Dokku</p>
<p>&copy; 2013-2020 Dokku</p>
</footer>
</div>
<script>

View File

@@ -1,8 +1,13 @@
# Network Management
> New as of 0.11.0
> New as of 0.11.0, Enhanced in 0.20.0
```
network:create <network> # Creates an attachable docker network
network:destroy <network> # Destroys a docker network
network:exists <network> # Checks if a docker network exists
network:info <network> # Outputs information about a docker network
network:list # Lists all docker networks
network:report [<app>] [<flag>] # Displays a network report for one or more apps
network:rebuild <app> # Rebuilds network settings for an app
network:rebuildall # Rebuild network settings for all apps
@@ -13,6 +18,161 @@ The Network plugin allows developers to abstract the concept of container networ
## Usage
### Listing networks
> New as of 0.20.0, Requires Docker 1.21+
You can easily list all available networks using the `network:list` command:
```shell
dokku network:list
```
```
=====> Networks
bridge
host
none
test-network
```
Note that you can easily hide extra output from Dokku commands by using the `--quiet` flag, which makes it easier to parse on the command line.
```shell
dokku --quiet network:list
```
```
bridge
host
none
test-network
```
### Creating a network
> New as of 0.20.0, Requires Docker 1.21+
Docker networks can be created via the `network:create` command. Executing this command will create an attachable `bridge` network. This can be used to route requests between containers without going through any public network.
```shell
dokku network:create test-network
```
```
-----> Creating network test-network
```
Specifying other additional flags or other types of networks can be created directly via the `docker` command.
### Destroying a network
> New as of 0.20.0, Requires Docker 1.21+
A Docker network without any associated containers may be destroyed via the `network:destroy` command. Docker will refuse to destroy networks that have containers attached.
```shell
dokku network:destroy test-network
```
```shell
! WARNING: Potentially Destructive Action
! This command will destroy network test.
! To proceed, type "test"
> test
-----> Destroying network test
```
As the command is destructive, it will default to asking for confirmation before executing the removal of the network. This may be avoided by providing the `--force` flag:
```shell
dokku --force network:destroy test-network
```
```shell
-----> Destroying network test
```
### Checking if a network exists
> New as of 0.20.0, Requires Docker 1.21+
For CI/CD pipelines, it may be useful to see if an network exists before creating a new network. You can do so via the `network:exists` command:
```shell
dokku network:exists nonexistent-network
```
```
Network does not exist
```
The `network:exists` command will return non-zero if the network does not exist, and zero if it does.
### Checking network info
> New as of 0.20.0, Requires Docker 1.21+
Network information can be retrieved via the `network:info` command. This is a slightly different version of the `docker network` command.
```shell
dokku network:info test-network
```
```
// TODO
```
### Attaching an app to a network
> New as of 0.20.0, Requires Docker 1.21+
Apps will default to being associated with the `bridge` network, but can be attached to `attachable` networks by changing the `attach-post-create` or `attach-post-deploy` network properties when using the [docker-local scheduler](/docs/advanced-usage/schedulers/docker-local.md). A change in these values will require an app deploy or rebuild.
```shell
# associates the network after a container is created but before it is started
dokku network:set node-js-app attach-post-create test-network
# associates the network after the deploy is successful but before the proxy is updated
dokku network:set node-js-app attach-post-deploy other-test-network
```
Setting the `attach` network property to an empty value will de-associate the container with the network.
```shell
dokku network:set node-js-app attach-post-create
dokku network:set node-js-app attach-post-deploy
```
When a container created for a deployment is being attached to a network - regardless of which `attach` property was used - a network alias of the pattern `APP.PROC_TYPE` will be added to all containers. This can be used to load-balance requests between containers.
#### When to attach containers to a network
Containers can be attached to a network for a variety of reasons:
- A background process in one app needs to communicate to a webservice in another app
- An app needs to talk to a container not managed by Dokku in a secure manner
- A custom network that allows transparent access to another host exists and is necessary for an app to run
Whatever the reason, the semantics of the two network hooks are important and are outlined before.
- `attach-post-create`:
- Phase it applies to:
- `build`: Intermediate containers created during the build process.
- `deploy`: Deployed app containers.
- `run`: Containers created by the `run` command.
- Container state on attach: `created` but not `running`
- Use case: When the container needs to access a resource on the network.
- Example: The app needs to talk to a database on the same network when it first boots.
- `attach-post-deploy`
- Phase it applies to:
- `deploy`: Deployed app containers.
- Container state on attach: `running`
- Use case: When another container on the network needs to access _this_ container.
- Example: A background process needs to communicate with the web process exposed by this container.
> Warning: If the attachment fails at this stage, this may result in your application failing to respond to proxied requests once older containers are removed.
### Rebuilding network settings
There are cases where you may need to rebuild the network configuration for an app, such as on app boot or container restart. In these cases, you can use the `network:rebuild` command:
@@ -37,7 +197,7 @@ dokku network:rebuildall
> This functionality does not control the `--network` docker flag. Please use the [docker-options plugin](docs/advanced-usage/docker-options.md) to manage this flag.
By default, an application will only bind to the internal interface. This behavior can be modified per app by changing the `bind-all-interfaces` network property.
By default, an app will only bind to the internal interface. This behavior can be modified per app by changing the `bind-all-interfaces` network property.
```shell
# bind to the default docker interface (`docker0`) with a random internal ip

View File

@@ -16,12 +16,16 @@ In Dokku 0.5.0, port proxying was decoupled from the `nginx-vhosts` plugin into
> Warning: Mapping alternative ports may conflict with the active firewall installed on your server or hosting provider. Such software includes - but is not limited to - AWS Security Groups, iptables, and UFW. Please consult the documentation for those softwares as applicable.
### Proxy port mapping
> New as of 0.6.0
You can now configure `host -> container` port mappings with the `proxy:ports-*` commands. This mapping is currently supported by the built-in nginx-vhosts plugin.
By default, buildpack apps and dockerfile apps **without** explicitly exposed ports (i.e. using the `EXPOSE` directive) will be configured with a listener on port `80` (and additionally a listener on 443 if ssl is enabled) that will proxy to the application container on port `5000`. Dockerfile apps **with** explicitly exposed ports will be configured with a listener on each exposed port and will proxy to that same port of the deployed application container.
> Note: This default behavior **will not** be automatically changed on subsequent pushes and must be manipulated with the `proxy:ports-*` commands detailed below.
### Listing port mappings
To inspect the port mapping for a given application, use the `proxy:ports` command:
```shell
@@ -44,6 +48,8 @@ curl http://node-js-app.dokku.me
Hello World!
```
### Adding a custom port mapping
There are cases where we may wish for the service to be listening on more than one port, such as port 8080. Normally, this would not be possible:
```shell
@@ -65,7 +71,6 @@ dokku proxy:ports-add node-js-app http:8080:5000
DOKKU_PROXY_PORT_MAP: http:80:5000 http:8080:5000
-----> Configuring node-js-app.dokku.me...(using built-in template)
-----> Creating http nginx.conf
-----> Running nginx-pre-reload
Reloading nginx
```
@@ -89,6 +94,8 @@ curl http://node-js-app.dokku.me:8080
Hello World!
```
### Setting all port mappings at once
Port mappings can also be force set using the `proxy:ports-set` command.
```shell
@@ -100,19 +107,22 @@ dokku proxy:ports-set node-js-app http:8080:5000
DOKKU_PROXY_PORT_MAP: http:80:5000 http:8080:5000
-----> Configuring node-js-app.dokku.me...(using built-in template)
-----> Creating http nginx.conf
-----> Running nginx-pre-reload
Reloading nginx
```
### Removing a port mapping
A port mapping can be removed using the `proxy:ports-remove` command if it no longer necessary:
```shell
dokku proxy:ports-remove node-js-app http:80:5000
```
By default, buildpack apps and dockerfile apps **without** explicitly exposed ports (i.e. using the `EXPOSE` directive) will be configured with a listener on port `80` (and additionally a listener on 443 if ssl is enabled) that will proxy to the application container on port `5000`. Dockerfile apps **with** explicitly exposed ports will be configured with a listener on each exposed port and will proxy to that same port of the deployed application container.
Ports may also be removed by specifying only the `host-port` value. This effectively acts as a wildcard and removes all mappings for that particular host port.
> Note: This default behavior **will not** be automatically changed on subsequent pushes and must be manipulated with the `proxy:ports-*` syntax detailed above.
```shell
dokku proxy:ports-remove node-js-app http:80
```
## Port management by Deployment Method
@@ -126,7 +136,7 @@ For buildpack deployments, your application *must* respect the `PORT` environmen
> Changed as of 0.5.0
Dokku's default proxy implementation - nginx - only supports HTTP request proxying. At this time, we do not support proxying plain TCP or UDP ports. UDP ports can be exposed by disabling the nginx proxy with `dokku proxy:disable myapp`. If you would like to investigate alternative proxy methods, please refer to our [proxy management documentation](/docs/advanced-usage/proxy-management.md).
Dokku's default proxy implementation - nginx - supports HTTP and GRPC request proxying. At this time, we do not support proxying plain TCP or UDP ports. UDP ports can be exposed by disabling the nginx proxy with `dokku proxy:disable myapp`. If you would like to investigate alternative proxy methods, please refer to our [proxy management documentation](/docs/advanced-usage/proxy-management.md).
#### Applications using EXPOSE
@@ -135,7 +145,7 @@ Dokku will extract all tcp ports exposed using the `EXPOSE` directive (one port
For example, if the Dokku installation is configured with the domain `dokku.me` and an application named `node-js-app` is deployed with following Dockerfile:
```
FROM ubuntu:14.04
FROM ubuntu:18.04
EXPOSE 1234
RUN python -m SimpleHTTPServer 1234
```

View File

@@ -69,7 +69,8 @@ The proxy port scheme is as follows:
- `SCHEME:HOST_PORT:CONTAINER_PORT`
The scheme metadata can be used by proxy implementations in order to properly handle proxying of requests. For example, the built-in `nginx-vhosts` proxy implementation supports both the `http` and `https` schemes.
The scheme metadata can be used by proxy implementations in order to properly handle proxying of requests. For example, the built-in `nginx-vhosts` proxy implementation supports the `http`, `https`, `grpc` and `grpcs` schemes.
For the `grpc` and `grpcs` see [nginx blog post on grpc](https://www.nginx.com/blog/nginx-1-13-10-grpc/).
Developers of proxy implementations are encouraged to use whatever schemes make the most sense, and ignore configurations which they do not support. For instance, a `udp` proxy implementation can safely ignore `http` and `https` port mappings.

View File

@@ -9,26 +9,26 @@
<meta name="author" content="">
<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.18.0/docs/assets/favicons/apple-touch-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/apple-touch-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/apple-touch-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/apple-touch-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/apple-touch-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/apple-touch-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/apple-touch-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/android-chrome-192x192.png" sizes="192x192">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/manifest.json">
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/favicon.ico">
<link rel="apple-touch-icon" sizes="57x57" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/apple-touch-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/apple-touch-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/apple-touch-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/apple-touch-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/apple-touch-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/apple-touch-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/apple-touch-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/android-chrome-192x192.png" sizes="192x192">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/manifest.json">
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Dokku">
<meta name="application-name" content="Dokku">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="msapplication-TileImage" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/mstile-144x144.png">
<meta name="msapplication-config" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/favicons/browserconfig.xml">
<meta name="msapplication-TileImage" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/mstile-144x144.png">
<meta name="msapplication-config" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/docs/assets/favicons/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
<script>
@@ -42,7 +42,7 @@
</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://cdn.jsdelivr.net/gh/dokku/dokku@v0.18.0/docs/assets/style.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.20.2/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">
<style>

19
dokku
View File

@@ -56,6 +56,7 @@ export DOKKU_SYSTEM_USER=${DOKKU_SYSTEM_USER:="dokku"}
export DOKKU_API_VERSION=1
export DOKKU_NOT_IMPLEMENTED_EXIT=10
export DOKKU_VALID_EXIT=0
export DOKKU_PID="$BASHPID"
export DOKKU_LOGS_DIR=${DOKKU_LOGS_DIR:="/var/log/dokku"}
export DOKKU_EVENTS_LOGFILE=${DOKKU_EVENTS_LOGFILE:="$DOKKU_LOGS_DIR/events.log"}
@@ -86,13 +87,13 @@ if [[ "${args[0]}" =~ ^--.* ]]; then
fi
! has_tty && DOKKU_QUIET_OUTPUT=1
if [[ $(id -un) != "dokku" ]] && [[ ! $1 =~ plugin:* ]] && [[ ! $1 == "ssh-keys:add" ]]; then
if [[ $(id -un) != "dokku" ]] && [[ ! $1 =~ plugin:* ]] && [[ $1 != "ssh-keys:add" ]] && [[ $1 != "ssh-keys:remove" ]]; then
export SSH_USER=$(id -un)
sudo -u dokku -E -H "$0" "$@"
exit $?
fi
if [[ $1 =~ ^plugin:.* && $1 != "plugin:help" && $1 != "plugin:list" ]] || [[ $1 == "ssh-keys:add" ]]; then
if [[ $1 =~ ^plugin:.* && $1 != "plugin:help" && $1 != "plugin:list" ]] || [[ $1 == "ssh-keys:add" ]] || [[ $1 == "ssh-keys:remove" ]]; then
if [[ $(id -un) != "root" ]]; then
dokku_log_fail "This command must be run as root"
else
@@ -135,10 +136,7 @@ execute_dokku_cmd() {
nginx | nginx:*)
local PLUGIN_NAME=${PLUGIN_NAME/nginx/nginx-vhosts}
;;
deploy | delete | ls | run | cleanup)
local PLUGIN_NAME="00_dokku-standard"
;;
url | urls | report)
deploy | run | cleanup | url | urls | report)
local PLUGIN_NAME="00_dokku-standard"
;;
esac
@@ -243,8 +241,13 @@ case "$1" in
;;
version | -v | --version)
test -f "$DOKKU_ROOT/VERSION" || dokku_log_fail "Unable to determine dokku's version"
DOKKU_VERSION=$(cat "${DOKKU_ROOT}/VERSION")
if [[ -f "$DOKKU_LIB_ROOT/STABLE_VERSION" ]]; then
DOKKU_VERSION=$(cat "${DOKKU_LIB_ROOT}/STABLE_VERSION")
elif [[ -f "$DOKKU_LIB_ROOT/VERSION" ]]; then
DOKKU_VERSION=$(cat "${DOKKU_LIB_ROOT}/VERSION")
else
dokku_log_fail "Unable to determine dokku's version"
fi
echo "dokku version ${DOKKU_VERSION}"
;;

View File

@@ -1,27 +1,12 @@
#!/usr/bin/env bash
[[ " help help:help run:help trace:help url:help urls:help version:help " == *" $1 "* ]] || exit "$DOKKU_NOT_IMPLEMENTED_EXIT"
[[ " help help:help cleanup:help run:help url:help urls:help version:help " == *" $1 "* ]] || exit "$DOKKU_NOT_IMPLEMENTED_EXIT"
source "$PLUGIN_AVAILABLE_PATH/00_dokku-standard/help-functions"
set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
case "$1" in
help | run:help | trace:help | url:help | urls:help | version:help)
[[ $(echo "$1" | sed '/.*:help/!d') ]] && help_topic="${1%\:help}"
help_content_func() {
declare desc="return standard plugin help content"
cat <<help_content
run [--env KEY=VALUE] <app> <cmd>, Run a command in a new container using the current application image
url <app>, Show the first URL for an application (compatibility)
urls <app>, Show all URLs for an application
version , Print dokku's version
help , Print the list of commands
help_content
}
if [[ $help_topic ]]; then
help_content_func | sed "/^\s*$help_topic\s/!d" | sort | sed '/^.*:/d' | column -c2 -t -s,
else
help_content_func
fi
help | cleanup:help | run:help | url:help | urls:help | version:help)
cmd-standard-help "$@"
;;
*)

View File

@@ -0,0 +1,27 @@
#!/usr/bin/env bash
set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
cmd-standard-help() {
declare desc="help command"
declare CMD="$1"
[[ $(echo "$CMD" | sed '/.*:help/!d') ]] && help_topic="${CMD%\:help}"
if [[ $help_topic ]]; then
fn-help-content | sed "/^\s*$help_topic\s/!d" | sort | sed '/^.*:/d' | column -c2 -t -s,
else
fn-help-content
fi
}
fn-help-content() {
declare desc="return help content"
cat <<help_content
cleanup [<app>], Cleans up exited/dead Docker containers and removes dangling images
run [--env KEY=VALUE] <app> <cmd>, Run a command in a new container using the current application image
url <app>, Show the first URL for an application (compatibility)
urls <app>, Show all URLs for an application
version , Print dokku's version
help , Print the list of commands
help_content
}

View File

@@ -1,4 +1,4 @@
[plugin]
description = "dokku core standard plugin"
version = "0.18.0"
version = "0.20.2"
[plugin.config]

View File

@@ -3,7 +3,7 @@ set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
dokku_cleanup_cmd() {
cmd-cleanup() {
declare desc="cleans up old deployment cruft"
declare cmd="cleanup"
[[ "$1" == "$cmd" ]] && shift 1
@@ -16,4 +16,4 @@ dokku_cleanup_cmd() {
docker_cleanup "$APP" "true"
}
dokku_cleanup_cmd "$@"
cmd-cleanup "$@"

View File

@@ -4,4 +4,4 @@ set -eo pipefail
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
shift 1
dokku_deploy_cmd "$@"
cmd-deploy "$@"

View File

@@ -3,10 +3,11 @@ set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
dokku_report_cmd() {
cmd-report() {
declare desc="reports dokku vitals for troubleshooting"
local cmd="report"
declare APP="$2"
declare cmd="report"
[[ "$1" == "$cmd" ]] && shift 1
declare APP="$1"
dokku_log_info1 "uname: $(uname -a)"
dokku_log_info1 "memory: "
@@ -14,10 +15,10 @@ dokku_report_cmd() {
dokku_log_info1 "docker version: "
"$DOCKER_BIN" version | sed "s/^/ /"
dokku_log_info1 "docker daemon info: "
"$DOCKER_BIN" -D info | sed "s/^/ /"
"$DOCKER_BIN" -D system info | sed "s/^/ /"
dokku_log_info1 "sigil version: $(sigil -v)"
dokku_log_info1 "herokuish version: "
"$DOCKER_BIN" run $DOKKU_GLOBAL_RUN_ARGS --rm "$DOKKU_IMAGE" herokuish version | sed "s/^/ /"
"$DOCKER_BIN" container run $DOKKU_GLOBAL_RUN_ARGS --rm "$DOKKU_IMAGE" herokuish version | sed "s/^/ /"
dokku_log_info1 "dokku version: $(dokku version)"
dokku_log_info1 "dokku plugins: "
dokku plugin:list | sed "s/^/ /"
@@ -31,4 +32,4 @@ dokku_report_cmd() {
fi
}
dokku_report_cmd "$@"
cmd-report "$@"

View File

@@ -2,12 +2,12 @@
set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
source "$PLUGIN_AVAILABLE_PATH/config/functions"
dokku_run_cmd() {
cmd-run() {
declare desc="runs command in container based on app image"
declare cmd="run" APP=""
shift
declare cmd="run"
[[ "$1" == "$cmd" ]] && shift 1
declare APP=""
declare -a RUN_ENV
RUN_ENV=()
@@ -40,4 +40,4 @@ dokku_run_cmd() {
plugn trigger scheduler-run "$DOKKU_SCHEDULER" "$APP" "${#RUN_ENV[@]}" "${RUN_ENV[@]}" "$@"
}
dokku_run_cmd "$@"
cmd-run "$@"

View File

@@ -3,11 +3,14 @@ set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
dokku_urls_cmd() {
[[ -z $2 ]] && dokku_log_fail "Please specify an app to run the command on"
local APP="$2"
cmd-urls() {
declare desc="reports dokku vitals for troubleshooting"
declare cmd="url"
declare APP="$2"
[[ -z "$APP" ]] && dokku_log_fail "Please specify an app to run the command on"
get_app_urls "$@"
}
dokku_urls_cmd "$@"
cmd-urls "$@"

View File

@@ -0,0 +1 @@
hook

View File

@@ -0,0 +1 @@
hook

View File

@@ -0,0 +1 @@
hook

View File

@@ -0,0 +1 @@
hook

View File

@@ -0,0 +1 @@
hook

View File

@@ -0,0 +1 @@
hook

View File

@@ -1,30 +1,12 @@
#!/usr/bin/env bash
[[ " help events:help " == *" $1 "* ]] || exit "$DOKKU_NOT_IMPLEMENTED_EXIT"
source "$PLUGIN_AVAILABLE_PATH/20_events/help-functions"
set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
case "$1" in
help | events:help)
help_content_func() {
declare desc="return events plugin help content"
cat <<help_content
events [-t], Show the last events (-t follows)
events:list, List logged events
events:on, Enable events logger
events:off, Disable events logger
help_content
}
if [[ $1 == "events:help" ]]; then
echo 'Usage: dokku events:COMMAND [-t]'
echo ''
echo 'Interact with Dokku event logger.'
echo ''
echo 'Additional commands:'
help_content_func | sort | column -c2 -t -s,
else
help_content_func
fi
cmd-events-help "$@"
;;
*)

View File

@@ -0,0 +1 @@
hook

View File

@@ -0,0 +1 @@
hook

View File

@@ -0,0 +1,35 @@
#!/usr/bin/env bash
set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
cmd-events-help() {
declare desc="help command"
declare CMD="$1"
local plugin_name="events"
local plugin_description="Manage event logging"
if [[ "$CMD" == "$plugin_name:help" ]]; then
echo -e "Usage: dokku $plugin_name[:COMMAND]"
echo ''
echo "$plugin_description"
echo ''
echo 'Additional commands:'
fn-help-content | sort | column -c2 -t -s,
elif [[ $(ps -o command= $PPID) == *"--all"* ]]; then
fn-help-content
else
cat <<help_desc
$plugin_name, $plugin_description
help_desc
fi
}
fn-help-content() {
declare desc="return help content"
cat <<help_content
events [-t], Show the last events (-t follows)
events:list, List logged events
events:on, Enable events logger
events:off, Disable events logger
help_content
}

View File

@@ -3,55 +3,58 @@ set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
DOKKU_RSYSLOG_FILTER_DIR=/etc/rsyslog.d
DOKKU_RSYSLOG_FILTER=$DOKKU_RSYSLOG_FILTER_DIR/99-dokku.conf
DOKKU_LOGROTATE_FILE=/etc/logrotate.d/dokku
trigger-events-install() {
declare desc="20_events install plugin trigger"
declare trigger="install"
DOKKU_RSYSLOG_FILTER_DIR=/etc/rsyslog.d
DOKKU_RSYSLOG_FILTER=$DOKKU_RSYSLOG_FILTER_DIR/99-dokku.conf
DOKKU_LOGROTATE_FILE=/etc/logrotate.d/dokku
flag_rsyslog_needs_restart=n
flag_rsyslog_needs_restart=n
# This can be done unconditionally as mkdir -p
# exits gracefully if the path already exists
# shellcheck disable=SC2174
mkdir -m 775 -p "$DOKKU_LOGS_DIR"
case "$DOKKU_DISTRO" in
arch | debian | centos | rhel)
chgrp dokku "$DOKKU_LOGS_DIR"
;;
*)
chown syslog:dokku "$DOKKU_LOGS_DIR"
;;
esac
if [[ ! -f "$DOKKU_EVENTS_LOGFILE" ]]; then
touch "$DOKKU_EVENTS_LOGFILE"
# This can be done unconditionally as mkdir -p
# exits gracefully if the path already exists
# shellcheck disable=SC2174
mkdir -m 775 -p "$DOKKU_LOGS_DIR"
case "$DOKKU_DISTRO" in
arch | debian | centos | rhel)
chgrp dokku "$DOKKU_EVENTS_LOGFILE"
chgrp dokku "$DOKKU_LOGS_DIR"
;;
*)
# chown syslog:root might not work on SUSE
chown syslog:dokku "$DOKKU_EVENTS_LOGFILE"
chown syslog:dokku "$DOKKU_LOGS_DIR"
;;
esac
chmod 664 "$DOKKU_EVENTS_LOGFILE"
fi
if [[ -d "$DOKKU_RSYSLOG_FILTER_DIR" && ! -f "$DOKKU_RSYSLOG_FILTER" ]]; then
cat >"$DOKKU_RSYSLOG_FILTER" <<EOF
if [[ ! -f "$DOKKU_EVENTS_LOGFILE" ]]; then
touch "$DOKKU_EVENTS_LOGFILE"
case "$DOKKU_DISTRO" in
arch | debian | centos | rhel)
chgrp dokku "$DOKKU_EVENTS_LOGFILE"
;;
*)
# chown syslog:root might not work on SUSE
chown syslog:dokku "$DOKKU_EVENTS_LOGFILE"
;;
esac
chmod 664 "$DOKKU_EVENTS_LOGFILE"
fi
if [[ -d "$DOKKU_RSYSLOG_FILTER_DIR" && ! -f "$DOKKU_RSYSLOG_FILTER" ]]; then
cat >"$DOKKU_RSYSLOG_FILTER" <<EOF
:syslogtag, contains, "dokku-event" $DOKKU_EVENTS_LOGFILE
EOF
flag_rsyslog_needs_restart=y
fi
flag_rsyslog_needs_restart=y
fi
if [[ -f "$DOKKU_RSYSLOG_FILTER" ]] && ! grep -q "dokku-event" "$DOKKU_RSYSLOG_FILTER"; then
cat >"$DOKKU_RSYSLOG_FILTER" <<EOF
if [[ -f "$DOKKU_RSYSLOG_FILTER" ]] && ! grep -q "dokku-event" "$DOKKU_RSYSLOG_FILTER"; then
cat >"$DOKKU_RSYSLOG_FILTER" <<EOF
:syslogtag, contains, "dokku-event" $DOKKU_EVENTS_LOGFILE
EOF
flag_rsyslog_needs_restart=y
fi
flag_rsyslog_needs_restart=y
fi
if [[ ! -f "$DOKKU_LOGROTATE_FILE" ]]; then
cat >"$DOKKU_LOGROTATE_FILE" <<EOF
if [[ ! -f "$DOKKU_LOGROTATE_FILE" ]]; then
cat >"$DOKKU_LOGROTATE_FILE" <<EOF
$DOKKU_LOGS_DIR/*.log {
daily
rotate 7
@@ -67,17 +70,20 @@ $DOKKU_LOGS_DIR/*.log {
}
EOF
if [[ "$DOKKU_DISTRO" == "debian" ]]; then
sed -i 's/ syslog dokku$/ root dokku/g' $DOKKU_LOGROTATE_FILE
if [[ "$DOKKU_DISTRO" == "debian" ]]; then
sed -i 's/ syslog dokku$/ root dokku/g' $DOKKU_LOGROTATE_FILE
fi
flag_rsyslog_needs_restart=y
fi
flag_rsyslog_needs_restart=y
fi
if [[ -f "$DOKKU_RSYSLOG_FILTER" && "$flag_rsyslog_needs_restart" == "y" ]]; then
service rsyslog restart
fi
if [[ -f "$DOKKU_RSYSLOG_FILTER" && "$flag_rsyslog_needs_restart" == "y" ]]; then
service rsyslog restart
fi
[[ ! "$DOKKU_EVENTS" ]] || dokku_log_plugn_trigger_call "$(basename "$0")" "$@"
[[ ! "$DOKKU_EVENTS" ]] || dokku_log_plugn_trigger_call "$(basename "$0")" "$@"
exit 0
}
exit 0
trigger-events-install "$@"

View File

@@ -1,4 +1,4 @@
[plugin]
description = "dokku core events logging plugin"
version = "0.18.0"
version = "0.20.2"
[plugin.config]

View File

@@ -0,0 +1 @@
hook

View File

@@ -0,0 +1 @@
hook

View File

@@ -0,0 +1 @@
hook

View File

@@ -0,0 +1 @@
hook

View File

@@ -0,0 +1 @@
hook

View File

@@ -3,11 +3,14 @@ set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
events_main_cmd() {
cmd-events-default() {
declare desc="shows contents of dokku events log"
local cmd="events"
declare cmd="events"
[[ "$1" == "$cmd" ]] && shift 1
declare TAIL="$1"
if [[ -f $DOKKU_EVENTS_LOGFILE ]]; then
if [[ $2 == "-t" ]]; then
if [[ "$TAIL" == "-t" ]]; then
tail -F "$DOKKU_EVENTS_LOGFILE"
else
tail -n 100 "$DOKKU_EVENTS_LOGFILE"
@@ -15,4 +18,4 @@ events_main_cmd() {
fi
}
events_main_cmd "$@"
cmd-events-default "$@"

View File

@@ -3,9 +3,11 @@ set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
events_list_cmd() {
cmd-events-list() {
declare desc="lists enabled events"
local cmd="events:list"
declare cmd="events:list"
[[ "$1" == "$cmd" ]] && shift 1
local PLUGIN_DIR="$(dirname "$0")/.."
local logged hook
@@ -14,6 +16,9 @@ events_list_cmd() {
dokku_col_log_info2_quiet "Events currently logged"
for hook in $logged; do
if [[ "$hook" == "help-functions" ]]; then
continue
fi
dokku_col_log_msg "$hook"
done
else
@@ -21,4 +26,4 @@ events_list_cmd() {
fi
}
events_list_cmd "$@"
cmd-events-list "$@"

Some files were not shown because too many files have changed in this diff Show More