Compare commits

...

647 Commits

Author SHA1 Message Date
Dokku Bot
5cfbef70b2 Release 0.32.0
# History

## 0.32.0

Install/update via the bootstrap script:

```shell
wget -NP . https://dokku.com/install/v0.32.0/bootstrap.sh
sudo DOKKU_TAG=v0.32.0 bash bootstrap.sh
```

See the [0.32.0 migration guide](/docs/appendices/0.32.0-migration-guide.md) for more information on migrating to 0.32.0.

### New Features

- #6277: @josegonzalez Run ps:restore in parallel by default
- #6276: @josegonzalez Warn when incorrect interface/port in use for web processes
- #6132: @josegonzalez Add the ability to specify a custom mailto for all cron output
- #6124: @josegonzalez Add a shell function to check if a plugin trigger exists
- #5348: @josegonzalez Add nixpacks builder support

### Removals

- #6283: @josegonzalez Remove deprecated proxy-ports functions and and plugin subcommands

### Deprecations

- #6127: @josegonzalez Deprecate the builder-specific pre-release-* triggers in favor of a global pre-release-builder trigger
- #6126: @josegonzalez Deprecate the builder-specific post-build-* triggers in favor of a global post-build trigger
- #6125: @josegonzalez Deprecate the builder-specific pre-build-* triggers in favor of a global pre-build trigger

### Documentation

- #6284: @josegonzalez Document future removal of deprecated CHECKS file format
- #6123: @josegonzalez Add a migration guide for 0.32.x

### Dependencies

- #6285: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.5 to 9.4.6 in /docs/_build
- #6281: @josegonzalez Upgrade golang to 1.21

### Other

- #6155: @josegonzalez Remove ARM support
2023-10-17 04:58:22 +00:00
Jose Diaz-Gonzalez
0d3b33bfdf fix: set correct version for builder-nixpacks plugin 2023-10-17 00:56:47 -04:00
Jose Diaz-Gonzalez
4dbdcc0bea Merge pull request #6282 from dokku/0.32-release
Release 0.32.0
2023-10-17 00:55:30 -04:00
Jose Diaz-Gonzalez
b3e752c5bb Merge pull request #6285 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.4.6
chore(deps): bump mkdocs-material from 9.4.5 to 9.4.6 in /docs/_build
2023-10-16 16:39:11 -04:00
Jose Diaz-Gonzalez
5e72bfabad Merge pull request #6283 from dokku/remove-deprecated-proxy-code
Remove deprecated proxy-ports functions and and plugin subcommands
2023-10-16 16:38:30 -04:00
Jose Diaz-Gonzalez
8dfee06c31 Merge pull request #6281 from dokku/upgrade-golang
Upgrade golang to 1.21
2023-10-16 16:38:09 -04:00
dependabot[bot]
787829e263 chore(deps): bump mkdocs-material from 9.4.5 to 9.4.6 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.4.5 to 9.4.6.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.4.5...9.4.6)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-16 13:53:54 +00:00
Jose Diaz-Gonzalez
30b8a25ced feat: upgrade golang to 1.21 2023-10-16 01:10:02 -04:00
Jose Diaz-Gonzalez
e23dcb4abe Merge pull request #6284 from dokku/checks-deprecation
Document future removal of deprecated CHECKS file format
2023-10-16 00:49:03 -04:00
Jose Diaz-Gonzalez
1adbcf7e2d docs: document future removal of deprecated CHECKS file format
This will be removed in the future in favor of defining healthchecks in the app.json file.
2023-10-16 00:21:16 -04:00
Jose Diaz-Gonzalez
126a3ed509 chore: remove deprecated proxy-ports functions and and plugin subcommands
These were deprecated in 0.31.0 in favor of the ports plugin.
2023-10-16 00:18:39 -04:00
Jose Diaz-Gonzalez
f33d7f129b feat: warn when incorrect interface/port in use for web processes
Users that misconfigure their process's listening interface or port will now see an additional healthcheck warning for web deploys. While only a single port is checked, this ensures that users at least have some context as to why their app isn't responding as expected.

Closes #4798
2023-10-15 20:25:09 -04:00
Jose Diaz-Gonzalez
ab8a957786 feat: run ps:restore in parallel by default
This will speed up restores in cases where app containers disappear on reboot or have new IPs, which primarily impacts the docker-local scheduler in conjunction with nginx.

Closes #4967
2023-10-15 20:25:09 -04:00
Jose Diaz-Gonzalez
fe6a0f796e feat: add support for nixpacks as a builder
Closes #5338
2023-10-15 20:25:09 -04:00
Jose Diaz-Gonzalez
76a979e139 chore: remove ARM support
Building/testing for ARM does not happen often - the only runtime environment is Raspberry PI, which supports ARM64 - and complicates support for a ton of features. Aside from that, CI runs are much longer for ARM Dokku images, often reaching 15-20 minutes or just timing out completely.

Rather than support an architecture that doesn't have much usage by maintainers and has a lot of maintenance burden, we're removing the platform.
2023-10-15 20:25:09 -04:00
Jose Diaz-Gonzalez
c23e878e7d feat: add the ability to specify a custom mailto for all cron output 2023-10-15 20:25:09 -04:00
Jose Diaz-Gonzalez
a433508fb1 chore: deprecate the builder-specific pre-build-* triggers in favor of a global pre-build trigger
The pre-build trigger takes a `BUILDER_TYPE` parameter, allowing folks to perform specific actions as needed.
2023-10-15 20:25:09 -04:00
Jose Diaz-Gonzalez
b19b409dd6 chore: deprecate the builder-specific post-build-* triggers in favor of a global post-build trigger
The pre-build trigger takes a `BUILDER_TYPE` parameter, allowing folks to perform specific actions as needed.
2023-10-15 20:25:09 -04:00
Jose Diaz-Gonzalez
cdd5698db9 chore: deprecate the builder-specific pre-release-* triggers in favor of a global pre-release-builder trigger
The pre-release-builder trigger takes a `BUILDER_TYPE` parameter, allowing folks to perform specific actions as needed.
2023-10-15 20:25:09 -04:00
Jose Diaz-Gonzalez
ffc64e7d8b feat: add a shell function to check if a plugin trigger exists 2023-10-15 20:25:08 -04:00
Jose Diaz-Gonzalez
4a43eeaaa8 docs: add a migration guide for 0.32.x 2023-10-15 20:25:08 -04:00
Jose Diaz-Gonzalez
c41cf0c4a3 Merge pull request #6280 from dokku/remove-more-bionic
Remove more references to ubuntu bionic
2023-10-15 20:23:05 -04:00
Jose Diaz-Gonzalez
859b87fadd fix: remove more references to ubuntu bionic 2023-10-15 20:21:44 -04:00
Dokku Bot
358da862c8 Release 0.31.5
# History

## 0.31.5

Install/update via the bootstrap script:

```shell
wget -NP . https://dokku.com/install/v0.31.5/bootstrap.sh
sudo DOKKU_TAG=v0.31.5 bash bootstrap.sh
```

### Bug Fixes

- #6275: @josegonzalez Update message referencing CHECKS file usage to app.json
- #6273: @josegonzalez Clean up local build images immediately after an image is released

### New Features

- #6274: @josegonzalez Add more version output to dokku report command
- #6255: @josegonzalez Add ci concurrency to linting workflow
- #6253: @josegonzalez Add ci concurrency to doc building
- #6254: @josegonzalez Add ci concurrency to codeql analysis
- #6222: @josegonzalez Install docker-buildx-plugin to silence buildx warnings

### Refactors

- #6257: @josegonzalez Manage Dokku system dependencies in a single file

### Documentation

- #6271: @josegonzalez Update list of official, community, and deprecated plugins
- #6224: @joeyates Correct typo in example app.json for healthchecks
- #6207: @AlejandroAkbal Update port clearing command in Dockerfile deploy documentation

### Tests

- #6278: @josegonzalez Remove pack installation from builder-lambda tests

### Dependencies

- #6269: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.14.0 to 0.17.0 in /plugins/common
- #6270: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.2.1 to 39.2.2
- #6262: @dependabot[bot] chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/zombies-dockerfile-no-tini
- #6263: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.16.0 to 0.17.0 in /tests/apps/gogrpc
- #6264: @dependabot[bot] chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/zombies-dockerfile-tini
- #6265: @dependabot[bot] chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/go-fail-predeploy
- #6259: @dependabot[bot] chore(deps): bump org.eclipse.jetty:jetty-servlet from 11.0.16 to 11.0.17 in /tests/apps/java
- #6260: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.4 to 9.4.5 in /docs/_build
- #6261: @dependabot[bot] chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/gogrpc
- #6266: @dependabot[bot] chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/go-fail-postdeploy
- #6258: @dependabot[bot] chore(deps): update markdown requirement from <3.5,>=3.2.1 to >=3.2.1,<3.6 in /docs/_build
- #6256: @josegonzalez chore: bump github.com/otiai10/copy and golang.org/x/sync
- #6241: @dependabot[bot] chore(deps): bump python from 3.11.5-alpine to 3.12.0-alpine in /docs/_build
- #6252: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.2 to 9.4.4 in /docs/_build
- #6235: @dependabot[bot] chore(deps): bump packaging from 23.1 to 23.2 in /docs/_build
- #6232: @dependabot[bot] chore(deps): bump werkzeug from 2.3.7 to 3.0.0 in /tests/apps/python-flask
- #6231: @dependabot[bot] chore(deps): bump flask from 2.3.3 to 3.0.0 in /tests/apps/python-flask
- #6248: @dependabot[bot] chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/gogrpc
- #6251: @dependabot[bot] chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/zombies-dockerfile-tini
- #6250: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.15.0 to 0.16.0 in /tests/apps/gogrpc
- #6249: @dependabot[bot] chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/go-fail-predeploy
- #6247: @dependabot[bot] chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/zombies-dockerfile-no-tini
- #6246: @dependabot[bot] chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/go-fail-postdeploy
- #6245: @dependabot[bot] chore(deps): bump golang.org/x/sync from 0.3.0 to 0.4.0 in /plugins/scheduler-docker-local
- #6233: @dependabot[bot] chore(deps): bump flask from 2.3.3 to 3.0.0 in /tests/apps/multi
- #6239: @dependabot[bot] chore(deps): bump github.com/otiai10/copy from 1.12.0 to 1.14.0 in /plugins/ps
- #6234: @dependabot[bot] chore(deps): bump github.com/otiai10/copy from 1.12.0 to 1.14.0 in /plugins/builder
- #6240: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.2.0 to 39.2.1
- #6228: @josegonzalez Update all go modules and ensure all are tracked in dependabot
- #6227: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.27.10 to 1.28.0 in /plugins/common
- #6216: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.1.2 to 39.2.0
- #6217: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.1 to 9.4.2 in /docs/_build
- #6215: @dependabot[bot] chore(deps): bump mkdocs-material from 9.3.1 to 9.4.1 in /docs/_build
- #6214: @dependabot[bot] chore(deps): bump mkdocs-material-extensions from 1.1.1 to 1.2 in /docs/_build
- #6209: @dependabot[bot] chore(deps): bump zipp from 3.16.2 to 3.17.0 in /docs/_build
- #6211: @dependabot[bot] chore(deps): bump mkdocs from 1.5.2 to 1.5.3 in /docs/_build
- #6213: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.0.2 to 39.1.2
- #6202: @dependabot[bot] chore(deps): bump docker/setup-buildx-action from 2 to 3
- #6199: @dependabot[bot] chore(deps): bump docker/login-action from 2 to 3
- #6200: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.0.0 to 39.0.2
- #6201: @dependabot[bot] chore(deps): bump docker/setup-qemu-action from 2 to 3
- #6203: @dependabot[bot] chore(deps): bump mkdocs-material from 9.2.8 to 9.3.1 in /docs/_build
2023-10-15 23:32:29 +00:00
Jose Diaz-Gonzalez
bf44d685a1 Merge pull request #6278 from dokku/josegonzalez-patch-1
Remove pack installation from builder-lambda tests
2023-10-15 05:02:38 -04:00
Jose Diaz-Gonzalez
4503045d8a chore: remove pack installation from builder-lambda tests
It isn't necessary and causes false-negatives when pack isn't able to be installed.
2023-10-15 03:46:20 -04:00
Jose Diaz-Gonzalez
44716c7146 Merge pull request #6275 from dokku/6205-update-checks-warning
Update message referencing CHECKS file usage to app.json
2023-10-15 01:28:24 -04:00
Jose Diaz-Gonzalez
8a15779c8d fix: upgrade docker-container-healthchecker to include exists command 2023-10-15 00:47:07 -04:00
Jose Diaz-Gonzalez
a89b8d6213 chore: convert all CHECKS files to healthchecks 2023-10-15 00:22:24 -04:00
Jose Diaz-Gonzalez
678757d55f fix: update message referencing CHECKS file usage to app.json
Refs #6205
2023-10-15 00:09:32 -04:00
Jose Diaz-Gonzalez
4c2f939480 Merge pull request #6274 from dokku/more-report-output
Add more version output to dokku report command
2023-10-14 23:38:45 -04:00
Jose Diaz-Gonzalez
4d6bd92b24 Merge pull request #6273 from dokku/6272-force-clean-intermediate-images
Clean up local build images immediately after an image is released
2023-10-14 23:32:49 -04:00
Jose Diaz-Gonzalez
5886339da7 feat: add more version output to dokku report command 2023-10-14 22:57:31 -04:00
Jose Diaz-Gonzalez
64ff701cd8 fix: clean up local build images immediately after an image is released
In some cases, we might hold onto intermediate images until the next deploy. While these images are generally part of newer images - and are therefore cleaned up when the child images are no longer in use - they cruft up the 'docker image ls' output, causing some folks to believe Dokku is not cleaning up images.

Refs #6272
2023-10-14 22:36:31 -04:00
Jose Diaz-Gonzalez
29a72d9aed Merge pull request #6269 from dokku/dependabot/go_modules/plugins/common/golang.org/x/net-0.17.0
chore(deps): bump golang.org/x/net from 0.14.0 to 0.17.0 in /plugins/common
2023-10-14 02:09:10 -07:00
Jose Diaz-Gonzalez
40620538dd Merge pull request #6257 from dokku/dependency-management
Manage Dokku system dependencies in a single file
2023-10-14 01:55:40 -07:00
Jose Diaz-Gonzalez
944c12f734 chore: update all plugins 2023-10-14 04:02:20 -04:00
Jose Diaz-Gonzalez
934a6b5cd5 feat: manage Dokku system dependencies in a single file
This will allow us to more quickly update a dependency by adding support so that downstream repos can auto-push updates to the main repo when there is a release.
2023-10-14 03:49:25 -04:00
Jose Diaz-Gonzalez
aaf4c1d7d1 Merge pull request #6271 from dokku/update-plugin-docs
Update list of official, community, and deprecated plugins
2023-10-14 00:28:33 -07:00
Jose Diaz-Gonzalez
dc865ceb9a docs: update list of official, community, and deprecated plugins 2023-10-14 03:28:11 -04:00
dependabot[bot]
978179181c chore(deps): bump golang.org/x/net in /plugins/common
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.14.0 to 0.17.0.
- [Commits](https://github.com/golang/net/compare/v0.14.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-14 02:09:30 +00:00
Jose Diaz-Gonzalez
97ae4bf17e Merge pull request #6270 from dokku/dependabot/github_actions/tj-actions/changed-files-39.2.2
chore(deps): bump tj-actions/changed-files from 39.2.1 to 39.2.2
2023-10-13 19:09:04 -07:00
Jose Diaz-Gonzalez
2e1b98ff8f Merge pull request #6262 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.21.3
chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/zombies-dockerfile-no-tini
2023-10-13 19:08:56 -07:00
Jose Diaz-Gonzalez
4e846f53d8 Merge pull request #6263 from dokku/dependabot/go_modules/tests/apps/gogrpc/golang.org/x/net-0.17.0
chore(deps): bump golang.org/x/net from 0.16.0 to 0.17.0 in /tests/apps/gogrpc
2023-10-13 19:08:27 -07:00
dependabot[bot]
5554397658 chore(deps): bump tj-actions/changed-files from 39.2.1 to 39.2.2
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 39.2.1 to 39.2.2.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v39.2.1...v39.2.2)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-12 13:07:11 +00:00
dependabot[bot]
b880029956 chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.21.2 to 1.21.3.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-11 22:49:52 +00:00
Jose Diaz-Gonzalez
3c36970655 Merge pull request #6264 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.21.3
chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/zombies-dockerfile-tini
2023-10-11 18:48:34 -04:00
Jose Diaz-Gonzalez
0c8267e0d2 Merge pull request #6265 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.21.3
chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/go-fail-predeploy
2023-10-11 18:48:21 -04:00
dependabot[bot]
98be085425 chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.21.2 to 1.21.3.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-11 20:43:13 +00:00
dependabot[bot]
4455b495e0 chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.21.2 to 1.21.3.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-11 20:42:25 +00:00
Jose Diaz-Gonzalez
2ff642bd2f Merge pull request #6259 from dokku/dependabot/maven/tests/apps/java/org.eclipse.jetty-jetty-servlet-11.0.17
chore(deps): bump org.eclipse.jetty:jetty-servlet from 11.0.16 to 11.0.17 in /tests/apps/java
2023-10-11 16:40:53 -04:00
Jose Diaz-Gonzalez
c745e05382 Merge pull request #6260 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.4.5
chore(deps): bump mkdocs-material from 9.4.4 to 9.4.5 in /docs/_build
2023-10-11 16:40:45 -04:00
Jose Diaz-Gonzalez
96f9c66144 Merge pull request #6261 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.21.3
chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/gogrpc
2023-10-11 16:40:36 -04:00
Jose Diaz-Gonzalez
c84089cc11 Merge pull request #6266 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.21.3
chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/go-fail-postdeploy
2023-10-11 16:40:21 -04:00
dependabot[bot]
7190270c0e chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.21.2 to 1.21.3.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-11 13:48:30 +00:00
dependabot[bot]
7c93c490d0 chore(deps): bump golang.org/x/net in /tests/apps/gogrpc
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.16.0 to 0.17.0.
- [Commits](https://github.com/golang/net/compare/v0.16.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-11 13:26:13 +00:00
dependabot[bot]
46de39b792 chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/gogrpc
Bumps golang from 1.21.2 to 1.21.3.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-11 13:16:30 +00:00
dependabot[bot]
03571b200f chore(deps): bump mkdocs-material from 9.4.4 to 9.4.5 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.4.4 to 9.4.5.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.4.4...9.4.5)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-10 13:49:33 +00:00
dependabot[bot]
97cf966b22 chore(deps): bump org.eclipse.jetty:jetty-servlet in /tests/apps/java
Bumps [org.eclipse.jetty:jetty-servlet](https://github.com/eclipse/jetty.project) from 11.0.16 to 11.0.17.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-11.0.16...jetty-11.0.17)

---
updated-dependencies:
- dependency-name: org.eclipse.jetty:jetty-servlet
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-10 13:16:14 +00:00
Jose Diaz-Gonzalez
09116cb42b Merge pull request #6258 from dokku/dependabot/pip/docs/_build/markdown-gte-3.2.1-and-lt-3.6
chore(deps): update markdown requirement from <3.5,>=3.2.1 to >=3.2.1,<3.6 in /docs/_build
2023-10-09 20:33:58 -04:00
dependabot[bot]
1204e8b4c0 chore(deps): update markdown requirement in /docs/_build
Updates the requirements on [markdown](https://github.com/Python-Markdown/markdown) to permit the latest version.
- [Changelog](https://github.com/Python-Markdown/markdown/blob/master/docs/changelog.md)
- [Commits](https://github.com/Python-Markdown/markdown/compare/3.2.1...3.5)

---
updated-dependencies:
- dependency-name: markdown
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-09 13:28:48 +00:00
Jose Diaz-Gonzalez
0646cee6c8 Merge pull request #6256 from dokku/update-dependencies
chore: bump github.com/otiai10/copy and golang.org/x/sync
2023-10-07 01:05:28 -04:00
Jose Diaz-Gonzalez
baf3d347f0 chore: bump github.com/otiai10/copy and golang.org/x/sync 2023-10-06 23:21:34 -04:00
Jose Diaz-Gonzalez
bb019f9bcb Merge pull request #6255 from dokku/josegonzalez-patch-3
Add ci concurrency to linting workflow
2023-10-06 23:17:36 -04:00
Jose Diaz-Gonzalez
3688365e5d feat: add ci concurrency to linting workflow 2023-10-06 23:17:23 -04:00
Jose Diaz-Gonzalez
fc942f20c1 Merge pull request #6253 from dokku/josegonzalez-patch-2
feat: add ci concurrency to doc building
2023-10-06 23:16:48 -04:00
Jose Diaz-Gonzalez
cf35d913f9 Merge pull request #6254 from dokku/josegonzalez-patch-1
Add ci concurrency to codeql analysis
2023-10-06 23:16:42 -04:00
Jose Diaz-Gonzalez
cef902e315 feat: add ci concurrency to doc building 2023-10-06 23:16:24 -04:00
Jose Diaz-Gonzalez
b382aedcee feat: add ci concurrency to codeql analysis 2023-10-06 23:16:04 -04:00
Jose Diaz-Gonzalez
6538f076d2 Merge pull request #6241 from dokku/dependabot/docker/docs/_build/python-3.12.0-alpine
chore(deps): bump python from 3.11.5-alpine to 3.12.0-alpine in /docs/_build
2023-10-06 23:11:09 -04:00
Jose Diaz-Gonzalez
2acc7976d0 Merge pull request #6252 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.4.4
chore(deps): bump mkdocs-material from 9.4.2 to 9.4.4 in /docs/_build
2023-10-06 23:11:03 -04:00
Jose Diaz-Gonzalez
378a228ab7 Merge pull request #6235 from dokku/dependabot/pip/docs/_build/packaging-23.2
chore(deps): bump packaging from 23.1 to 23.2 in /docs/_build
2023-10-06 23:10:56 -04:00
Jose Diaz-Gonzalez
8c0b069171 Merge pull request #6232 from dokku/dependabot/pip/tests/apps/python-flask/werkzeug-3.0.0
chore(deps): bump werkzeug from 2.3.7 to 3.0.0 in /tests/apps/python-flask
2023-10-06 23:10:49 -04:00
Jose Diaz-Gonzalez
fd97c1721d Merge pull request #6231 from dokku/dependabot/pip/tests/apps/python-flask/flask-3.0.0
chore(deps): bump flask from 2.3.3 to 3.0.0 in /tests/apps/python-flask
2023-10-06 23:10:43 -04:00
Jose Diaz-Gonzalez
53b7ce0dc6 Merge pull request #6248 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.21.2
chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/gogrpc
2023-10-06 23:10:25 -04:00
Jose Diaz-Gonzalez
483612bc10 Merge pull request #6251 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.21.2
chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/zombies-dockerfile-tini
2023-10-06 23:10:20 -04:00
Jose Diaz-Gonzalez
417130a760 Merge pull request #6250 from dokku/dependabot/go_modules/tests/apps/gogrpc/golang.org/x/net-0.16.0
chore(deps): bump golang.org/x/net from 0.15.0 to 0.16.0 in /tests/apps/gogrpc
2023-10-06 23:10:12 -04:00
Jose Diaz-Gonzalez
7cfed12584 Merge pull request #6249 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.21.2
chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/go-fail-predeploy
2023-10-06 23:10:05 -04:00
Jose Diaz-Gonzalez
b77c856120 Merge pull request #6247 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.21.2
chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/zombies-dockerfile-no-tini
2023-10-06 23:09:59 -04:00
Jose Diaz-Gonzalez
e2cafe1599 Merge pull request #6246 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.21.2
chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/go-fail-postdeploy
2023-10-06 23:09:54 -04:00
Jose Diaz-Gonzalez
46bd543bc9 Merge pull request #6245 from dokku/dependabot/go_modules/plugins/scheduler-docker-local/golang.org/x/sync-0.4.0
chore(deps): bump golang.org/x/sync from 0.3.0 to 0.4.0 in /plugins/scheduler-docker-local
2023-10-06 23:09:49 -04:00
Jose Diaz-Gonzalez
41cd4587a7 Merge pull request #6233 from dokku/dependabot/pip/tests/apps/multi/flask-3.0.0
chore(deps): bump flask from 2.3.3 to 3.0.0 in /tests/apps/multi
2023-10-06 23:09:43 -04:00
Jose Diaz-Gonzalez
25b702e7d6 Merge pull request #6239 from dokku/dependabot/go_modules/plugins/ps/github.com/otiai10/copy-1.14.0
chore(deps): bump github.com/otiai10/copy from 1.12.0 to 1.14.0 in /plugins/ps
2023-10-06 23:09:20 -04:00
Jose Diaz-Gonzalez
46641f8fc7 Merge pull request #6234 from dokku/dependabot/go_modules/plugins/builder/github.com/otiai10/copy-1.14.0
chore(deps): bump github.com/otiai10/copy from 1.12.0 to 1.14.0 in /plugins/builder
2023-10-06 23:09:14 -04:00
Jose Diaz-Gonzalez
a5292abe03 Merge pull request #6240 from dokku/dependabot/github_actions/tj-actions/changed-files-39.2.1
chore(deps): bump tj-actions/changed-files from 39.2.0 to 39.2.1
2023-10-06 23:08:52 -04:00
dependabot[bot]
db4becf56f chore(deps): bump mkdocs-material from 9.4.2 to 9.4.4 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.4.2 to 9.4.4.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.4.2...9.4.4)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-06 13:31:33 +00:00
dependabot[bot]
c0ef4d0e4c chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.21.1 to 1.21.2.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-06 13:31:01 +00:00
dependabot[bot]
80b7856732 chore(deps): bump golang.org/x/net in /tests/apps/gogrpc
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.15.0 to 0.16.0.
- [Commits](https://github.com/golang/net/compare/v0.15.0...v0.16.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-06 13:30:46 +00:00
dependabot[bot]
be693fa3cd chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.21.1 to 1.21.2.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-06 13:27:36 +00:00
dependabot[bot]
b9bb78fc33 chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/gogrpc
Bumps golang from 1.21.1 to 1.21.2.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-06 13:25:16 +00:00
dependabot[bot]
37d6e12124 chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.21.1 to 1.21.2.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-06 13:23:17 +00:00
dependabot[bot]
db99f8c2be chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.21.1 to 1.21.2.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-06 13:20:09 +00:00
dependabot[bot]
a4d3ade82b chore(deps): bump golang.org/x/sync in /plugins/scheduler-docker-local
Bumps [golang.org/x/sync](https://github.com/golang/sync) from 0.3.0 to 0.4.0.
- [Commits](https://github.com/golang/sync/compare/v0.3.0...v0.4.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sync
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-05 14:08:30 +00:00
dependabot[bot]
d4cf202d7a chore(deps): bump python in /docs/_build
Bumps python from 3.11.5-alpine to 3.12.0-alpine.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-03 13:36:51 +00:00
dependabot[bot]
f8faf51e66 chore(deps): bump tj-actions/changed-files from 39.2.0 to 39.2.1
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 39.2.0 to 39.2.1.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v39.2.0...v39.2.1)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-03 13:05:34 +00:00
dependabot[bot]
99ba76a40f chore(deps): bump github.com/otiai10/copy in /plugins/ps
Bumps [github.com/otiai10/copy](https://github.com/otiai10/copy) from 1.12.0 to 1.14.0.
- [Release notes](https://github.com/otiai10/copy/releases)
- [Commits](https://github.com/otiai10/copy/compare/v1.12.0...v1.14.0)

---
updated-dependencies:
- dependency-name: github.com/otiai10/copy
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-02 14:01:31 +00:00
dependabot[bot]
31de4dd5a4 chore(deps): bump packaging from 23.1 to 23.2 in /docs/_build
Bumps [packaging](https://github.com/pypa/packaging) from 23.1 to 23.2.
- [Release notes](https://github.com/pypa/packaging/releases)
- [Changelog](https://github.com/pypa/packaging/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pypa/packaging/compare/23.1...23.2)

---
updated-dependencies:
- dependency-name: packaging
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-02 13:47:36 +00:00
dependabot[bot]
a1959a7036 chore(deps): bump github.com/otiai10/copy in /plugins/builder
Bumps [github.com/otiai10/copy](https://github.com/otiai10/copy) from 1.12.0 to 1.14.0.
- [Release notes](https://github.com/otiai10/copy/releases)
- [Commits](https://github.com/otiai10/copy/compare/v1.12.0...v1.14.0)

---
updated-dependencies:
- dependency-name: github.com/otiai10/copy
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-02 13:45:20 +00:00
dependabot[bot]
e8f5b2efcf chore(deps): bump flask from 2.3.3 to 3.0.0 in /tests/apps/multi
Bumps [flask](https://github.com/pallets/flask) from 2.3.3 to 3.0.0.
- [Release notes](https://github.com/pallets/flask/releases)
- [Changelog](https://github.com/pallets/flask/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/flask/compare/2.3.3...3.0.0)

---
updated-dependencies:
- dependency-name: flask
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-02 13:45:16 +00:00
dependabot[bot]
bfc60816e5 chore(deps): bump werkzeug in /tests/apps/python-flask
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 2.3.7 to 3.0.0.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/2.3.7...3.0.0)

---
updated-dependencies:
- dependency-name: werkzeug
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-02 13:21:17 +00:00
dependabot[bot]
861b28edb9 chore(deps): bump flask from 2.3.3 to 3.0.0 in /tests/apps/python-flask
Bumps [flask](https://github.com/pallets/flask) from 2.3.3 to 3.0.0.
- [Release notes](https://github.com/pallets/flask/releases)
- [Changelog](https://github.com/pallets/flask/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/flask/compare/2.3.3...3.0.0)

---
updated-dependencies:
- dependency-name: flask
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-02 13:21:12 +00:00
Jose Diaz-Gonzalez
a77c27d088 Merge pull request #6228 from dokku/update-dependencies
Update all go modules and ensure all are tracked in dependabot
2023-09-29 00:09:59 -04:00
Jose Diaz-Gonzalez
978644c1f7 chore: update all go modules and ensure all are tracked in dependabot 2023-09-28 23:34:37 -04:00
Jose Diaz-Gonzalez
dbb42cf18c Merge pull request #6224 from joeyates/patch-1
Correct typo in example app.json for healthchecks
2023-09-28 23:16:51 -04:00
Jose Diaz-Gonzalez
b6a917492f Merge pull request #6227 from dokku/dependabot/go_modules/plugins/common/github.com/onsi/gomega-1.28.0
chore(deps): bump github.com/onsi/gomega from 1.27.10 to 1.28.0 in /plugins/common
2023-09-28 23:16:18 -04:00
dependabot[bot]
23efb7295c chore(deps): bump github.com/onsi/gomega in /plugins/common
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.27.10 to 1.28.0.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](https://github.com/onsi/gomega/compare/v1.27.10...v1.28.0)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-28 13:54:06 +00:00
Joe Yates
38765ec07d Correct typo in example JSON 2023-09-27 15:49:00 +01:00
Jose Diaz-Gonzalez
2911772244 Merge pull request #6222 from dokku/6221-silence-warnings
Install docker-buildx-plugin to silence buildx warnings
2023-09-26 00:08:20 -04:00
Jose Diaz-Gonzalez
e49cb50e67 feat: install docker-buildx-plugin to silence buildx warnings
Closes #6221
2023-09-25 21:14:34 -04:00
Jose Diaz-Gonzalez
a0af2139b4 Merge pull request #6216 from dokku/dependabot/github_actions/tj-actions/changed-files-39.2.0
chore(deps): bump tj-actions/changed-files from 39.1.2 to 39.2.0
2023-09-25 12:02:46 -04:00
Jose Diaz-Gonzalez
9cb847bf23 Merge pull request #6217 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.4.2
chore(deps): bump mkdocs-material from 9.4.1 to 9.4.2 in /docs/_build
2023-09-25 12:02:36 -04:00
dependabot[bot]
71e5ffac5b chore(deps): bump mkdocs-material from 9.4.1 to 9.4.2 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.4.1 to 9.4.2.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.4.1...9.4.2)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-25 13:36:21 +00:00
dependabot[bot]
fbcc667ca0 chore(deps): bump tj-actions/changed-files from 39.1.2 to 39.2.0
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 39.1.2 to 39.2.0.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v39.1.2...v39.2.0)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-25 13:35:57 +00:00
Jose Diaz-Gonzalez
726f92c6e2 Merge pull request #6207 from AlejandroAkbal/master
docs(Dockerfiles): fix wrong command
2023-09-23 00:39:02 -04:00
Jose Diaz-Gonzalez
1b1c42d69f docs: update command
The latest Dokku manages ports via the ports command.
2023-09-23 00:38:34 -04:00
Jose Diaz-Gonzalez
e007ee83c5 Merge pull request #6215 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.4.1
chore(deps): bump mkdocs-material from 9.3.1 to 9.4.1 in /docs/_build
2023-09-23 00:36:31 -04:00
dependabot[bot]
6aee78b640 chore(deps): bump mkdocs-material from 9.3.1 to 9.4.1 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.3.1 to 9.4.1.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.3.1...9.4.1)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-23 04:36:25 +00:00
Jose Diaz-Gonzalez
8817955190 Merge pull request #6214 from dokku/dependabot/pip/docs/_build/mkdocs-material-extensions-1.2
chore(deps): bump mkdocs-material-extensions from 1.1.1 to 1.2 in /docs/_build
2023-09-23 00:35:56 -04:00
Jose Diaz-Gonzalez
a82cb6c0ec Merge pull request #6209 from dokku/dependabot/pip/docs/_build/zipp-3.17.0
chore(deps): bump zipp from 3.16.2 to 3.17.0 in /docs/_build
2023-09-23 00:35:49 -04:00
Jose Diaz-Gonzalez
f0b3517e9a Merge pull request #6211 from dokku/dependabot/pip/docs/_build/mkdocs-1.5.3
chore(deps): bump mkdocs from 1.5.2 to 1.5.3 in /docs/_build
2023-09-23 00:35:27 -04:00
Jose Diaz-Gonzalez
2130d94fb0 Merge pull request #6213 from dokku/dependabot/github_actions/tj-actions/changed-files-39.1.2
chore(deps): bump tj-actions/changed-files from 39.0.2 to 39.1.2
2023-09-23 00:35:17 -04:00
dependabot[bot]
f1740b9247 chore(deps): bump mkdocs-material-extensions in /docs/_build
Bumps [mkdocs-material-extensions](https://github.com/facelessuser/mkdocs-material-extensions) from 1.1.1 to 1.2.
- [Release notes](https://github.com/facelessuser/mkdocs-material-extensions/releases)
- [Changelog](https://github.com/facelessuser/mkdocs-material-extensions/blob/master/changelog.md)
- [Commits](https://github.com/facelessuser/mkdocs-material-extensions/compare/1.1.1...1.2)

---
updated-dependencies:
- dependency-name: mkdocs-material-extensions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-21 13:51:54 +00:00
dependabot[bot]
8c13bc183b chore(deps): bump tj-actions/changed-files from 39.0.2 to 39.1.2
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 39.0.2 to 39.1.2.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v39.0.2...v39.1.2)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-21 13:23:21 +00:00
dependabot[bot]
da7b4fcb59 chore(deps): bump mkdocs from 1.5.2 to 1.5.3 in /docs/_build
Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.5.2...1.5.3)

---
updated-dependencies:
- dependency-name: mkdocs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-19 13:32:34 +00:00
dependabot[bot]
1717a8da79 chore(deps): bump zipp from 3.16.2 to 3.17.0 in /docs/_build
Bumps [zipp](https://github.com/jaraco/zipp) from 3.16.2 to 3.17.0.
- [Release notes](https://github.com/jaraco/zipp/releases)
- [Changelog](https://github.com/jaraco/zipp/blob/main/NEWS.rst)
- [Commits](https://github.com/jaraco/zipp/compare/v3.16.2...v3.17.0)

---
updated-dependencies:
- dependency-name: zipp
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-19 13:32:20 +00:00
Alejandro Akbal
a4203843a1 docs: fix wrong command 2023-09-18 18:48:05 +01:00
Jose Diaz-Gonzalez
634307eca6 Merge pull request #6202 from dokku/dependabot/github_actions/docker/setup-buildx-action-3
chore(deps): bump docker/setup-buildx-action from 2 to 3
2023-09-16 21:34:45 -04:00
Jose Diaz-Gonzalez
a6439605a1 Merge pull request #6199 from dokku/dependabot/github_actions/docker/login-action-3
chore(deps): bump docker/login-action from 2 to 3
2023-09-16 21:34:36 -04:00
Jose Diaz-Gonzalez
0bb5508c72 Merge pull request #6200 from dokku/dependabot/github_actions/tj-actions/changed-files-39.0.2
chore(deps): bump tj-actions/changed-files from 39.0.0 to 39.0.2
2023-09-16 21:34:22 -04:00
Jose Diaz-Gonzalez
5c30b2fb38 Merge pull request #6201 from dokku/dependabot/github_actions/docker/setup-qemu-action-3
chore(deps): bump docker/setup-qemu-action from 2 to 3
2023-09-16 21:34:15 -04:00
Jose Diaz-Gonzalez
414e630c8b Merge pull request #6203 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.3.1
chore(deps): bump mkdocs-material from 9.2.8 to 9.3.1 in /docs/_build
2023-09-16 21:34:01 -04:00
dependabot[bot]
d88c7f5319 chore(deps): bump mkdocs-material from 9.2.8 to 9.3.1 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.2.8 to 9.3.1.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.2.8...9.3.1)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 13:56:51 +00:00
dependabot[bot]
0ea482bace chore(deps): bump docker/setup-buildx-action from 2 to 3
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 2 to 3.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 13:15:29 +00:00
dependabot[bot]
3e99c5769b chore(deps): bump docker/setup-qemu-action from 2 to 3
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 2 to 3.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 13:15:26 +00:00
dependabot[bot]
3316914e67 chore(deps): bump tj-actions/changed-files from 39.0.0 to 39.0.2
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 39.0.0 to 39.0.2.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v39.0.0...v39.0.2)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 13:15:23 +00:00
dependabot[bot]
a8aed16b17 chore(deps): bump docker/login-action from 2 to 3
Bumps [docker/login-action](https://github.com/docker/login-action) from 2 to 3.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 13:15:19 +00:00
Dokku Bot
ac0ba064ce Release 0.31.4
# History

## 0.31.4

Install/update via the bootstrap script:

```shell
wget -NP . https://dokku.com/install/v0.31.4/bootstrap.sh
sudo DOKKU_TAG=v0.31.4 bash bootstrap.sh
```

### Documentation

- #5958: @gamedevsam Update command used to retrieve image digest when image is not pushed to a registry

### Dependencies

- #6194: @dependabot[bot] chore(deps): bump golang from 1.21.0 to 1.21.1 in /tests/apps/go-fail-predeploy
- #6197: @dependabot[bot] chore(deps): bump golang from 1.21.0 to 1.21.1 in /tests/apps/gogrpc
- #6195: @dependabot[bot] chore(deps): bump golang from 1.21.0 to 1.21.1 in /tests/apps/go-fail-postdeploy
- #6196: @dependabot[bot] chore(deps): bump golang from 1.21.0 to 1.21.1 in /tests/apps/zombies-dockerfile-tini
- #6193: @dependabot[bot] chore(deps): bump golang from 1.21.0 to 1.21.1 in /tests/apps/zombies-dockerfile-no-tini
- #6190: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.14.0 to 0.15.0 in /tests/apps/gogrpc

### Other

- #6191: @josegonzalez chore: remove debug logging from git plugin
2023-09-10 17:27:58 +00:00
Jose Diaz-Gonzalez
2c9aaadae4 Merge pull request #5958 from gamedevsam/patch-1
Fix command to get docker image digest
2023-09-09 22:53:48 -04:00
Jose Diaz-Gonzalez
5c2bb443bd docs: clarify when to use a particular method to retrieve the sha256 digest
See [this link](https://web.archive.org/web/20230315050507/https://windsock.io/explaining-docker-image-ids/) for an explanation on why the two methods coexist.
2023-09-09 22:53:09 -04:00
Jose Diaz-Gonzalez
833e136ec5 Merge pull request #6194 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.21.1
chore(deps): bump golang from 1.21.0 to 1.21.1 in /tests/apps/go-fail-predeploy
2023-09-09 22:32:24 -04:00
Jose Diaz-Gonzalez
2056914c92 Merge pull request #6197 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.21.1
chore(deps): bump golang from 1.21.0 to 1.21.1 in /tests/apps/gogrpc
2023-09-09 22:32:18 -04:00
dependabot[bot]
f239ca6dd5 chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.21.0 to 1.21.1.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-10 02:32:08 +00:00
dependabot[bot]
ffcb7fef06 chore(deps): bump golang from 1.21.0 to 1.21.1 in /tests/apps/gogrpc
Bumps golang from 1.21.0 to 1.21.1.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-10 02:32:02 +00:00
Jose Diaz-Gonzalez
3bb4a0ab09 Merge pull request #6191 from dokku/josegonzalez-patch-1
chore: remove debug logging from git plugin
2023-09-09 22:31:55 -04:00
Jose Diaz-Gonzalez
3d8850897f Merge pull request #6195 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.21.1
chore(deps): bump golang from 1.21.0 to 1.21.1 in /tests/apps/go-fail-postdeploy
2023-09-09 22:31:31 -04:00
Jose Diaz-Gonzalez
fe4d8d76c5 Merge pull request #6196 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.21.1
chore(deps): bump golang from 1.21.0 to 1.21.1 in /tests/apps/zombies-dockerfile-tini
2023-09-09 22:31:24 -04:00
Jose Diaz-Gonzalez
610827abe6 Merge pull request #6193 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.21.1
chore(deps): bump golang from 1.21.0 to 1.21.1 in /tests/apps/zombies-dockerfile-no-tini
2023-09-09 22:31:18 -04:00
dependabot[bot]
7eb897798c chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.21.0 to 1.21.1.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-07 13:59:25 +00:00
dependabot[bot]
c9438a37d2 chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.21.0 to 1.21.1.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-07 13:23:03 +00:00
dependabot[bot]
0f42fbbb4d chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.21.0 to 1.21.1.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-07 13:13:07 +00:00
Jose Diaz-Gonzalez
b246f45d86 Merge pull request #6190 from dokku/dependabot/go_modules/tests/apps/gogrpc/golang.org/x/net-0.15.0
chore(deps): bump golang.org/x/net from 0.14.0 to 0.15.0 in /tests/apps/gogrpc
2023-09-07 01:39:09 -04:00
Jose Diaz-Gonzalez
df24091459 chore: remove debug logging from git plugin
This was accidentally included during a previous bugfix.
2023-09-07 01:30:50 -04:00
dependabot[bot]
c23bf5046b chore(deps): bump golang.org/x/net in /tests/apps/gogrpc
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.14.0 to 0.15.0.
- [Commits](https://github.com/golang/net/compare/v0.14.0...v0.15.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-06 13:06:13 +00:00
Dokku Bot
5b772d6a22 Release 0.31.3
# History

## 0.31.3

Install/update via the bootstrap script:

```shell
wget -NP . https://dokku.com/install/v0.31.3/bootstrap.sh
sudo DOKKU_TAG=v0.31.3 bash bootstrap.sh
```

### Bug Fixes

- #6179: @rct-k Fix build cache for herokuish-built apps

### Tests

- #6177: @maxvisser Update shellcheck junit integration for newer version of shellcheck

### Dependencies

- #6186: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.2.1 to 10.3 in /docs/_build
- #6184: @dependabot[bot] chore(deps): bump soupsieve from 2.4.1 to 2.5 in /docs/_build
- #6183: @dependabot[bot] chore(deps): bump actions/checkout from 3 to 4
- #6187: @dependabot[bot] chore(deps): bump mkdocs-material from 9.2.6 to 9.2.8 in /docs/_build
- #6188: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 38.2.0 to 39.0.0
- #6173: @dependabot[bot] chore(deps): bump org.eclipse.jetty:jetty-servlet from 11.0.15 to 11.0.16 in /tests/apps/java
- #6174: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 38.1.3 to 38.2.0
- #6175: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.2 to 10.2.1 in /docs/_build
- #6176: @dependabot[bot] chore(deps): bump mkdocs-material from 9.2.5 to 9.2.6 in /docs/_build
- #6171: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.1 to 10.2 in /docs/_build
- #6168: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 38.1.0 to 38.1.3
- #6170: @dependabot[bot] chore(deps): bump mkdocs-material from 9.2.3 to 9.2.5 in /docs/_build
- #6169: @dependabot[bot] chore(deps): bump python from 3.11.4-alpine to 3.11.5-alpine in /docs/_build
2023-09-06 05:48:28 +00:00
Jose Diaz-Gonzalez
6b85d141a1 Merge pull request #6186 from dokku/dependabot/pip/docs/_build/pymdown-extensions-10.3
chore(deps): bump pymdown-extensions from 10.2.1 to 10.3 in /docs/_build
2023-09-05 22:01:17 -04:00
Jose Diaz-Gonzalez
12f5ebf313 Merge pull request #6184 from dokku/dependabot/pip/docs/_build/soupsieve-2.5
chore(deps): bump soupsieve from 2.4.1 to 2.5 in /docs/_build
2023-09-05 22:01:11 -04:00
Jose Diaz-Gonzalez
08b1f4ac04 Merge pull request #6177 from maxvisser/patch-1
Update shellcheck junit integration for newer version of shellcheck
2023-09-05 22:00:39 -04:00
Jose Diaz-Gonzalez
e1e3d91000 Merge pull request #6179 from rct-k/issue-6178
Build cache fix
2023-09-05 22:00:04 -04:00
Jose Diaz-Gonzalez
323e996dd2 Merge pull request #6183 from dokku/dependabot/github_actions/actions/checkout-4
chore(deps): bump actions/checkout from 3 to 4
2023-09-05 21:59:46 -04:00
Jose Diaz-Gonzalez
804f774889 Merge pull request #6187 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.2.8
chore(deps): bump mkdocs-material from 9.2.6 to 9.2.8 in /docs/_build
2023-09-05 21:59:33 -04:00
Jose Diaz-Gonzalez
24b6c0ac33 Merge pull request #6188 from dokku/dependabot/github_actions/tj-actions/changed-files-39.0.0
chore(deps): bump tj-actions/changed-files from 38.2.0 to 39.0.0
2023-09-05 21:59:27 -04:00
Jose Diaz-Gonzalez
fc59b39874 chore: use quote around entire argument 2023-09-05 20:45:01 -04:00
dependabot[bot]
2c07aa20d6 chore(deps): bump tj-actions/changed-files from 38.2.0 to 39.0.0
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 38.2.0 to 39.0.0.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v38.2.0...v39.0.0)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-05 13:21:12 +00:00
dependabot[bot]
435cc6c793 chore(deps): bump mkdocs-material from 9.2.6 to 9.2.8 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.2.6 to 9.2.8.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.2.6...9.2.8)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-05 13:10:16 +00:00
dependabot[bot]
1e75ecfbf6 chore(deps): bump pymdown-extensions from 10.2.1 to 10.3 in /docs/_build
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.2.1 to 10.3.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.2.1...10.3)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 13:48:03 +00:00
dependabot[bot]
c0b4570bbe chore(deps): bump soupsieve from 2.4.1 to 2.5 in /docs/_build
Bumps [soupsieve](https://github.com/facelessuser/soupsieve) from 2.4.1 to 2.5.
- [Release notes](https://github.com/facelessuser/soupsieve/releases)
- [Commits](https://github.com/facelessuser/soupsieve/compare/2.4.1...2.5)

---
updated-dependencies:
- dependency-name: soupsieve
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 13:47:55 +00:00
dependabot[bot]
3ec04b4d9e chore(deps): bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 13:17:38 +00:00
kurt
c18af09f52 use app name instead of test 2023-09-02 23:11:53 -06:00
Jose Diaz-Gonzalez
e18340618f Merge pull request #6173 from dokku/dependabot/maven/tests/apps/java/org.eclipse.jetty-jetty-servlet-11.0.16
chore(deps): bump org.eclipse.jetty:jetty-servlet from 11.0.15 to 11.0.16 in /tests/apps/java
2023-09-02 14:01:05 -04:00
Jose Diaz-Gonzalez
7ae5c38946 Merge pull request #6174 from dokku/dependabot/github_actions/tj-actions/changed-files-38.2.0
chore(deps): bump tj-actions/changed-files from 38.1.3 to 38.2.0
2023-09-02 14:00:56 -04:00
Jose Diaz-Gonzalez
adca710a7c Merge pull request #6175 from dokku/dependabot/pip/docs/_build/pymdown-extensions-10.2.1
chore(deps): bump pymdown-extensions from 10.2 to 10.2.1 in /docs/_build
2023-09-02 14:00:47 -04:00
Jose Diaz-Gonzalez
fecd107955 Merge pull request #6176 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.2.6
chore(deps): bump mkdocs-material from 9.2.5 to 9.2.6 in /docs/_build
2023-09-02 14:00:35 -04:00
Max Visser
b9a94553f8 added fixes for shellcheck v0.9.0
Shellcheck v0.9.0 added more info to output like suggestions to improve your lines
2023-08-31 20:29:12 +02:00
dependabot[bot]
86628123a4 chore(deps): bump mkdocs-material from 9.2.5 to 9.2.6 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.2.5 to 9.2.6.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.2.5...9.2.6)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-31 13:53:23 +00:00
dependabot[bot]
136798cd6e chore(deps): bump pymdown-extensions from 10.2 to 10.2.1 in /docs/_build
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.2 to 10.2.1.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.2...10.2.1)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-31 13:53:14 +00:00
dependabot[bot]
a25ddba5f8 chore(deps): bump tj-actions/changed-files from 38.1.3 to 38.2.0
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 38.1.3 to 38.2.0.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v38.1.3...v38.2.0)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-31 13:17:25 +00:00
dependabot[bot]
73e7c70193 chore(deps): bump org.eclipse.jetty:jetty-servlet in /tests/apps/java
Bumps [org.eclipse.jetty:jetty-servlet](https://github.com/eclipse/jetty.project) from 11.0.15 to 11.0.16.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-11.0.15...jetty-11.0.16)

---
updated-dependencies:
- dependency-name: org.eclipse.jetty:jetty-servlet
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-31 13:04:50 +00:00
Jose Diaz-Gonzalez
f14f563c97 Merge pull request #6171 from dokku/dependabot/pip/docs/_build/pymdown-extensions-10.2
chore(deps): bump pymdown-extensions from 10.1 to 10.2 in /docs/_build
2023-08-30 22:37:10 -04:00
dependabot[bot]
dab2af48cd chore(deps): bump pymdown-extensions from 10.1 to 10.2 in /docs/_build
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.1 to 10.2.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.1.0...10.2)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-29 13:54:40 +00:00
Jose Diaz-Gonzalez
f37bbecd47 Merge pull request #6168 from dokku/dependabot/github_actions/tj-actions/changed-files-38.1.3
chore(deps): bump tj-actions/changed-files from 38.1.0 to 38.1.3
2023-08-28 17:48:45 -04:00
Jose Diaz-Gonzalez
ab65ba66cc Merge pull request #6170 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.2.5
chore(deps): bump mkdocs-material from 9.2.3 to 9.2.5 in /docs/_build
2023-08-28 17:48:39 -04:00
Jose Diaz-Gonzalez
e8ea1519ce Merge pull request #6169 from dokku/dependabot/docker/docs/_build/python-3.11.5-alpine
chore(deps): bump python from 3.11.4-alpine to 3.11.5-alpine in /docs/_build
2023-08-28 17:48:29 -04:00
dependabot[bot]
5d9e7213e2 chore(deps): bump mkdocs-material from 9.2.3 to 9.2.5 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.2.3 to 9.2.5.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.2.3...9.2.5)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-28 13:48:10 +00:00
dependabot[bot]
bc4d00d6c7 chore(deps): bump python in /docs/_build
Bumps python from 3.11.4-alpine to 3.11.5-alpine.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-28 13:34:42 +00:00
dependabot[bot]
6000bd772a chore(deps): bump tj-actions/changed-files from 38.1.0 to 38.1.3
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 38.1.0 to 38.1.3.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v38.1.0...v38.1.3)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-28 13:08:47 +00:00
Dokku Bot
bf4d5fce02 Release 0.31.2
# History

## 0.31.2

Install/update via the bootstrap script:

```shell
wget -NP . https://dokku.com/install/v0.31.2/bootstrap.sh
sudo DOKKU_TAG=v0.31.2 bash bootstrap.sh
```

### Bug Fixes

- #6154: @josegonzalez Ensure app clones have domains setup
- #6164: @josegonzalez Use correct path for openresty letsencrypt data
- #6165: @josegonzalez Ensure we cleanup extracted files prior to next deployment
- #6166: @josegonzalez Remove unused source from openresty trigger
- #6163: @josegonzalez Add missing triggers for openresty-vhosts plugin
- #6151: @josegonzalez Do not pass an empty argument to scheduler-run when triggering cron tasks manually
- #6150: @josegonzalez Correct issue where temp file cleanup fails deploy

### Documentation

- #6167: @josegonzalez Correct svg path on homepage
- #6153: @imankulov Fix superscript typos in plugin documentation

### Tests

- #6152: @josegonzalez Use buildjet for building arm images
- #6149: @josegonzalez Fix issue where CI cannot install docker-compose-plugin

### Dependencies

- #6161: @josegonzalez Upgrade sigil to 0.10.1
- #6162: @josegonzalez Upgrade herokuish to 0.7.1
- #6160: @josegonzalez Upgrade sshcommand to 0.17.1
- #6159: @josegonzalez Upgrade procfile-util to 0.16.0
- #6158: @josegonzalez Upgrade netrc to 0.7.1
- #6157: @josegonzalez Upgrade lambda-builder to 0.5.0
- #6147: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 37.6.1 to 38.1.0
- #6145: @dependabot[bot] chore(deps): bump mkdocs-material from 9.2.2 to 9.2.3 in /docs/_build
- #6139: @dependabot[bot] chore(deps): bump flask from 2.3.2 to 2.3.3 in /tests/apps/multi
- #6140: @dependabot[bot] chore(deps): bump flask from 2.3.2 to 2.3.3 in /tests/apps/python-flask
- #6141: @dependabot[bot] chore(deps): bump mkdocs-material from 9.1.21 to 9.2.2 in /docs/_build

### Other

- #6148: @josegonzalez Add missing relabel command to docker-image-labeler for CNB builder
2023-08-28 04:08:55 +00:00
Jose Diaz-Gonzalez
a805afb8ef Merge pull request #6154 from dokku/6146-ensure-domains-on-clone
Ensure app clones have domains setup
2023-08-27 23:41:49 -04:00
Jose Diaz-Gonzalez
71214be1bd fix: ensure app clones have domains setup
Closes #6146
2023-08-27 23:00:18 -04:00
Jose Diaz-Gonzalez
fb5b605c4a Merge pull request #6164 from dokku/openresty-correct-data-dir
Use correct path for openresty letsencrypt data
2023-08-27 21:29:12 -04:00
Jose Diaz-Gonzalez
d06ad01b57 Merge pull request #6165 from dokku/extract-cleanup
Ensure we cleanup extracted files prior to next deployment
2023-08-27 21:07:48 -04:00
Jose Diaz-Gonzalez
fecb9e0472 fix: ensure we cleanup extracted files prior to next deployment 2023-08-27 20:00:45 -04:00
Jose Diaz-Gonzalez
196fadc6d3 fix: use correct path for openresty letsencrypt data
Paths are plugin-specific, and the previous path used the plugin alias, not the actual plugin name.
2023-08-27 20:00:37 -04:00
Jose Diaz-Gonzalez
7bd202a178 Merge pull request #6167 from dokku/josegonzalez-patch-2
Correct svg path on homepage
2023-08-27 20:00:20 -04:00
Jose Diaz-Gonzalez
56733592da Merge pull request #6166 from dokku/josegonzalez-patch-1
Remove unused source from openresty trigger
2023-08-27 20:00:04 -04:00
Jose Diaz-Gonzalez
b0fcd28bba fix: correct svg path on homepage 2023-08-27 19:26:50 -04:00
Jose Diaz-Gonzalez
49297f6554 fix: remove unused source 2023-08-27 19:23:07 -04:00
Jose Diaz-Gonzalez
d8de0bcabb Merge pull request #6163 from dokku/fix-clone-delete
Add missing triggers for openresty-vhosts plugin
2023-08-27 17:56:49 -04:00
Jose Diaz-Gonzalez
17c32e2dac fix: add missing triggers for openresty-vhosts plugin 2023-08-27 17:43:38 -04:00
Jose Diaz-Gonzalez
41d58758b2 Merge pull request #6161 from dokku/upgrade-sigil
Upgrade sigil to 0.10.1
2023-08-27 17:30:37 -04:00
Jose Diaz-Gonzalez
9299a1a961 chore: upgrade sigil dependency 2023-08-27 17:30:16 -04:00
Jose Diaz-Gonzalez
9216e0b066 Merge pull request #6162 from dokku/upgrade-herokuish
Upgrade herokuish to 0.7.1
2023-08-27 17:29:05 -04:00
Jose Diaz-Gonzalez
b67d79e09a feat: upgrade herokuish to 0.7.1 2023-08-27 15:58:12 -04:00
Jose Diaz-Gonzalez
ed7041ce66 Merge pull request #6160 from dokku/upgrade-sshcommand
Upgrade sshcommand dependency
2023-08-27 15:45:59 -04:00
Jose Diaz-Gonzalez
7b0d92082a chore: upgrade sshcommand dependency 2023-08-27 15:45:35 -04:00
Jose Diaz-Gonzalez
fd4466cfed Merge pull request #6159 from dokku/upgrade-procfile-util
Upgrade procfile-util dependency
2023-08-27 15:44:40 -04:00
Jose Diaz-Gonzalez
1376d78cd6 chore: upgrade procfile-util dependency 2023-08-27 15:44:12 -04:00
Jose Diaz-Gonzalez
78450b0b14 Merge pull request #6158 from dokku/upgrade-netrc
Upgrade netrc dependency
2023-08-27 15:42:31 -04:00
Jose Diaz-Gonzalez
13ea79bb1f chore: upgrade netrc dependency 2023-08-27 15:42:04 -04:00
Jose Diaz-Gonzalez
2a9509ec63 Merge pull request #6157 from dokku/upgrade-lambda-builder
Upgrade lambda-builder dependency
2023-08-27 15:41:24 -04:00
Jose Diaz-Gonzalez
20466838b5 chore: upgrade lambda-builder dependency 2023-08-27 15:01:17 -04:00
Jose Diaz-Gonzalez
a6b885f778 Merge pull request #6153 from imankulov/patch-1
Fix superscript typos in plugin documentation
2023-08-27 11:27:25 -04:00
Jose Diaz-Gonzalez
9eb1fb19fd Merge pull request #6152 from dokku/buildjet-test
Use buildjet for building arm images
2023-08-27 11:19:18 -04:00
Roman Imankulov
a02e2d337e Update plugins.md
Fix superscript typos
2023-08-27 14:01:55 +01:00
Jose Diaz-Gonzalez
e37c94fa4d fix: respect input 2023-08-27 00:09:49 -04:00
Jose Diaz-Gonzalez
f6b0f58108 fix: add missing newline 2023-08-26 23:35:06 -04:00
Jose Diaz-Gonzalez
35e9203d13 fix: respect the specified architecture 2023-08-26 23:32:36 -04:00
Jose Diaz-Gonzalez
99dd9da2bb refactor: only use qemu when building for arm 2023-08-26 23:06:08 -04:00
Jose Diaz-Gonzalez
80dfa4a979 fix: move properties around and specify shell 2023-08-26 22:50:17 -04:00
Jose Diaz-Gonzalez
0772fb4faa fix: checkout the code first 2023-08-26 22:36:07 -04:00
Jose Diaz-Gonzalez
454cf7207a fix: correct lint issue 2023-08-26 22:26:32 -04:00
Jose Diaz-Gonzalez
74fe0257f1 feat: use buildjet's runners for arm image building 2023-08-26 22:22:23 -04:00
Jose Diaz-Gonzalez
7a857ad628 refactor: split out image building job matrix into separate jobs
This will allow using a different runner for each.
2023-08-26 22:22:08 -04:00
Jose Diaz-Gonzalez
d867a4d77e Merge pull request #6151 from dokku/josegonzalez-patch-1
Do not pass an empty argument to scheduler-run when triggering cron tasks manually
2023-08-26 17:06:20 -04:00
Jose Diaz-Gonzalez
5d362d8038 Merge pull request #6150 from dokku/fix-tmp-file-cleanup
Correct issue where temp file cleanup fails deploy
2023-08-26 17:06:08 -04:00
Jose Diaz-Gonzalez
9a201cbe7d Merge pull request #6148 from dokku/6138-fix-relabel
Add missing relabel command to docker-image-labeler for CNB builder
2023-08-26 15:21:14 -04:00
Jose Diaz-Gonzalez
b8b40ac672 fix: do not pass an empty argument to scheduler-run when triggering cron tasks manually 2023-08-26 15:19:12 -04:00
Jose Diaz-Gonzalez
fbe823b7d7 fix: correct issue where temp file cleanup fails deploy 2023-08-26 14:39:13 -04:00
Jose Diaz-Gonzalez
c2db3ddaba fix: add missing relabel command to docker-image-labeler for CNB builder
Closes #6138
2023-08-26 14:33:51 -04:00
Jose Diaz-Gonzalez
b5f508f27a Merge pull request #6149 from dokku/josegonzalez-patch-1
Fix issue where CI cannot install docker-compose-plugin
2023-08-26 14:33:26 -04:00
Jose Diaz-Gonzalez
17e88da2dc fix: install docker-compose-plugin in ci
This used to be installed as moby-compose in Github Runners but they switched to the docker apt repo and don't install the plugin from the apt repository as it is outdated so we have to do it ourselves.
2023-08-26 14:33:07 -04:00
Jose Diaz-Gonzalez
2963a36f25 Merge pull request #6147 from dokku/dependabot/github_actions/tj-actions/changed-files-38.1.0
chore(deps): bump tj-actions/changed-files from 37.6.1 to 38.1.0
2023-08-26 12:46:06 -04:00
Jose Diaz-Gonzalez
47329df099 Merge pull request #6145 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.2.3
chore(deps): bump mkdocs-material from 9.2.2 to 9.2.3 in /docs/_build
2023-08-26 12:45:53 -04:00
dependabot[bot]
3e0c0d8e43 chore(deps): bump tj-actions/changed-files from 37.6.1 to 38.1.0
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 37.6.1 to 38.1.0.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v37.6.1...v38.1.0)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-24 13:43:42 +00:00
dependabot[bot]
31af4a993a chore(deps): bump mkdocs-material from 9.2.2 to 9.2.3 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.2.2 to 9.2.3.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.2.2...9.2.3)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-23 13:20:02 +00:00
Jose Diaz-Gonzalez
703d703ac3 Merge pull request #6139 from dokku/dependabot/pip/tests/apps/multi/flask-2.3.3
chore(deps): bump flask from 2.3.2 to 2.3.3 in /tests/apps/multi
2023-08-22 20:52:05 -04:00
Jose Diaz-Gonzalez
cc5c53a459 Merge pull request #6140 from dokku/dependabot/pip/tests/apps/python-flask/flask-2.3.3
chore(deps): bump flask from 2.3.2 to 2.3.3 in /tests/apps/python-flask
2023-08-22 20:51:59 -04:00
Jose Diaz-Gonzalez
51ee17ba0e Merge pull request #6141 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.2.2
chore(deps): bump mkdocs-material from 9.1.21 to 9.2.2 in /docs/_build
2023-08-22 20:51:47 -04:00
dependabot[bot]
76a0d6fee8 chore(deps): bump mkdocs-material from 9.1.21 to 9.2.2 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.21 to 9.2.2.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.21...9.2.2)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-22 13:51:44 +00:00
dependabot[bot]
2154726464 chore(deps): bump flask from 2.3.2 to 2.3.3 in /tests/apps/python-flask
Bumps [flask](https://github.com/pallets/flask) from 2.3.2 to 2.3.3.
- [Release notes](https://github.com/pallets/flask/releases)
- [Changelog](https://github.com/pallets/flask/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/flask/compare/2.3.2...2.3.3)

---
updated-dependencies:
- dependency-name: flask
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-22 13:36:35 +00:00
dependabot[bot]
5f5032cb8b chore(deps): bump flask from 2.3.2 to 2.3.3 in /tests/apps/multi
Bumps [flask](https://github.com/pallets/flask) from 2.3.2 to 2.3.3.
- [Release notes](https://github.com/pallets/flask/releases)
- [Changelog](https://github.com/pallets/flask/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/flask/compare/2.3.2...2.3.3)

---
updated-dependencies:
- dependency-name: flask
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-22 13:28:39 +00:00
Dokku Bot
46b0015de8 Release 0.31.1
# History

## 0.31.1

Install/update via the bootstrap script:

```shell
wget -NP . https://dokku.com/install/v0.31.1/bootstrap.sh
sudo DOKKU_TAG=v0.31.1 bash bootstrap.sh
```

### Bug Fixes

- #6133: @josegonzalez Properly handle tag and branch pushes
- #6131: @josegonzalez Ensure tmp files are cleaned up when commands exit
- #6130: @josegonzalez Correct package for container healthchecker when building digitalocean image
- #6121: @josegonzalez Add missing error-log-path function to openresty plugin

### Documentation

- #6129: @josegonzalez Cleanup markdown and use Github Admonitions

### Dependencies

- #6120: @dependabot[bot] chore(deps): bump click from 8.1.6 to 8.1.7 in /docs/_build
- #6119: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 37.6.0 to 37.6.1
- #6118: @dependabot[bot] chore(deps): bump werkzeug from 2.3.6 to 2.3.7 in /tests/apps/python-flask
- #6115: @dependabot[bot] chore(deps): bump golang from 1.20.7 to 1.21.0 in /tests/apps/zombies-dockerfile-no-tini
- #6114: @dependabot[bot] chore(deps): bump golang from 1.20.7 to 1.21.0 in /tests/apps/zombies-dockerfile-tini
- #6104: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.13.0 to 0.14.0 in /tests/apps/gogrpc
- #6113: @dependabot[bot] chore(deps): bump golang from 1.20.7 to 1.21.0 in /tests/apps/go-fail-predeploy
- #6112: @dependabot[bot] chore(deps): bump golang from 1.20.7 to 1.21.0 in /tests/apps/go-fail-postdeploy
- #6111: @dependabot[bot] chore(deps): bump golang from 1.20.7 to 1.21.0 in /tests/apps/gogrpc
- #6107: @dependabot[bot] chore(deps): bump pygments from 2.15.1 to 2.16.1 in /docs/_build
- #6106: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 37.5.2 to 37.6.0
- #6105: @dependabot[bot] chore(deps): bump sinatra from 3.0.6 to 3.1.0 in /tests/apps/ruby

### Other

- #6122: @josegonzalez Plugin trigger and event cleanup
2023-08-20 16:30:06 +00:00
Jose Diaz-Gonzalez
a254525db8 Merge pull request #6133 from dokku/5188-fix-tag-push
Properly handle tag and branch pushes
2023-08-20 12:28:04 -04:00
Jose Diaz-Gonzalez
d3441b7f7e fix: properly handle tag and branch pushes 2023-08-20 11:39:19 -04:00
Jose Diaz-Gonzalez
6e35eacd51 Merge pull request #6131 from dokku/fix-tmp-cleanup
Ensure tmp files are cleaned up when commands exit
2023-08-20 11:17:29 -04:00
Jose Diaz-Gonzalez
200e46b08e fix: ensure tmp files are cleaned up when commands exit 2023-08-19 23:00:49 -04:00
Jose Diaz-Gonzalez
3d6fa3a2e0 Merge pull request #6130 from dokku/josegonzalez-patch-1
Correct package for container healthchecker when building digitalocean image
2023-08-19 19:07:12 -04:00
Jose Diaz-Gonzalez
89109a33b3 fix: correct package for container healthchecker when building digitalocean image 2023-08-19 19:06:42 -04:00
Jose Diaz-Gonzalez
5cbeb326d6 Merge pull request #6121 from dokku/openresty-missing-funcs
Add missing error-log-path function to openresty plugin
2023-08-19 19:02:04 -04:00
Jose Diaz-Gonzalez
f433e008e9 Merge pull request #6129 from dokku/cleanup-markdown
Cleanup markdown and use Github Admonitions
2023-08-19 18:55:35 -04:00
Jose Diaz-Gonzalez
4450c82866 fix: set correct log root 2023-08-19 15:50:20 -04:00
Jose Diaz-Gonzalez
3306f29c11 docs: handle new github admonitions and cleanup write-mkdocs script 2023-08-19 15:43:59 -04:00
Jose Diaz-Gonzalez
fe117d403b Merge pull request #6122 from dokku/plugin-trigger-cleanup
Plugin trigger and event cleanup
2023-08-19 15:19:10 -04:00
Jose Diaz-Gonzalez
f780a8a6f8 docs: fix shell output 2023-08-19 15:04:25 -04:00
Jose Diaz-Gonzalez
4ff26e6e36 fix: exec command so as to respect init properly 2023-08-19 14:30:18 -04:00
Jose Diaz-Gonzalez
d61d91cf87 docs: use github admonitions
These still need to be properly parsed.
2023-08-19 14:24:12 -04:00
Jose Diaz-Gonzalez
5dd78e2b86 docs: update markdownlint rules for better formatting 2023-08-19 13:46:42 -04:00
Jose Diaz-Gonzalez
b87d619b23 Merge pull request #6120 from dokku/dependabot/pip/docs/_build/click-8.1.7
chore(deps): bump click from 8.1.6 to 8.1.7 in /docs/_build
2023-08-19 11:46:22 -04:00
Jose Diaz-Gonzalez
b13f7250ce fix: make app-list a symlink 2023-08-19 11:45:51 -04:00
Jose Diaz-Gonzalez
f58cf7f87c chore: add documentation for all events 2023-08-19 11:45:31 -04:00
Jose Diaz-Gonzalez
f0ed29d80f chore: remove now un-implemented event 2023-08-19 11:45:24 -04:00
Jose Diaz-Gonzalez
70a580f851 chore: remove unimplemented and undocumented event 2023-08-19 11:45:17 -04:00
Jose Diaz-Gonzalez
4d87dfcc33 fix: add missing events for all plugn triggers 2023-08-19 11:45:06 -04:00
Jose Diaz-Gonzalez
18216e8e48 chore: remove events for non-existing triggers 2023-08-19 11:44:41 -04:00
Jose Diaz-Gonzalez
4378d0c367 fix: add missing error-log-path function to openresty plugin
Also ensure the access-log-path is passed into the plugin.
2023-08-19 10:23:10 -04:00
dependabot[bot]
314e29d61b chore(deps): bump click from 8.1.6 to 8.1.7 in /docs/_build
Bumps [click](https://github.com/pallets/click) from 8.1.6 to 8.1.7.
- [Release notes](https://github.com/pallets/click/releases)
- [Changelog](https://github.com/pallets/click/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/click/compare/8.1.6...8.1.7)

---
updated-dependencies:
- dependency-name: click
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-18 13:46:12 +00:00
Jose Diaz-Gonzalez
8b3ee6d968 Merge pull request #6119 from dokku/dependabot/github_actions/tj-actions/changed-files-37.6.1
chore(deps): bump tj-actions/changed-files from 37.6.0 to 37.6.1
2023-08-17 19:56:32 -04:00
dependabot[bot]
a47d2801e8 chore(deps): bump tj-actions/changed-files from 37.6.0 to 37.6.1
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 37.6.0 to 37.6.1.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v37.6.0...v37.6.1)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-17 13:45:23 +00:00
Jose Diaz-Gonzalez
ebeef276cc Merge pull request #6118 from dokku/dependabot/pip/tests/apps/python-flask/werkzeug-2.3.7
chore(deps): bump werkzeug from 2.3.6 to 2.3.7 in /tests/apps/python-flask
2023-08-16 22:26:29 -04:00
Jose Diaz-Gonzalez
238ae414d3 Merge pull request #6115 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.21.0
chore(deps): bump golang from 1.20.7 to 1.21.0 in /tests/apps/zombies-dockerfile-no-tini
2023-08-16 22:26:20 -04:00
Jose Diaz-Gonzalez
a2e3a9a0f7 Merge pull request #6114 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.21.0
chore(deps): bump golang from 1.20.7 to 1.21.0 in /tests/apps/zombies-dockerfile-tini
2023-08-16 22:26:12 -04:00
Jose Diaz-Gonzalez
78179105e2 Merge pull request #6104 from dokku/dependabot/go_modules/tests/apps/gogrpc/golang.org/x/net-0.14.0
chore(deps): bump golang.org/x/net from 0.13.0 to 0.14.0 in /tests/apps/gogrpc
2023-08-16 22:26:03 -04:00
dependabot[bot]
0fd5b33e5e chore(deps): bump werkzeug in /tests/apps/python-flask
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 2.3.6 to 2.3.7.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/2.3.6...2.3.7)

---
updated-dependencies:
- dependency-name: werkzeug
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 13:26:40 +00:00
dependabot[bot]
39fa54049c chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.20.7 to 1.21.0.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 02:42:26 +00:00
dependabot[bot]
7bf336363c chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.20.7 to 1.21.0.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 02:42:13 +00:00
Jose Diaz-Gonzalez
8296ecf7fc Merge pull request #6113 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.21.0
chore(deps): bump golang from 1.20.7 to 1.21.0 in /tests/apps/go-fail-predeploy
2023-08-13 22:41:58 -04:00
dependabot[bot]
a20daa2804 chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.20.7 to 1.21.0.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 02:41:48 +00:00
Jose Diaz-Gonzalez
cb0edde2fd Merge pull request #6112 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.21.0
chore(deps): bump golang from 1.20.7 to 1.21.0 in /tests/apps/go-fail-postdeploy
2023-08-13 22:41:30 -04:00
Jose Diaz-Gonzalez
5ef382dacd Merge pull request #6111 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.21.0
chore(deps): bump golang from 1.20.7 to 1.21.0 in /tests/apps/gogrpc
2023-08-13 22:41:20 -04:00
Jose Diaz-Gonzalez
d1c68b1920 Merge pull request #6107 from dokku/dependabot/pip/docs/_build/pygments-2.16.1
chore(deps): bump pygments from 2.15.1 to 2.16.1 in /docs/_build
2023-08-13 22:41:11 -04:00
Jose Diaz-Gonzalez
596f56f2da Merge pull request #6106 from dokku/dependabot/github_actions/tj-actions/changed-files-37.6.0
chore(deps): bump tj-actions/changed-files from 37.5.2 to 37.6.0
2023-08-13 22:41:00 -04:00
Jose Diaz-Gonzalez
6b178952cb Merge pull request #6105 from dokku/dependabot/bundler/tests/apps/ruby/sinatra-3.1.0
chore(deps): bump sinatra from 3.0.6 to 3.1.0 in /tests/apps/ruby
2023-08-13 22:40:42 -04:00
Dokku Bot
4139fb1d7f Release 0.31.0
# History

## 0.31.0

Install/update via the bootstrap script:

```shell
wget -NP . https://dokku.com/install/v0.31.0/bootstrap.sh
sudo DOKKU_TAG=v0.31.0 bash bootstrap.sh
```

See the [0.31.0 migration guide](/docs/appendices/0.31.0-migration-guide.md) for more information on migrating to 0.31.0.

### Backwards Compatibility Breaks

- #6102: @josegonzalez Deprecate ARM as a build target
- #6029: @josegonzalez Provide users the ability to override auto-detected port mappings

### Bug Fixes

- #6110: @josegonzalez Correctly handle rebase when generating release notes for minor/major releases
- #6081: @josegonzalez Use correct namespace for haproxy service state tracking
- #6079: @josegonzalez Remove debugging code from builder-dockerfile plugin
- #6078: @josegonzalez Use correct quoting in format template when fetching exposed image ports
- #6070: @josegonzalez Do not write empty values for nginx container labels
- #6014: @josegonzalez Automatically clear the git source-image property when changing deployment methodologies
- #5985: @josegonzalez Mount the traefik data directory instead of the acme.json file when starting traefik
- #5979: @josegonzalez Do not start proxy implementations during server restore if they weren't manually started via the :start command
- #5973: @josegonzalez Remove all containers and images by label on app destroy

### New Features

- #6100: @josegonzalez Add support for non-web healthchecks via app.json
- #6098: @josegonzalez Upgrade traefik image from v2.8 to v2.10
- #6097: @josegonzalez Upgrade caddy image from 2.7 to 2.8
- #6082: @josegonzalez Add openresty proxy implementation
- #6057: @josegonzalez Inject docker labels when nginx proxy implementation is in use
- #6043: @josegonzalez Write auto-detected port mappings during a deploy
- #6013: @josegonzalez Export environment variables during dockerfile builds for use with value-less --build-arg flags
- #6007: @Firfi Add application/wasm to nginx.conf.sigil gzip
- #5993: @josegonzalez Un-deprecate apps and config cli aliases
- #5992: @josegonzalez Mount the vector data directory instead of the vector file
- #5991: @josegonzalez Add the ability to execute a cron task on the fly
- #5990: @josegonzalez Add json format output to cron:list command
- #5989: @josegonzalez Skip scaled processes that are missing in the Procfile
- #5978: @josegonzalez Export environment variables during dockerfile builds for use with value-less --build-arg flags
- #5908: @josegonzalez Generate jobs for crontab in parallel
- #5891: @josegonzalez Add support for specifying multiple networks on a given app

### Refactors

- #6042: @josegonzalez Rename port-map property to port
- #6021: @josegonzalez Simplify ports-configure codebase
- #6018: @josegonzalez Move code that fetches raw tcp ports for dockerfile deploys to ports plugin
- #6017: @josegonzalez Deprecate proxy-configure-ports plugin trigger in favor of ports-configure
- #6011: @josegonzalez Use ports-get plugn trigger for fetching port mappings
- #6010: @josegonzalez Use ports-clear plugn trigger to manage clearing the port map
- #5988: @josegonzalez Move crontab writing code to scheduler-docker-local plugin
- #5975: @josegonzalez Standardize on shorthand for redirecting all output to /dev/null
- #5974: @josegonzalez Standardize on ls subcommand when interacting with the docker binary

### Documentation

- #6116: @josegonzalez Remove extra newline in migration docs
- #6099: @josegonzalez Clean up references in proxy plugins
- #5987: @josegonzalez Clarify that a branch can be specified when updating a plugin

### Tests

- #6103: @josegonzalez Timeout docker image builds in CI
- #6101: @josegonzalez Make it possible to specify an alternative base domain for tests
- #6095: @josegonzalez Remove assertion for unconsumed build arguments
- #6094: @josegonzalez Correct assertion for dockerfile builds when a variable is eval'd
- #6080: @josegonzalez Add assertions to various bats tests
- #6076: @josegonzalez Use assert_output_not_exists instead of asserting output is empty string
- #6075: @josegonzalez Use an alternative curl request to ensure requests go to the local nginx
- #6074: @josegonzalez Fix issue where networks weren't being torn down during testing
- #6012: @josegonzalez Use ports:report to get the list of port mappings
- #5977: @josegonzalez Move all shellcheck disable definitions to .shellcheckrc
- #5976: @josegonzalez Remove Stickler configuration

### Other

- #6109: @josegonzalez Make heroku-22/jammy the default stack for cnb/herokuish builds
- #6096: @josegonzalez Upgrade vector image from 0.23.x to 0.31.x
- #6019: @josegonzalez Move code for fetching an available port to the ports plugin
- #6015: @josegonzalez Move CHECKS file extraction to the beginning of the deploy
- #5995: @josegonzalez Migrate the proxy port map from config variable to property system
- #5986: @josegonzalez Move all port management code to standalone ports plugin
- #5495: @josegonzalez Move herokuish app cache from the filesystem into a docker volume
2023-08-14 02:08:52 +00:00
dependabot[bot]
a7677187b3 chore(deps): bump golang.org/x/net in /tests/apps/gogrpc
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.13.0 to 0.14.0.
- [Commits](https://github.com/golang/net/compare/v0.13.0...v0.14.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 02:08:00 +00:00
Jose Diaz-Gonzalez
4977d57e5a Merge pull request #5947 from dokku/0.31-release
Release 0.31.0
2023-08-13 22:07:16 -04:00
Jose Diaz-Gonzalez
00d02121d9 fix: pull 100 results when fetching PRs per milestone 2023-08-13 22:00:39 -04:00
Jose Diaz-Gonzalez
038b768585 fix: correct version 2023-08-13 21:54:25 -04:00
Jose Diaz-Gonzalez
c7c1e4ab17 Merge pull request #6116 from dokku/josegonzalez-patch-1
Remove extra newline in migration docs
2023-08-09 13:53:31 -04:00
Jose Diaz-Gonzalez
1ee0fc7dc5 docs: remove extra newline 2023-08-09 13:53:14 -04:00
Jose Diaz-Gonzalez
22cfab9912 Merge pull request #6109 from dokku/heroku-22
Make heroku-22/jammy the default stack for cnb/herokuish builds
2023-08-09 11:35:19 -04:00
Jose Diaz-Gonzalez
24d94576a9 feat: make heroku-22/jammy the default stack for cnb/herokuish builds 2023-08-09 10:11:33 -04:00
dependabot[bot]
59375a5b84 chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.20.7 to 1.21.0.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-09 13:19:27 +00:00
dependabot[bot]
7c74ecb317 chore(deps): bump golang from 1.20.7 to 1.21.0 in /tests/apps/gogrpc
Bumps golang from 1.20.7 to 1.21.0.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-09 13:11:01 +00:00
Jose Diaz-Gonzalez
6cdd81ca7a Merge pull request #6110 from dokku/fix-release-changelog
Correctly handle rebase when generating release notes for minor/major releases
2023-08-08 23:36:22 -04:00
Jose Diaz-Gonzalez
8d25b931dd fix: correctly handle rebase when generating release notes for minor/major releases
With the integration branch where pull requests are merged prior to a release, we require a rebase every so often to ensure there aren't any issues upon merging to master. Unfortunately, this breaks the link between the original PR and the integration PR, thus causing changelog generation to fail as it depended upon those - now removed - merge request commits.

With this change, we introduce usage of milestones in order to track what is getting merged into a release. Milestones are only used for major/minor releases, and all others will fall back to the default git log method.
2023-08-08 23:07:02 -04:00
dependabot[bot]
03ad29610f chore(deps): bump pygments from 2.15.1 to 2.16.1 in /docs/_build
Bumps [pygments](https://github.com/pygments/pygments) from 2.15.1 to 2.16.1.
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](https://github.com/pygments/pygments/compare/2.15.1...2.16.1)

---
updated-dependencies:
- dependency-name: pygments
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-07 13:40:04 +00:00
dependabot[bot]
efe58b5af0 chore(deps): bump tj-actions/changed-files from 37.5.2 to 37.6.0
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 37.5.2 to 37.6.0.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v37.5.2...v37.6.0)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-07 13:32:42 +00:00
dependabot[bot]
93138de467 chore(deps): bump sinatra from 3.0.6 to 3.1.0 in /tests/apps/ruby
Bumps [sinatra](https://github.com/sinatra/sinatra) from 3.0.6 to 3.1.0.
- [Changelog](https://github.com/sinatra/sinatra/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sinatra/sinatra/compare/v3.0.6...v3.1.0)

---
updated-dependencies:
- dependency-name: sinatra
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-07 13:22:23 +00:00
Jose Diaz-Gonzalez
990ca04374 Merge pull request #6103 from dokku/timeout-image-builds
feat: timeout docker image builds in CI
2023-08-07 03:06:12 -04:00
Jose Diaz-Gonzalez
e09b0eb1b9 feat: timeout docker image builds in CI
ARM usually takes quite a while to build. If it takes more than ~15 minutes, then it is usually going to fail anyways, so timeout early.

AMD64 takes ~3 minutes, and ARM64 appears to take 15 minutes.
2023-08-07 03:05:47 -04:00
Jose Diaz-Gonzalez
f3114212b6 Merge pull request #6102 from dokku/josegonzalez-patch-1
Deprecate ARM as a build target
2023-08-07 01:37:55 -04:00
Jose Diaz-Gonzalez
5b738f50c3 docs: deprecated ARM as a build target
AMD64 and ARM64 continue to be supported, but ARM in CI is not currently supported and doesn't get local testing either, so deprecating it now and removing it in the future makes most sense for the project.
2023-08-07 01:37:18 -04:00
Jose Diaz-Gonzalez
a0d92469a9 Merge pull request #6100 from dokku/2760-non-web-healthchecks
Add support for non-web healthchecks via app.json
2023-08-06 18:57:47 -04:00
Jose Diaz-Gonzalez
26e9cc9b8c feat: add support for non-web healthchecks via app.json
This change converts existing CHECKS files into a healthchecks key that is understood by 'docker-container-healthchecker'. This tool supports a number of different types of container healthchecks - command, http, uptime - and can perform healthchecks against non-web processes.

The use of the old CHECKS file is now deprecated, and will be removed in the next minor version. Users can use the 'docker-container-healthchecker' to convert existing CHECKS files to the new format automatically.

Closes #2760
2023-08-06 17:23:13 -04:00
Jose Diaz-Gonzalez
6f0b32e86b Merge pull request #6082 from dokku/openresty-docker-proxy
Add openresty proxy implementation
2023-08-05 23:53:45 -04:00
Jose Diaz-Gonzalez
625ea14c8f feat: add openresty proxy implementation
This plugin is mostly compatible with the nginx plugin, but runs the proxy within a docker container. Users do not have direct access to add custom openresty configuration at this time, but instead receive the ability to setup automatic ssl on first request via letsencrypt integration.
2023-08-05 20:59:01 -04:00
Jose Diaz-Gonzalez
5846301a48 tests: make it possible to specify an alternative base domain for tests
When developing Dokku, it is useful to use a real domain to test actual functionality. This is impossible if the domain is hardcoded to dokku.me in testing.
2023-08-05 20:58:26 -04:00
Jose Diaz-Gonzalez
7f7a044a07 docs: clean up references in proxy plugins 2023-08-05 11:07:55 -04:00
Jose Diaz-Gonzalez
f8ccf52079 refactor: only use detected port mapping if override is not specified
Previously, we would always set the port mapping during a dockerfile build, making it difficult for users to override mappings. We also only _sometimes_ updated the detected port mapping, further confusing issues when users were migrating from Dockerfile to Buildpacks for builds.

Now, we always detect the port mapping during the build process, and only use that detected port mapping if an override is not specified. This greatly simplifies the experience around port mapping, as now a user can create an app, set a port mapping, and that first deploy will respect the port mapping without an additional deploy.

The builder always has the best context for what the app should be listening on, and thus we can always specify a "default" port mapping at this stage. Users can override this map as desired later.

This change also results in the removal of a ton of internal code that is now centralized in the ports plugin.

Closes #4067
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
6168b0c71c tests: correct assertion for dockerfile builds when a variable is eval'd 2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
d06f337c3c feat: upgrade traefik image from v2.8 to v2.10 2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
3218a496c5 feat: upgrade caddy image from 2.7 to 2.8 2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
56e18be2cf feat: upgrade vector image from 0.23.x to 0.31.x 2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
a84f9bca72 tests: remove assertion for unconsumed build arguments
Docker no longer outputs any logging for unconsumed build arguments with the switch to buildx.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
72e8c8d978 tests: correct assertion for dockerfile builds when a variable is eval'd 2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
aee691a5fb fix: use correct namespace for haproxy service state tracking 2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
622548057c tests: add assertions to various bats tests
Missing these assertions didn't necessarily break tests but they are more correct and having them should help suss out bugs.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
69e56fc976 fix: remove debugging code from builder-dockerfile plugin 2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
c1279468d8 fix: use correct quoting in format template when fetching exposed image ports 2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
d6468f4713 tests: use assert_output_not_exists instead of asserting output is empty string 2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
1467aaea74 tests: fix issue where networks weren't being torn down during testing
Due to how the variable was assigned, there were cases where the network was specified twice with a := as a delimiter. This would result in no network being removed.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
5717e71755 tests: use an alternative curl request to ensure requests go to the local nginx
The alternative is to rely on DNS and /etc/hosts rules, which isn't quite great because it requires modifying the system.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
04905bf553 fix: run go mod update 2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
2b1e173c03 fix: do not write empty values for nginx container labels
This ensures the nginx-docker-proxy project doesn't use the empty values as explicit values.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
3f127a7cc4 feat: inject docker labels when nginx proxy implementation is in use
This will allow users to switch to a docker label-based nginx proxy server transparently without rebuilds (after the first one), which would mimic how the caddy, haproxy, and traefik proxy implementations work.

See https://github.com/dokku/nginx-docker-proxy for an example server implementation.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
4bc3de5540 feat: write auto-detected port mappings during a deploy
During an app build, we now auto-detect ports based on the source code. This is usually http:80:5000, with Dockerfile-based deploys having their ports extracted from the docker image or Dockerfile. Additionally, we add an https:443 mapping for any detected http:80 mapping when there is an ssl certificate, and all http port mappings are transformed to https mappings for Dockerfile-based deploys.

While the ports aren't currently consumed, a future refactor will provide the ability to fallback to the new detected ports when there is no user-specified port mapping.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
b44be8def9 refactor: rename port-map property to port 2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
f842869c3d refactor: move the proxy port map from config to property
Also remove all direct references to DOKKU_PROXY_PORT_MAP from outside of ports.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
977b4567f8 refactor: simplify ports-configure codebase
This makes it slightly easier to reason about, at the cost of being slower.

Also ignore failure to remove image as this was flaky.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
48d5820b8c refactor: deprecate proxy-configure-ports plugin trigger in favor of ports-configure
This also rewrites the logic to be in golang, which will make it easier to refactor portions of it to use the property system going forward.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
192f7cf768 refactor: move code for fetching an available port to the ports plugin
Also translate the code to golang.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
121e4737a8 refactor: move code that fetches raw tcp ports for dockerfile deploys to ports plugin 2023-08-05 10:58:57 -04:00
Igor Loskutov
bdf0b6c509 Add application/wasm to nginx.conf.sigil gzip 2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
87c4cb7230 docs: sort the plugin triggers 2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
1431724b85 feat: use ports-clear plugn trigger to manage clearing the port map
This removes any access to the underlying implementation for port map clearing, which will make it easier to refactor the actual clearing.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
fb9d77878d refactor: move CHECKS file extraction to the beginning of the deploy
This makes deploys faster for any that are built from source as the image artifact isn't involved in those cases while also unifying how the file is handled.

Refs #2760
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
94f4d1325c feat: export environment variables during dockerfile builds for use with value-less --build-arg flags
Exposing all config values will allow users to skip setting environment variables twice - once as a docker option and once as an env var. Docker will automatically pull the value from the environment if none is set for the --build-arg flag.

Users will still be required to specify each desired env var via --build-arg as otherwise docker builds will complain about unused build arguments.

Re-implements #5978 (lost in a rebase)
Closes #5903
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
b8680f7de7 fix: automatically clear the git source-image property when changing deployment methodologies
This ensures users don't have issues with cached state in regards to files pulled from the repo/image.

Also add missing docs for deploy-source-set trigger.

Closes #5963
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
11d9ed6724 tests: use ports:report to get the list of port mappings 2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
914475f3e4 refactor: use ports-get plugn trigger for fetching port mappings
This removes use of ports internals from other plugins, which will make it easier to refactor the underlying property storage.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
9bd6e17903 docs: update migration guide to point out other important changes 2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
515994c8d3 feat: add the ability to execute a cron task on the fly
Closes #4904
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
798a413096 feat: re-add apps and config cli aliases
This better follows Heroku's output and is more useful to users. The subcommands will be treated as the primary, documented versions, while the aliases are there for convenience.

Closes #5362
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
1d0d050596 feat: mount the vector data directory instead of the vector file
This allows users to provide extra configuration files for Vector, such as when using the GCP Operations log sink.

Closes #4971
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
820883e60c feat: add json format output to cron:list command
This makes it easier to parse output in a machine-readable format - such as when interacting with cron tasks via jq for writing tests.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
afc318526c refactor: move crontab writing code to scheduler-docker-local plugin
The implementation was very heavily docker-local specific and thus didn't make a ton of sense to keep in the cron plugin.

This also re-introduces changes from #5908 to parallelize the crontab generation (which is also specific to the docker-local scheduler) that were lost during a rebase.

The impetus for this change was implementing a `cron:run` command. The logic for actually running the command isn't scheduler specific - merely invoking `dokku run` with the appropriate arguments - but all the logic around how the commands were retrieved were, so the change was made pre-emptively.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
eb6f85f083 feat: skip scaled processes that are missing in the Procfile
This allows folks to deploy apps that don't have a web process without needing to scale that process down before/after the first deploy. Note that the formations key in the app.json or a manual scale of other processes will be necessary to start anything non-web.

Closes #5700
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
64f0f2674d refactor: move all port management code to standalone ports plugin
This change makes interacting with port mappings more clear - folks might previously set the port mapping to the proxy type or vice-versa.

The existing proxy:ports* commands still exist but will show a deprecation warning for a single minor release.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
a0b84d52ef docs: clarify that a branch can be specified when updating a plugin
Installing/Updating a plugin to a particular commit object will ensure future calls to plugin:update are pinned to that object.

Closes #4551
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
f7c46a46f4 fix: mount the traefik data directory instead of the acme.json file when starting traefik
Without this change, Docker - at least on arm64 - appears to mount the file as 0755 instead of 0600. We can trick docker by mounting the folder and then referencing _that_ instead.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
bbbe0e763d fix: do not start proxy implementations during server restore if they weren't manually started via the :start command
This change ensures users don't have unnecessary proxies starting on their servers and potentially have apps not routing correctly due to another proxy squatting on a port.

Closes #5846
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
ef25a9b0d8 refactor: standardize on shorthand for redirecting all output to /dev/null
The shorthand is more prevalent in this codebase, and is something that bash supports, so we should just use the same thing everywhere.

Note that we do not use shorthand redirect in Makefile as shell parsing is a bit different in Make and the shorthand redirect doesn't seem to be properly supported, causing CI errors.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
dac566e75e refactor: move all shellcheck disable definitions to .shellcheckrc file
This makes standard use of shellcheck work without needing to provide extra configuration anywhere.

Also remove use of inline 'shellcheck disable' calls that are already defined in the .shellcheckrc and don't need to be set inline.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
4436bb2023 chore: standardize on ls subcommand when interacting with the docker binary
The ls command is what is referenced in the --help output for the subcommands, so we should just use that everywhere.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
5dc2f20432 fix: remove all containers and images by label on app destroy
Previously, we would filter containers and images by name, which could be fail if the app was renamed or no longer was tagged "correctly" due to a rebuild. Now, we filter by label, ensuring an app is completely cleaned up on deletion.

Also:

- Move docker image cleanup from apps plugin to builder plugin: This isn't where it belongs - images should be cleaned up in a builder plugin (or the builders plugin) and not in the apps plugin, which has nothing to do with docker images anyways.
- Remove the code from the scheduler plugin, as that will only do anything if the scheduler is enabled for the app.
- Bypass image removal if there are no images to remove
- Always delete app containers: The herokuish builder creates intermediate build containers - something that should be refactored - and ideally this gets run in that builder plugin, but keeping the logic here ensures we don't have code duplication. This is otherwise safe as it will be a no-op if there are no containers to clean up.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
3c5a98cb1b chore: remove stickler-ci config
Stickler-CI was shutdown in May 2023 - https://stickler-ci.com/shutting-down - and thus we no longer need configuration for it.

So long, and thanks for all the fish :)
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
60b343470b feat: add support for specifying multiple networks on a given app
Closes #5314
2023-08-05 10:58:46 -04:00
Jose Diaz-Gonzalez
40b20e0c08 refactor: move herokuish app cache from the filesystem into a docker volume
This simplifies cache referencing and also paves the way for removing more from the app git directory.

Refs #1558
2023-08-05 10:35:54 -04:00
Dokku Bot
ce0177967d Release 0.30.11
# History

## 0.30.11

Install/update via the bootstrap script:

```shell
wget -NP . https://dokku.com/install/v0.30.11/bootstrap.sh
sudo DOKKU_TAG=v0.30.11 bash bootstrap.sh
```

### Dependencies

- #6091: @dependabot[bot] chore(deps): bump mkdocs from 1.5.1 to 1.5.2 in /docs/_build
- #6093: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 37.5.1 to 37.5.2
- #6088: @dependabot[bot] chore(deps): bump golang from 1.20.6 to 1.20.7 in /tests/apps/gogrpc
- #6087: @dependabot[bot] chore(deps): bump golang from 1.20.6 to 1.20.7 in /tests/apps/zombies-dockerfile-no-tini
- #6086: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.12.0 to 0.13.0 in /tests/apps/gogrpc
- #6085: @dependabot[bot] chore(deps): bump golang from 1.20.6 to 1.20.7 in /tests/apps/go-fail-postdeploy
- #6084: @dependabot[bot] chore(deps): bump golang from 1.20.6 to 1.20.7 in /tests/apps/go-fail-predeploy
- #6083: @dependabot[bot] chore(deps): bump golang from 1.20.6 to 1.20.7 in /tests/apps/zombies-dockerfile-tini
- #6072: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 37.5.0 to 37.5.1
- #6073: @dependabot[bot] chore(deps): bump pyparsing from 3.1.0 to 3.1.1 in /docs/_build
2023-08-05 13:53:08 +00:00
Jose Diaz-Gonzalez
801e28b824 Merge pull request #6091 from dokku/dependabot/pip/docs/_build/mkdocs-1.5.2
chore(deps): bump mkdocs from 1.5.1 to 1.5.2 in /docs/_build
2023-08-04 21:07:26 -04:00
Jose Diaz-Gonzalez
871c986841 Merge pull request #6093 from dokku/dependabot/github_actions/tj-actions/changed-files-37.5.2
chore(deps): bump tj-actions/changed-files from 37.5.1 to 37.5.2
2023-08-04 21:07:02 -04:00
dependabot[bot]
e98cfa8bd5 chore(deps): bump tj-actions/changed-files from 37.5.1 to 37.5.2
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 37.5.1 to 37.5.2.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v37.5.1...v37.5.2)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-04 13:52:13 +00:00
dependabot[bot]
f24ce401df chore(deps): bump mkdocs from 1.5.1 to 1.5.2 in /docs/_build
Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.5.1 to 1.5.2.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.5.1...1.5.2)

---
updated-dependencies:
- dependency-name: mkdocs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-03 13:44:55 +00:00
Jose Diaz-Gonzalez
a124c419ec Merge pull request #6088 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.20.7 2023-08-03 01:24:44 -04:00
Jose Diaz-Gonzalez
26be81f1bd Merge pull request #6087 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.20.7 2023-08-03 01:24:36 -04:00
dependabot[bot]
5b7cfe906d chore(deps): bump golang from 1.20.6 to 1.20.7 in /tests/apps/gogrpc
Bumps golang from 1.20.6 to 1.20.7.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-03 05:24:26 +00:00
Jose Diaz-Gonzalez
e571e59507 Merge pull request #6086 from dokku/dependabot/go_modules/tests/apps/gogrpc/golang.org/x/net-0.13.0 2023-08-03 01:24:24 -04:00
dependabot[bot]
1fc3261be6 chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.20.6 to 1.20.7.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-03 05:24:12 +00:00
Jose Diaz-Gonzalez
20145bd631 Merge pull request #6085 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.20.7 2023-08-03 01:24:10 -04:00
Jose Diaz-Gonzalez
03cb4691bb Merge pull request #6084 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.20.7 2023-08-03 01:23:52 -04:00
Jose Diaz-Gonzalez
d30f0238db Merge pull request #6083 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.20.7 2023-08-03 01:23:25 -04:00
dependabot[bot]
e68780bd07 chore(deps): bump golang.org/x/net in /tests/apps/gogrpc
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.12.0 to 0.13.0.
- [Commits](https://github.com/golang/net/compare/v0.12.0...v0.13.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-02 13:31:19 +00:00
dependabot[bot]
a038e99b2a chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.20.6 to 1.20.7.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-02 13:20:30 +00:00
dependabot[bot]
b3ec751b8c chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.20.6 to 1.20.7.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-02 13:14:10 +00:00
dependabot[bot]
e9482e4624 chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.20.6 to 1.20.7.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-02 13:08:20 +00:00
Jose Diaz-Gonzalez
6037ebb15a Merge pull request #6072 from dokku/dependabot/github_actions/tj-actions/changed-files-37.5.1
chore(deps): bump tj-actions/changed-files from 37.5.0 to 37.5.1
2023-07-31 12:28:53 -04:00
Jose Diaz-Gonzalez
128fe6edac Merge pull request #6073 from dokku/dependabot/pip/docs/_build/pyparsing-3.1.1
chore(deps): bump pyparsing from 3.1.0 to 3.1.1 in /docs/_build
2023-07-31 12:28:31 -04:00
dependabot[bot]
c07c9dc4ec chore(deps): bump pyparsing from 3.1.0 to 3.1.1 in /docs/_build
Bumps [pyparsing](https://github.com/pyparsing/pyparsing) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/pyparsing/pyparsing/releases)
- [Changelog](https://github.com/pyparsing/pyparsing/blob/master/CHANGES)
- [Commits](https://github.com/pyparsing/pyparsing/compare/3.1.0...3.1.1)

---
updated-dependencies:
- dependency-name: pyparsing
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-31 13:21:49 +00:00
dependabot[bot]
4259e6d4a1 chore(deps): bump tj-actions/changed-files from 37.5.0 to 37.5.1
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 37.5.0 to 37.5.1.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v37.5.0...v37.5.1)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-31 13:17:07 +00:00
Dokku Bot
4003c3f1a6 Release 0.30.10
# History

## 0.30.10

Install/update via the bootstrap script:

```shell
wget -NP . https://dokku.com/install/v0.30.10/bootstrap.sh
sudo DOKKU_TAG=v0.30.10 bash bootstrap.sh
```

### Bug Fixes

- #6036: @l3x4 Remove auth middleware from traefik compose setup when basic auth is not enabled
- #6041: @josegonzalez Use updated path for devcontainer vscode extensions
- #6022: @iphoting Fix issue with docker plugin-list install failing boot for docker-based installations
- #6028: @josegonzalez Detect and use systemd on Debian systems when interacting with nginx

### Documentation

- #6068: @nickgal Fix typo in port management docs
- #6063: @PabloCastellano Fix typo in nginx docs

### Tests

- #6035: @iphoting Allow the check-commit CI job to work with PRs from other repos

### Dependencies

- #6065: @dependabot[bot] chore(deps): bump mkdocs-material from 9.1.19 to 9.1.21 in /docs/_build
- #6064: @dependabot[bot] chore(deps): bump mkdocs from 1.4.3 to 1.5.1 in /docs/_build
- #6059: @josegonzalez Update go packages to fix build issues
- #6058: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 37.4.0 to 37.5.0
- #6053: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 37.3.0 to 37.4.0
- #6049: @dependabot[bot] chore(deps): bump gunicorn from 21.1.0 to 21.2.0 in /tests/apps/multi
- #6050: @dependabot[bot] chore(deps): bump click from 8.1.5 to 8.1.6 in /docs/_build
- #6051: @dependabot[bot] chore(deps): bump gunicorn from 21.1.0 to 21.2.0 in /tests/apps/python-flask
- #6052: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 37.1.2 to 37.3.0
- #6048: @dependabot[bot] chore(deps): bump pyyaml from 6.0 to 6.0.1 in /docs/_build
- #6047: @dependabot[bot] chore(deps): bump mkdocs-material from 9.1.18 to 9.1.19 in /docs/_build
- #6046: @dependabot[bot] chore(deps): bump gunicorn from 20.1.0 to 21.1.0 in /tests/apps/python-flask
- #6045: @dependabot[bot] chore(deps): bump gunicorn from 20.1.0 to 21.1.0 in /tests/apps/multi
- #6044: @dependabot[bot] chore(deps): bump zipp from 3.16.1 to 3.16.2 in /docs/_build
- #6038: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.0.1 to 10.1 in /docs/_build
- #6039: @dependabot[bot] chore(deps): bump click from 8.1.4 to 8.1.5 in /docs/_build
- #6040: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 37.1.1 to 37.1.2
- #6037: @dependabot[bot] chore(deps): bump zipp from 3.16.0 to 3.16.1 in /docs/_build
- #6034: @dependabot[bot] chore(deps): bump golang from 1.20.5 to 1.20.6 in /tests/apps/zombies-dockerfile-tini
- #6032: @dependabot[bot] chore(deps): bump golang from 1.20.5 to 1.20.6 in /tests/apps/zombies-dockerfile-no-tini
- #6033: @dependabot[bot] chore(deps): bump golang from 1.20.5 to 1.20.6 in /tests/apps/gogrpc
- #6031: @dependabot[bot] chore(deps): bump golang from 1.20.5 to 1.20.6 in /tests/apps/go-fail-postdeploy
- #6030: @dependabot[bot] chore(deps): bump golang from 1.20.5 to 1.20.6 in /tests/apps/go-fail-predeploy
- #6027: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 37.1.0 to 37.1.1
- #6024: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 37.0.5 to 37.1.0
- #6026: @dependabot[bot] chore(deps): bump importlib-metadata from 6.7.0 to 6.8.0 in /docs/_build
- #6025: @dependabot[bot] chore(deps): bump zipp from 3.15.0 to 3.16.0 in /docs/_build

### Other

- #6056: @Coffee2CodeNL Add debian bookworm to release and bootstrap script
2023-07-31 03:37:50 +00:00
Jose Diaz-Gonzalez
ae6f9b6a20 Merge pull request #6065 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.1.21
chore(deps): bump mkdocs-material from 9.1.19 to 9.1.21 in /docs/_build
2023-07-28 16:54:27 -04:00
Jose Diaz-Gonzalez
3bac38d501 Merge pull request #6064 from dokku/dependabot/pip/docs/_build/mkdocs-1.5.1
chore(deps): bump mkdocs from 1.4.3 to 1.5.1 in /docs/_build
2023-07-28 16:54:17 -04:00
Jose Diaz-Gonzalez
d609299f3b Merge pull request #6068 from nickgal/patch-1
Fix typo in port management docs
2023-07-28 16:54:03 -04:00
Jose Diaz-Gonzalez
4b327ff59e Merge pull request #6063 from PabloCastellano/patch-1
Fix mistake on->off in nginx.md
2023-07-28 16:53:31 -04:00
Nick Gal
1accac821c Update port-management.md
Fix typo in command
2023-07-28 13:44:58 -07:00
dependabot[bot]
def3eeb4a0 chore(deps): bump mkdocs-material from 9.1.19 to 9.1.21 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.19 to 9.1.21.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.19...9.1.21)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-28 13:30:17 +00:00
dependabot[bot]
70d47400a4 chore(deps): bump mkdocs from 1.4.3 to 1.5.1 in /docs/_build
Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.4.3 to 1.5.1.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.4.3...1.5.1)

---
updated-dependencies:
- dependency-name: mkdocs
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-28 13:30:02 +00:00
Pablo Castellano
dcb2f2d0a7 Fix mistake in nginx.md 2023-07-28 13:31:52 +02:00
Jose Diaz-Gonzalez
98cf6e714a Merge pull request #6059 from dokku/go-mod-update
Update go packages to fix build issues
2023-07-25 13:12:28 -04:00
Jose Diaz-Gonzalez
9787b67854 chore: update go packages to fix build issues 2023-07-25 11:43:48 -04:00
Jose Diaz-Gonzalez
729ede8df0 Merge pull request #6058 from dokku/dependabot/github_actions/tj-actions/changed-files-37.5.0
chore(deps): bump tj-actions/changed-files from 37.4.0 to 37.5.0
2023-07-25 11:35:21 -04:00
dependabot[bot]
123c4d1411 chore(deps): bump tj-actions/changed-files from 37.4.0 to 37.5.0
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 37.4.0 to 37.5.0.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v37.4.0...v37.5.0)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-25 14:02:12 +00:00
Jose Diaz-Gonzalez
093ff059a9 Merge pull request #6056 from Coffee2CodeNL/debian_bookworm_update
Update to debian bookworm
2023-07-25 00:39:21 -04:00
Ré Schopmeijer
a537714375 Update to debian bookworm 2023-07-24 16:42:23 +02:00
Jose Diaz-Gonzalez
44bfd571bd Merge pull request #6053 from dokku/dependabot/github_actions/tj-actions/changed-files-37.4.0
chore(deps): bump tj-actions/changed-files from 37.3.0 to 37.4.0
2023-07-21 13:38:01 -04:00
dependabot[bot]
b0b0dd046d chore(deps): bump tj-actions/changed-files from 37.3.0 to 37.4.0
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 37.3.0 to 37.4.0.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v37.3.0...v37.4.0)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-21 13:27:18 +00:00
Jose Diaz-Gonzalez
0cb68eeac5 Merge pull request #6049 from dokku/dependabot/pip/tests/apps/multi/gunicorn-21.2.0
chore(deps): bump gunicorn from 21.1.0 to 21.2.0 in /tests/apps/multi
2023-07-20 21:41:03 -04:00
Jose Diaz-Gonzalez
d4997aeccc Merge pull request #6050 from dokku/dependabot/pip/docs/_build/click-8.1.6
chore(deps): bump click from 8.1.5 to 8.1.6 in /docs/_build
2023-07-20 21:40:55 -04:00
Jose Diaz-Gonzalez
85b21f61be Merge pull request #6051 from dokku/dependabot/pip/tests/apps/python-flask/gunicorn-21.2.0
chore(deps): bump gunicorn from 21.1.0 to 21.2.0 in /tests/apps/python-flask
2023-07-20 21:40:46 -04:00
Jose Diaz-Gonzalez
0333c92b86 Merge pull request #6052 from dokku/dependabot/github_actions/tj-actions/changed-files-37.3.0
chore(deps): bump tj-actions/changed-files from 37.1.2 to 37.3.0
2023-07-20 21:40:27 -04:00
dependabot[bot]
e1f97b57e3 chore(deps): bump tj-actions/changed-files from 37.1.2 to 37.3.0
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 37.1.2 to 37.3.0.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v37.1.2...v37.3.0)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-19 13:43:27 +00:00
dependabot[bot]
a9aea2386c chore(deps): bump gunicorn in /tests/apps/python-flask
Bumps [gunicorn](https://github.com/benoitc/gunicorn) from 21.1.0 to 21.2.0.
- [Release notes](https://github.com/benoitc/gunicorn/releases)
- [Commits](https://github.com/benoitc/gunicorn/compare/21.1.0...21.2.0)

---
updated-dependencies:
- dependency-name: gunicorn
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-19 13:43:10 +00:00
dependabot[bot]
994b3de64c chore(deps): bump click from 8.1.5 to 8.1.6 in /docs/_build
Bumps [click](https://github.com/pallets/click) from 8.1.5 to 8.1.6.
- [Release notes](https://github.com/pallets/click/releases)
- [Changelog](https://github.com/pallets/click/blob/8.1.6/CHANGES.rst)
- [Commits](https://github.com/pallets/click/compare/8.1.5...8.1.6)

---
updated-dependencies:
- dependency-name: click
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-19 13:14:10 +00:00
dependabot[bot]
fca84b151c chore(deps): bump gunicorn from 21.1.0 to 21.2.0 in /tests/apps/multi
Bumps [gunicorn](https://github.com/benoitc/gunicorn) from 21.1.0 to 21.2.0.
- [Release notes](https://github.com/benoitc/gunicorn/releases)
- [Commits](https://github.com/benoitc/gunicorn/compare/21.1.0...21.2.0)

---
updated-dependencies:
- dependency-name: gunicorn
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-19 13:13:13 +00:00
Jose Diaz-Gonzalez
4bb901bd15 Merge pull request #6048 from dokku/dependabot/pip/docs/_build/pyyaml-6.0.1
chore(deps): bump pyyaml from 6.0 to 6.0.1 in /docs/_build
2023-07-18 12:15:36 -04:00
Jose Diaz-Gonzalez
4b80d3a1ea Merge pull request #6047 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.1.19
chore(deps): bump mkdocs-material from 9.1.18 to 9.1.19 in /docs/_build
2023-07-18 12:15:27 -04:00
Jose Diaz-Gonzalez
ea7c02ca89 Merge pull request #6046 from dokku/dependabot/pip/tests/apps/python-flask/gunicorn-21.1.0
chore(deps): bump gunicorn from 20.1.0 to 21.1.0 in /tests/apps/python-flask
2023-07-18 12:15:10 -04:00
Jose Diaz-Gonzalez
a9fe838d86 Merge pull request #6045 from dokku/dependabot/pip/tests/apps/multi/gunicorn-21.1.0
chore(deps): bump gunicorn from 20.1.0 to 21.1.0 in /tests/apps/multi
2023-07-18 12:14:57 -04:00
Jose Diaz-Gonzalez
1ee5fbda46 Merge pull request #6036 from l3x4/fix-traefik-vhosts-templates-compose
Fix traefik vhosts compose template
2023-07-18 12:11:15 -04:00
dependabot[bot]
ac0b1fc574 chore(deps): bump pyyaml from 6.0 to 6.0.1 in /docs/_build
Bumps [pyyaml](https://github.com/yaml/pyyaml) from 6.0 to 6.0.1.
- [Changelog](https://github.com/yaml/pyyaml/blob/6.0.1/CHANGES)
- [Commits](https://github.com/yaml/pyyaml/compare/6.0...6.0.1)

---
updated-dependencies:
- dependency-name: pyyaml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-18 13:51:21 +00:00
dependabot[bot]
358b19b55a chore(deps): bump mkdocs-material from 9.1.18 to 9.1.19 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.18 to 9.1.19.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.18...9.1.19)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-18 13:51:14 +00:00
dependabot[bot]
fc57ae329a chore(deps): bump gunicorn in /tests/apps/python-flask
Bumps [gunicorn](https://github.com/benoitc/gunicorn) from 20.1.0 to 21.1.0.
- [Release notes](https://github.com/benoitc/gunicorn/releases)
- [Commits](https://github.com/benoitc/gunicorn/compare/20.1.0...21.1.0)

---
updated-dependencies:
- dependency-name: gunicorn
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-18 13:24:55 +00:00
dependabot[bot]
b904adb2b2 chore(deps): bump gunicorn from 20.1.0 to 21.1.0 in /tests/apps/multi
Bumps [gunicorn](https://github.com/benoitc/gunicorn) from 20.1.0 to 21.1.0.
- [Release notes](https://github.com/benoitc/gunicorn/releases)
- [Commits](https://github.com/benoitc/gunicorn/compare/20.1.0...21.1.0)

---
updated-dependencies:
- dependency-name: gunicorn
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-18 13:10:51 +00:00
Jose Diaz-Gonzalez
f0f41c7a02 Merge pull request #6044 from dokku/dependabot/pip/docs/_build/zipp-3.16.2
chore(deps): bump zipp from 3.16.1 to 3.16.2 in /docs/_build
2023-07-18 01:45:44 -04:00
dependabot[bot]
5a2e42aaff chore(deps): bump zipp from 3.16.1 to 3.16.2 in /docs/_build
Bumps [zipp](https://github.com/jaraco/zipp) from 3.16.1 to 3.16.2.
- [Release notes](https://github.com/jaraco/zipp/releases)
- [Changelog](https://github.com/jaraco/zipp/blob/main/NEWS.rst)
- [Commits](https://github.com/jaraco/zipp/compare/v3.16.1...v3.16.2)

---
updated-dependencies:
- dependency-name: zipp
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-17 14:04:46 +00:00
Alexey Kharchenko
4d41cbd3ab Hide empty labels section 2023-07-17 18:14:57 +05:30
Alexey Kharchenko
687c90844d Add test for dokku traefik:show-config 2023-07-17 18:14:47 +05:30
Jose Diaz-Gonzalez
9e3efa481c Merge pull request #6041 from dokku/devcontainer-update
Use updated path for devcontainer vscode extensions
2023-07-16 02:23:32 -04:00
Jose Diaz-Gonzalez
6c1d5d650b fix: use updated path for devcontainer vscode extensions 2023-07-16 02:23:07 -04:00
Jose Diaz-Gonzalez
dc8db44705 Merge pull request #6038 from dokku/dependabot/pip/docs/_build/pymdown-extensions-10.1
chore(deps): bump pymdown-extensions from 10.0.1 to 10.1 in /docs/_build
2023-07-14 11:32:01 -04:00
Jose Diaz-Gonzalez
8721640947 Merge pull request #6039 from dokku/dependabot/pip/docs/_build/click-8.1.5
chore(deps): bump click from 8.1.4 to 8.1.5 in /docs/_build
2023-07-14 11:31:52 -04:00
Jose Diaz-Gonzalez
4364ad96ee Merge pull request #6040 from dokku/dependabot/github_actions/tj-actions/changed-files-37.1.2
chore(deps): bump tj-actions/changed-files from 37.1.1 to 37.1.2
2023-07-14 11:31:39 -04:00
dependabot[bot]
ba1dcd3d38 chore(deps): bump tj-actions/changed-files from 37.1.1 to 37.1.2
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 37.1.1 to 37.1.2.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v37.1.1...v37.1.2)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-14 13:41:09 +00:00
dependabot[bot]
099049ac6c chore(deps): bump click from 8.1.4 to 8.1.5 in /docs/_build
Bumps [click](https://github.com/pallets/click) from 8.1.4 to 8.1.5.
- [Release notes](https://github.com/pallets/click/releases)
- [Changelog](https://github.com/pallets/click/blob/8.1.5/CHANGES.rst)
- [Commits](https://github.com/pallets/click/compare/8.1.4...8.1.5)

---
updated-dependencies:
- dependency-name: click
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-14 13:20:22 +00:00
dependabot[bot]
68c9ed7043 chore(deps): bump pymdown-extensions from 10.0.1 to 10.1 in /docs/_build
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.0.1 to 10.1.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.0.1...10.1.0)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-14 13:20:13 +00:00
Jose Diaz-Gonzalez
2326eb6dfb Merge pull request #6037 from dokku/dependabot/pip/docs/_build/zipp-3.16.1
chore(deps): bump zipp from 3.16.0 to 3.16.1 in /docs/_build
2023-07-14 05:32:27 -04:00
Jose Diaz-Gonzalez
c301a36a44 Merge pull request #6022 from iphoting/patch-1
Fix issue with docker plugin-list install failing boot for docker-based installations
2023-07-14 05:16:57 -04:00
Ronald Ip
1ffb62ac82 Test: Print docker container logs during startup. 2023-07-14 11:45:17 +08:00
Ronald Ip
204732ce39 Test plugin-list within docker-based dokku installs.
Cap docker container connectivity test iterations to 100.
2023-07-14 11:45:17 +08:00
Ronald Ip
08f38892af Fix issue with docker plugin-list install failing boot for docker-based installations 2023-07-14 11:45:17 +08:00
dependabot[bot]
2a86c6cb06 chore(deps): bump zipp from 3.16.0 to 3.16.1 in /docs/_build
Bumps [zipp](https://github.com/jaraco/zipp) from 3.16.0 to 3.16.1.
- [Release notes](https://github.com/jaraco/zipp/releases)
- [Changelog](https://github.com/jaraco/zipp/blob/main/NEWS.rst)
- [Commits](https://github.com/jaraco/zipp/compare/v3.16.0...v3.16.1)

---
updated-dependencies:
- dependency-name: zipp
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-13 13:40:40 +00:00
Alexey Kharchenko
3bbf5370da Fix traefik vhosts compose template
`auth` middleware label should only be added if `TRAEFIK_BASIC_AUTH` set
2023-07-13 12:01:20 +05:30
Jose Diaz-Gonzalez
55c57d049b Merge pull request #6034 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.20.6
chore(deps): bump golang from 1.20.5 to 1.20.6 in /tests/apps/zombies-dockerfile-tini
2023-07-12 13:59:52 -04:00
Jose Diaz-Gonzalez
b62038d7ca Merge pull request #6032 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.20.6
chore(deps): bump golang from 1.20.5 to 1.20.6 in /tests/apps/zombies-dockerfile-no-tini
2023-07-12 13:59:41 -04:00
Jose Diaz-Gonzalez
0548c482bd Merge pull request #6033 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.20.6
chore(deps): bump golang from 1.20.5 to 1.20.6 in /tests/apps/gogrpc
2023-07-12 13:59:33 -04:00
Jose Diaz-Gonzalez
20a23bcdd3 Merge pull request #6031 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.20.6
chore(deps): bump golang from 1.20.5 to 1.20.6 in /tests/apps/go-fail-postdeploy
2023-07-12 13:59:24 -04:00
Jose Diaz-Gonzalez
777932992a Merge pull request #6030 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.20.6
chore(deps): bump golang from 1.20.5 to 1.20.6 in /tests/apps/go-fail-predeploy
2023-07-12 13:59:11 -04:00
Jose Diaz-Gonzalez
9bd75a9a5e Merge pull request #6035 from iphoting/patch-2
Allow the check-commit CI job to work with PRs from other repos
2023-07-12 13:58:33 -04:00
Ronald Ip
d6b04d4e59 Allow the checkout action to work with PRs from other repos. 2023-07-12 23:55:14 +08:00
dependabot[bot]
53f9714306 chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.20.5 to 1.20.6.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-12 14:06:12 +00:00
dependabot[bot]
7ef41b207c chore(deps): bump golang from 1.20.5 to 1.20.6 in /tests/apps/gogrpc
Bumps golang from 1.20.5 to 1.20.6.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-12 13:24:40 +00:00
dependabot[bot]
e23d3767f6 chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.20.5 to 1.20.6.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-12 13:19:24 +00:00
dependabot[bot]
c0856a426a chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.20.5 to 1.20.6.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-12 13:17:06 +00:00
dependabot[bot]
d5ace76fc4 chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.20.5 to 1.20.6.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-12 13:16:40 +00:00
Jose Diaz-Gonzalez
8e779e25fb Merge pull request #6028 from dokku/6020-systemd-debian
Detect and use systemd on Debian systems when interacting with nginx
2023-07-11 22:28:45 -04:00
Jose Diaz-Gonzalez
c44d779695 fix: detect and use systemd on Debian systems
Debian Bookworm completely removes invoke-rc.d, thus breaking interactions with nginx.

Closes #6020
2023-07-11 20:34:50 -04:00
Jose Diaz-Gonzalez
30a94d1f9d Merge pull request #6027 from dokku/dependabot/github_actions/tj-actions/changed-files-37.1.1
chore(deps): bump tj-actions/changed-files from 37.1.0 to 37.1.1
2023-07-11 16:49:39 -04:00
dependabot[bot]
18cc5d4f80 chore(deps): bump tj-actions/changed-files from 37.1.0 to 37.1.1
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 37.1.0 to 37.1.1.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v37.1.0...v37.1.1)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-11 13:27:24 +00:00
Jose Diaz-Gonzalez
38ae4a1009 Merge pull request #6024 from dokku/dependabot/github_actions/tj-actions/changed-files-37.1.0
chore(deps): bump tj-actions/changed-files from 37.0.5 to 37.1.0
2023-07-10 16:30:10 -04:00
Jose Diaz-Gonzalez
34c0f92eeb Merge pull request #6026 from dokku/dependabot/pip/docs/_build/importlib-metadata-6.8.0
chore(deps): bump importlib-metadata from 6.7.0 to 6.8.0 in /docs/_build
2023-07-10 16:30:00 -04:00
Jose Diaz-Gonzalez
24614a39e0 Merge pull request #6025 from dokku/dependabot/pip/docs/_build/zipp-3.16.0
chore(deps): bump zipp from 3.15.0 to 3.16.0 in /docs/_build
2023-07-10 16:29:49 -04:00
dependabot[bot]
01cc8a8c68 chore(deps): bump importlib-metadata from 6.7.0 to 6.8.0 in /docs/_build
Bumps [importlib-metadata](https://github.com/python/importlib_metadata) from 6.7.0 to 6.8.0.
- [Release notes](https://github.com/python/importlib_metadata/releases)
- [Changelog](https://github.com/python/importlib_metadata/blob/main/NEWS.rst)
- [Commits](https://github.com/python/importlib_metadata/compare/v6.7.0...v6.8.0)

---
updated-dependencies:
- dependency-name: importlib-metadata
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-10 14:06:36 +00:00
dependabot[bot]
303e059f2b chore(deps): bump zipp from 3.15.0 to 3.16.0 in /docs/_build
Bumps [zipp](https://github.com/jaraco/zipp) from 3.15.0 to 3.16.0.
- [Release notes](https://github.com/jaraco/zipp/releases)
- [Changelog](https://github.com/jaraco/zipp/blob/main/NEWS.rst)
- [Commits](https://github.com/jaraco/zipp/compare/v3.15.0...v3.16.0)

---
updated-dependencies:
- dependency-name: zipp
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-10 14:06:29 +00:00
dependabot[bot]
1b92ecbf6f chore(deps): bump tj-actions/changed-files from 37.0.5 to 37.1.0
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 37.0.5 to 37.1.0.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v37.0.5...v37.1.0)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-10 14:03:40 +00:00
Dokku Bot
1958594177 Release 0.30.9
# History

## 0.30.9

Install/update via the bootstrap script:

```shell
wget -NP . https://dokku.com/install/v0.30.9/bootstrap.sh
sudo DOKKU_TAG=v0.30.9 bash bootstrap.sh
```

### Bug Fixes

- #6009: @josegonzalez Properly set the plugin repository name when installing in a docker-based dokku install
- #5999: @caplod Fix http to https redirect in traefik

### Documentation

- #6006: @josegonzalez Clarify how to specify the contents of an ssh key for dokku
- #5998: @kleutzinger Fix typo in scheduled cron task documentation
- #5984: @josegonzalez Unify all Procfile-handling documentation under the process management docs
- #5982: @josegonzalez Update docs to mention that files are extracted from source where source code is available

### Dependencies

- #6008: @dependabot[bot] chore(deps): bump click from 8.1.3 to 8.1.4 in /docs/_build
- #6003: @dependabot[bot] chore(deps): bump django from 4.1.9 to 4.1.10 in /tests/apps/dockerfile-release
- #6005: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.11.0 to 0.12.0 in /tests/apps/gogrpc
- #6000: @dependabot[bot] chore(deps): bump mkdocs-material from 9.1.17 to 9.1.18 in /docs/_build
2023-07-09 04:23:19 +00:00
Jose Diaz-Gonzalez
34d5a965d2 Merge pull request #6009 from dokku/fix-plugin-install 2023-07-08 22:35:40 -04:00
Jose Diaz-Gonzalez
dc84545982 fix: properly set the plugin repository name when installing in a docker-based dokku install 2023-07-08 03:51:06 -04:00
Jose Diaz-Gonzalez
4f7e4d1622 Merge pull request #6008 from dokku/dependabot/pip/docs/_build/click-8.1.4
chore(deps): bump click from 8.1.3 to 8.1.4 in /docs/_build
2023-07-07 13:10:47 -04:00
dependabot[bot]
469cc63489 chore(deps): bump click from 8.1.3 to 8.1.4 in /docs/_build
Bumps [click](https://github.com/pallets/click) from 8.1.3 to 8.1.4.
- [Release notes](https://github.com/pallets/click/releases)
- [Changelog](https://github.com/pallets/click/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/click/compare/8.1.3...8.1.4)

---
updated-dependencies:
- dependency-name: click
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-07 13:23:13 +00:00
Jose Diaz-Gonzalez
8b8e867386 Merge pull request #6006 from dokku/josegonzalez-patch-1
Clarify how to specify the contents of an ssh key for dokku
2023-07-06 16:01:04 -04:00
Jose Diaz-Gonzalez
b77bd45808 docs: clarify how to specify the contents of an ssh key for dokku
- The path has to exist on the remote server
- The `~` is interpreted as the dokku user
- You can echo or cat your key instead of specifying a path
2023-07-06 16:00:51 -04:00
Jose Diaz-Gonzalez
1c767938e5 Merge pull request #5999 from caplod/traefik-https-redirect
fix redirect from http to https
2023-07-06 15:36:17 -04:00
Jose Diaz-Gonzalez
160ebe1743 Merge pull request #6003 from dokku/dependabot/pip/tests/apps/dockerfile-release/django-4.1.10
chore(deps): bump django from 4.1.9 to 4.1.10 in /tests/apps/dockerfile-release
2023-07-06 15:32:10 -04:00
Jose Diaz-Gonzalez
a538ced9e1 Merge pull request #6005 from dokku/dependabot/go_modules/tests/apps/gogrpc/golang.org/x/net-0.12.0
chore(deps): bump golang.org/x/net from 0.11.0 to 0.12.0 in /tests/apps/gogrpc
2023-07-06 15:31:58 -04:00
dependabot[bot]
00e409db90 chore(deps): bump golang.org/x/net in /tests/apps/gogrpc
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.11.0 to 0.12.0.
- [Commits](https://github.com/golang/net/compare/v0.11.0...v0.12.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-06 13:36:46 +00:00
dependabot[bot]
363d6c6af3 chore(deps): bump django in /tests/apps/dockerfile-release
Bumps [django](https://github.com/django/django) from 4.1.9 to 4.1.10.
- [Commits](https://github.com/django/django/compare/4.1.9...4.1.10)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-06 00:10:31 +00:00
Jose Diaz-Gonzalez
b774e5d6f9 Merge pull request #6000 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.1.18
chore(deps): bump mkdocs-material from 9.1.17 to 9.1.18 in /docs/_build
2023-07-05 12:53:41 -04:00
dependabot[bot]
9947cd9e8a chore(deps): bump mkdocs-material from 9.1.17 to 9.1.18 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.17 to 9.1.18.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.17...9.1.18)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-03 13:15:41 +00:00
Stefan Mielke
31ec6f4605 fix redirect from http to https 2023-07-03 09:31:10 +02:00
Jose Diaz-Gonzalez
a06532596b Merge pull request #5998 from kleutzinger-forks/master
Fix typo in scheduled cron task documentation
2023-07-03 00:04:01 -04:00
Kevin Leutzinger
f3724fd8cf Fix typo in scheduled-cron-tasks.md 2023-07-02 20:43:16 -07:00
Jose Diaz-Gonzalez
841856f7c7 Merge pull request #5984 from dokku/procfile-format
Unify all Procfile-handling documentation under the process management docs
2023-07-01 18:03:25 -04:00
Jose Diaz-Gonzalez
f465c0e221 docs: unify all Procfile-handling documentation under the process management docs
This makes it more clear as to how the various builders utilize the Procfile, and also ensures we don't have conflicting information anywhere.
2023-07-01 18:02:42 -04:00
Jose Diaz-Gonzalez
2f0d6c606f Merge pull request #5982 from dokku/file-locations
Update docs to mention that files are extracted from source where source code is available
2023-07-01 09:00:17 -04:00
Jose Diaz-Gonzalez
73f61b75d5 docs: update docs to mention that files are extracted from source where source code is available
Recent Dokku changes invalidate a bunch of docs around where files need to be placed in order for Dokku to respect them. This doc change clarifies where files are extracted from in cases where source code is available, which should hopefully make users less confused about how the system works.

See https://railsnotes.xyz/blog/deploying-ruby-on-rails-with-dokku-redis-sidekiq-arm-docker-hetzner for the inspiration - I was reading through it and was like 'these docs are definitely incorrect...'.
2023-07-01 08:58:43 -04:00
Dokku Bot
66d790ca2d Release 0.30.8
# History

## 0.30.8

Install/update via the bootstrap script:

```shell
wget -NP . https://dokku.com/install/v0.30.8/bootstrap.sh
sudo DOKKU_TAG=v0.30.8 bash bootstrap.sh
```

### Bug Fixes

- #5941: @josegonzalez Use github token to avoid rate limiting during packer init
- #5930: @michaelmulley Fix issue with docker plugin-list install failing boot for docker-based installations

### New Features

- #5962: @jaytula Add Debian 12 support to the bootstrap install script
- #5926: @josegonzalez Update default herokuish version to 0.6.0

### Documentation

- #5943: @josegonzalez Add a note for each network type mentioning when they are best used
- #5938: @josegonzalez Add build-base to ensure gcc is available
- #5927: @aradalvand Improve docs about `X-Forwarded-*` headers and move it to nginx.md
- #5921: @aradalvand Update dockerfiles.md to mention that BuildKit is the default builder from Docker v24 onwards
- #5923: @aradalvand Remove `:master` from `git push` commands in the documentation

### Tests

- #5972: @josegonzalez Add permissions to allow publishing test results for pull requests
- #5944: @josegonzalez Add the ability to skip ci when commit message includes a ci skip message or are docs related

### Dependencies

- #5971: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 37.0.4 to 37.0.5
- #5967: @dependabot[bot] chore(deps): bump socket.io from 4.6.2 to 4.7.1 in /tests/apps/.websocket.disabled
- #5968: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 37.0.3 to 37.0.4
- #5966: @dependabot[bot] chore(deps): bump mkdocs-material from 9.1.16 to 9.1.17 in /docs/_build
- #5965: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.4.1 to 37.0.3
- #5957: @josegonzalez chore: update go packages to fix build issues
- #5956: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.4.0 to 36.4.1
- #5949: @dependabot[bot] chore(deps): bump github.com/otiai10/copy from 1.11.0 to 1.12.0 in /plugins/builder
- #5951: @dependabot[bot] chore(deps): bump github.com/otiai10/copy from 1.11.0 to 1.12.0 in /plugins/ps
- #5952: @dependabot[bot] chore(deps): bump github.com/otiai10/copy from 1.11.0 to 1.12.0 in /plugins/common
- #5953: @dependabot[bot] chore(deps): bump github.com/otiai10/copy from 1.11.0 to 1.12.0 in /plugins/app-json
- #5948: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.3.0 to 36.4.0
- #5950: @dependabot[bot] chore(deps): bump importlib-metadata from 6.6.0 to 6.7.0 in /docs/_build
- #5954: @dependabot[bot] chore(deps): bump pyparsing from 3.0.9 to 3.1.0 in /docs/_build
- #5946: @josegonzalez Update to actions/checkout@v3
- #5940: @dependabot[bot] chore(deps): bump mkdocs-material from 9.1.15 to 9.1.16 in /docs/_build
- #5939: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.2.1 to 36.3.0
- #5937: @josegonzalez chore: update go packages to fix build issues
- #5934: @dependabot[bot] chore(deps): bump golang.org/x/sync from 0.2.0 to 0.3.0 in /plugins/app-json
- #5933: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.1.0 to 36.2.1
- #5935: @dependabot[bot] chore(deps): bump golang.org/x/sync from 0.2.0 to 0.3.0 in /plugins/common
- #5928: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.10.0 to 0.11.0 in /tests/apps/gogrpc
- #5922: @dependabot[bot] chore(deps): bump werkzeug from 2.3.5 to 2.3.6 in /tests/apps/python-flask
- #5919: @dependabot[bot] chore(deps): bump python from 3.11.3-buster to 3.11.4-buster in /tests/apps/dockerfile-release
- #5913: @dependabot[bot] chore(deps): bump golang from 1.20.4 to 1.20.5 in /tests/apps/go-fail-predeploy
- #5915: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.27.7 to 1.27.8 in /plugins/config
- #5916: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.27.7 to 1.27.8 in /plugins/common
- #5917: @dependabot[bot] chore(deps): bump werkzeug from 2.3.4 to 2.3.5 in /tests/apps/python-flask
- #5918: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.0.18 to 36.1.0
- #5920: @dependabot[bot] chore(deps): bump python from 3.11.3-alpine to 3.11.4-alpine in /docs/_build
- #5914: @dependabot[bot] chore(deps): bump golang from 1.20.4 to 1.20.5 in /tests/apps/zombies-dockerfile-no-tini
- #5912: @dependabot[bot] chore(deps): bump golang from 1.20.4 to 1.20.5 in /tests/apps/go-fail-postdeploy
- #5911: @dependabot[bot] chore(deps): bump golang from 1.20.4 to 1.20.5 in /tests/apps/gogrpc
- #5910: @dependabot[bot] chore(deps): bump golang from 1.20.4 to 1.20.5 in /tests/apps/zombies-dockerfile-tini
- #5909: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.0.17 to 36.0.18
- #5906: @dependabot[bot] chore(deps): bump markupsafe from 2.1.2 to 2.1.3 in /docs/_build
- #5907: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.0.15 to 36.0.17

### Other

- #5945: @josegonzalez tests: split out image building into it's own job to speed up ci
- #5942: @josegonzalez Move the times function to functions.go
2023-07-01 10:56:06 +00:00
Jose Diaz-Gonzalez
a30668ad21 Merge pull request #5972 from dokku/josegonzalez-patch-1
Add permissions to allow publishing test results for pull requests
2023-07-01 03:00:00 -04:00
Jose Diaz-Gonzalez
57b14e7a54 fix: add permissions to allow publishing test results for pull requests
Without this, almost every PR from a non-contributor will fail at the publish-test-results
2023-07-01 02:59:48 -04:00
Jose Diaz-Gonzalez
d6bd127ee9 Merge pull request #5971 from dokku/dependabot/github_actions/tj-actions/changed-files-37.0.5
chore(deps): bump tj-actions/changed-files from 37.0.4 to 37.0.5
2023-07-01 02:53:33 -04:00
dependabot[bot]
a4ebdd6319 chore(deps): bump tj-actions/changed-files from 37.0.4 to 37.0.5
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 37.0.4 to 37.0.5.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v37.0.4...v37.0.5)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-30 13:35:32 +00:00
Jose Diaz-Gonzalez
1afb559dc1 Merge pull request #5962 from jaytula/add-debian-12-bookworm-support
Add Debian 12 support to the bootstrap install script
2023-06-28 15:17:06 -04:00
Jose Diaz-Gonzalez
ea10d9ad4c Merge pull request #5967 from dokku/dependabot/npm_and_yarn/tests/apps/dot-websocket.disabled/socket.io-4.7.1
chore(deps): bump socket.io from 4.6.2 to 4.7.1 in /tests/apps/.websocket.disabled
2023-06-28 15:11:29 -04:00
Jose Diaz-Gonzalez
ad7c7dabe7 Merge pull request #5968 from dokku/dependabot/github_actions/tj-actions/changed-files-37.0.4
chore(deps): bump tj-actions/changed-files from 37.0.3 to 37.0.4
2023-06-28 15:11:19 -04:00
dependabot[bot]
d34df8642c chore(deps): bump tj-actions/changed-files from 37.0.3 to 37.0.4
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 37.0.3 to 37.0.4.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v37.0.3...v37.0.4)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-28 14:00:52 +00:00
dependabot[bot]
d3617f745b chore(deps): bump socket.io in /tests/apps/.websocket.disabled
Bumps [socket.io](https://github.com/socketio/socket.io) from 4.6.2 to 4.7.1.
- [Release notes](https://github.com/socketio/socket.io/releases)
- [Changelog](https://github.com/socketio/socket.io/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io/compare/4.6.2...4.7.1)

---
updated-dependencies:
- dependency-name: socket.io
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-28 13:57:45 +00:00
Jose Diaz-Gonzalez
05307b3402 Merge pull request #5966 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.1.17
chore(deps): bump mkdocs-material from 9.1.16 to 9.1.17 in /docs/_build
2023-06-27 15:05:04 -04:00
Jose Diaz-Gonzalez
0777637f6a Merge pull request #5965 from dokku/dependabot/github_actions/tj-actions/changed-files-37.0.3
chore(deps): bump tj-actions/changed-files from 36.4.1 to 37.0.3
2023-06-27 15:04:56 -04:00
dependabot[bot]
8a7858d8f5 chore(deps): bump mkdocs-material from 9.1.16 to 9.1.17 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.16 to 9.1.17.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.16...9.1.17)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-26 14:08:25 +00:00
dependabot[bot]
8e8290575b chore(deps): bump tj-actions/changed-files from 36.4.1 to 37.0.3
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 36.4.1 to 37.0.3.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v36.4.1...v37.0.3)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-26 14:03:38 +00:00
Jay T
dcb31237d3 Add Debian 12 support #5960 2023-06-23 23:51:23 -07:00
Samuel Batista
848c54c910 Fix command to get docker image digest 2023-06-21 23:58:59 -04:00
Jose Diaz-Gonzalez
0a14835f1b Merge pull request #5957 from dokku/update-go-mod
chore: update go packages to fix build issues
2023-06-21 17:19:17 -04:00
Jose Diaz-Gonzalez
93e4835e5e chore: update go packages to fix build issues 2023-06-21 10:37:52 -04:00
Jose Diaz-Gonzalez
2cea316d3d Merge pull request #5956 from dokku/dependabot/github_actions/tj-actions/changed-files-36.4.1
chore(deps): bump tj-actions/changed-files from 36.4.0 to 36.4.1
2023-06-21 10:35:28 -04:00
dependabot[bot]
c9ba6e476f chore(deps): bump tj-actions/changed-files from 36.4.0 to 36.4.1
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 36.4.0 to 36.4.1.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v36.4.0...v36.4.1)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-21 14:04:08 +00:00
Jose Diaz-Gonzalez
0498d45549 Merge pull request #5949 from dokku/dependabot/go_modules/plugins/builder/github.com/otiai10/copy-1.12.0
chore(deps): bump github.com/otiai10/copy from 1.11.0 to 1.12.0 in /plugins/builder
2023-06-19 14:27:51 -04:00
Jose Diaz-Gonzalez
db7acc5747 Merge pull request #5951 from dokku/dependabot/go_modules/plugins/ps/github.com/otiai10/copy-1.12.0
chore(deps): bump github.com/otiai10/copy from 1.11.0 to 1.12.0 in /plugins/ps
2023-06-19 14:27:43 -04:00
Jose Diaz-Gonzalez
069d93ca56 Merge pull request #5952 from dokku/dependabot/go_modules/plugins/common/github.com/otiai10/copy-1.12.0
chore(deps): bump github.com/otiai10/copy from 1.11.0 to 1.12.0 in /plugins/common
2023-06-19 14:27:36 -04:00
Jose Diaz-Gonzalez
8d4660279d Merge pull request #5953 from dokku/dependabot/go_modules/plugins/app-json/github.com/otiai10/copy-1.12.0
chore(deps): bump github.com/otiai10/copy from 1.11.0 to 1.12.0 in /plugins/app-json
2023-06-19 14:27:29 -04:00
Jose Diaz-Gonzalez
3b8ad5c9ec Merge pull request #5948 from dokku/dependabot/github_actions/tj-actions/changed-files-36.4.0
chore(deps): bump tj-actions/changed-files from 36.3.0 to 36.4.0
2023-06-19 14:26:07 -04:00
Jose Diaz-Gonzalez
8b0a609948 Merge pull request #5950 from dokku/dependabot/pip/docs/_build/importlib-metadata-6.7.0
chore(deps): bump importlib-metadata from 6.6.0 to 6.7.0 in /docs/_build
2023-06-19 14:25:39 -04:00
Jose Diaz-Gonzalez
7e9a8ecc3a Merge pull request #5954 from dokku/dependabot/pip/docs/_build/pyparsing-3.1.0
chore(deps): bump pyparsing from 3.0.9 to 3.1.0 in /docs/_build
2023-06-19 14:06:44 -04:00
dependabot[bot]
75e6b1675f chore(deps): bump pyparsing from 3.0.9 to 3.1.0 in /docs/_build
Bumps [pyparsing](https://github.com/pyparsing/pyparsing) from 3.0.9 to 3.1.0.
- [Release notes](https://github.com/pyparsing/pyparsing/releases)
- [Changelog](https://github.com/pyparsing/pyparsing/blob/master/CHANGES)
- [Commits](https://github.com/pyparsing/pyparsing/compare/pyparsing_3.0.9...3.1.0)

---
updated-dependencies:
- dependency-name: pyparsing
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-19 14:08:55 +00:00
dependabot[bot]
c2724a6a66 chore(deps): bump github.com/otiai10/copy in /plugins/app-json
Bumps [github.com/otiai10/copy](https://github.com/otiai10/copy) from 1.11.0 to 1.12.0.
- [Release notes](https://github.com/otiai10/copy/releases)
- [Commits](https://github.com/otiai10/copy/compare/v1.11.0...v1.12.0)

---
updated-dependencies:
- dependency-name: github.com/otiai10/copy
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-19 14:08:54 +00:00
dependabot[bot]
1199062c0b chore(deps): bump github.com/otiai10/copy in /plugins/common
Bumps [github.com/otiai10/copy](https://github.com/otiai10/copy) from 1.11.0 to 1.12.0.
- [Release notes](https://github.com/otiai10/copy/releases)
- [Commits](https://github.com/otiai10/copy/compare/v1.11.0...v1.12.0)

---
updated-dependencies:
- dependency-name: github.com/otiai10/copy
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-19 14:08:45 +00:00
dependabot[bot]
1dbc0ef9cb chore(deps): bump github.com/otiai10/copy in /plugins/ps
Bumps [github.com/otiai10/copy](https://github.com/otiai10/copy) from 1.11.0 to 1.12.0.
- [Release notes](https://github.com/otiai10/copy/releases)
- [Commits](https://github.com/otiai10/copy/compare/v1.11.0...v1.12.0)

---
updated-dependencies:
- dependency-name: github.com/otiai10/copy
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-19 14:08:40 +00:00
dependabot[bot]
f52bea2e83 chore(deps): bump importlib-metadata from 6.6.0 to 6.7.0 in /docs/_build
Bumps [importlib-metadata](https://github.com/python/importlib_metadata) from 6.6.0 to 6.7.0.
- [Release notes](https://github.com/python/importlib_metadata/releases)
- [Changelog](https://github.com/python/importlib_metadata/blob/main/CHANGES.rst)
- [Commits](https://github.com/python/importlib_metadata/compare/v6.6.0...v6.7.0)

---
updated-dependencies:
- dependency-name: importlib-metadata
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-19 14:08:38 +00:00
dependabot[bot]
e28b589fab chore(deps): bump github.com/otiai10/copy in /plugins/builder
Bumps [github.com/otiai10/copy](https://github.com/otiai10/copy) from 1.11.0 to 1.12.0.
- [Release notes](https://github.com/otiai10/copy/releases)
- [Commits](https://github.com/otiai10/copy/compare/v1.11.0...v1.12.0)

---
updated-dependencies:
- dependency-name: github.com/otiai10/copy
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-19 14:08:32 +00:00
dependabot[bot]
ec212d52cf chore(deps): bump tj-actions/changed-files from 36.3.0 to 36.4.0
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 36.3.0 to 36.4.0.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v36.3.0...v36.4.0)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-19 14:04:09 +00:00
Jose Diaz-Gonzalez
8569395cae Merge pull request #5945 from dokku/faster-ci
tests: split out image building into it's own job to speed up ci
2023-06-17 01:58:00 -04:00
Jose Diaz-Gonzalez
fdf37e1752 fix: add context 2023-06-17 01:02:41 -04:00
Jose Diaz-Gonzalez
4aebdd7e83 fix: correct yaml formatting issues 2023-06-17 00:47:28 -04:00
Jose Diaz-Gonzalez
86f76daa72 Merge pull request #5946 from dokku/josegonzalez-patch-1
Update to actions/checkout@v3
2023-06-17 00:42:51 -04:00
Jose Diaz-Gonzalez
ee163f192f chore: update to actions/checkout@v3 2023-06-17 00:42:39 -04:00
Jose Diaz-Gonzalez
e7652fbae3 tests: split out image building into it's own job to speed up ci
Previously, we would build the dokku package and install it in the same step. While the package building was relatively quick, because of our multi-architecture support, we would end up spending a large amount of time waiting for arm/arm64 images to build.

This change splits those builds out, allowing unit tests to start much quicker and each platform to be tested in parallel.
2023-06-17 00:31:20 -04:00
Jose Diaz-Gonzalez
867e43998f Merge pull request #5944 from dokku/skip-tests
Add the ability to skip ci when commit message includes a ci skip message or are docs related
2023-06-17 00:01:46 -04:00
Jose Diaz-Gonzalez
3b81a9204c tests: add the ability to skip ci when commit message includes a ci skip message or are docs related 2023-06-17 00:00:31 -04:00
Jose Diaz-Gonzalez
aad86b72a0 Merge pull request #5943 from dokku/network-docs
Add a note for each network type mentioning when they are best used
2023-06-16 23:41:11 -04:00
Jose Diaz-Gonzalez
de09675d85 docs: add a note for each network type mentioning when they are best used 2023-06-16 23:40:38 -04:00
Jose Diaz-Gonzalez
83dd75a9b3 Merge pull request #5942 from dokku/move-times
Move the times function to functions.go
2023-06-16 23:39:22 -04:00
Jose Diaz-Gonzalez
49dc73028e chore: move the times function to functions.go
The functions.go file is where private functions to a given plugin go.
2023-06-16 23:38:53 -04:00
Jose Diaz-Gonzalez
f976bd574b Merge pull request #5941 from dokku/josegonzalez-patch-1
Use github token to avoid rate limiting during packer init
2023-06-16 23:01:25 -04:00
Jose Diaz-Gonzalez
55bada62b9 fix: use github token to avoid rate limiting during packer init 2023-06-16 23:00:43 -04:00
Jose Diaz-Gonzalez
1ae49bfc1f Merge pull request #5940 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.1.16
chore(deps): bump mkdocs-material from 9.1.15 to 9.1.16 in /docs/_build
2023-06-16 21:09:00 -04:00
Jose Diaz-Gonzalez
96835df625 Merge pull request #5939 from dokku/dependabot/github_actions/tj-actions/changed-files-36.3.0
chore(deps): bump tj-actions/changed-files from 36.2.1 to 36.3.0
2023-06-16 21:08:48 -04:00
dependabot[bot]
33405029a2 chore(deps): bump mkdocs-material from 9.1.15 to 9.1.16 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.15 to 9.1.16.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.15...9.1.16)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-16 14:14:32 +00:00
dependabot[bot]
cdcdc78549 chore(deps): bump tj-actions/changed-files from 36.2.1 to 36.3.0
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 36.2.1 to 36.3.0.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v36.2.1...v36.3.0)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-16 14:00:34 +00:00
Jose Diaz-Gonzalez
5ec456e557 Merge pull request #5938 from dokku/josegonzalez-patch-1
Add build-base to ensure gcc is available
2023-06-15 23:34:11 -04:00
Jose Diaz-Gonzalez
2efe1fe8d7 fix: add build-base to ensure gcc is available 2023-06-15 23:24:51 -04:00
Jose Diaz-Gonzalez
c0275d1d2b Merge pull request #5930 from michaelmulley/fix-docker-plugin-list
Fix issue with docker plugin-list install failing boot for docker-based installations
2023-06-15 23:20:33 -04:00
Jose Diaz-Gonzalez
e837543332 Merge pull request #5937 from dokku/update-go-mod
chore: update go packages to fix build issues
2023-06-15 23:19:16 -04:00
Jose Diaz-Gonzalez
64e453d2d4 chore: update go packages to fix build issues 2023-06-15 16:51:46 -04:00
Jose Diaz-Gonzalez
a5d8561a0b Merge pull request #5934 from dokku/dependabot/go_modules/plugins/app-json/golang.org/x/sync-0.3.0
chore(deps): bump golang.org/x/sync from 0.2.0 to 0.3.0 in /plugins/app-json
2023-06-15 16:47:25 -04:00
dependabot[bot]
fe1d6bdf6b chore(deps): bump golang.org/x/sync in /plugins/app-json
Bumps [golang.org/x/sync](https://github.com/golang/sync) from 0.2.0 to 0.3.0.
- [Commits](https://github.com/golang/sync/compare/v0.2.0...v0.3.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sync
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-15 20:39:24 +00:00
Jose Diaz-Gonzalez
6937c95351 Merge pull request #5933 from dokku/dependabot/github_actions/tj-actions/changed-files-36.2.1
chore(deps): bump tj-actions/changed-files from 36.1.0 to 36.2.1
2023-06-15 16:39:07 -04:00
Jose Diaz-Gonzalez
89df6f33d3 Merge pull request #5935 from dokku/dependabot/go_modules/plugins/common/golang.org/x/sync-0.3.0
chore(deps): bump golang.org/x/sync from 0.2.0 to 0.3.0 in /plugins/common
2023-06-15 16:38:56 -04:00
dependabot[bot]
94b6f67eb2 chore(deps): bump golang.org/x/sync in /plugins/common
Bumps [golang.org/x/sync](https://github.com/golang/sync) from 0.2.0 to 0.3.0.
- [Commits](https://github.com/golang/sync/compare/v0.2.0...v0.3.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sync
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-15 13:12:43 +00:00
dependabot[bot]
795de088cc chore(deps): bump tj-actions/changed-files from 36.1.0 to 36.2.1
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 36.1.0 to 36.2.1.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v36.1.0...v36.2.1)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-15 13:07:11 +00:00
Jose Diaz-Gonzalez
873d0b3938 Merge pull request #5928 from dokku/dependabot/go_modules/tests/apps/gogrpc/golang.org/x/net-0.11.0
chore(deps): bump golang.org/x/net from 0.10.0 to 0.11.0 in /tests/apps/gogrpc
2023-06-14 15:42:50 -04:00
Michael Mulley
1f29fa6f9e fix: docker plugin-list install
See dokku/dokku#5929
2023-06-14 13:00:51 -04:00
dependabot[bot]
3d31df53cc chore(deps): bump golang.org/x/net in /tests/apps/gogrpc
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.10.0 to 0.11.0.
- [Commits](https://github.com/golang/net/compare/v0.10.0...v0.11.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-14 13:57:47 +00:00
Jose Diaz-Gonzalez
d93e9f7af4 Merge pull request #5927 from aradalvand/master 2023-06-14 00:27:47 -04:00
Arad Alvand
76674ec941 Add link to X-Forwarded-* docs in ssl.md 2023-06-14 07:50:55 +03:30
Arad Alvand
f452e9af89 Improve docs about X-Forwarded-* headers and move it to nginx.md 2023-06-13 14:46:31 +03:30
Jose Diaz-Gonzalez
bf4960c435 Merge pull request #5926 from dokku/josegonzalez-patch-1
Update default herokuish version to 0.6.0
2023-06-11 03:18:21 -04:00
Jose Diaz-Gonzalez
eb952b072f fix: update correct package 2023-06-11 02:12:30 -04:00
Jose Diaz-Gonzalez
5158e415e3 fix: use correct path to deb file for herokuish
This is now a universal package.
2023-06-11 02:04:19 -04:00
Jose Diaz-Gonzalez
f54d1bc4a9 feat: update default herokuish version to 0.6.0 2023-06-10 22:57:23 -04:00
Jose Diaz-Gonzalez
830cb22542 Merge pull request #5921 from aradalvand/patch-1
Update dockerfiles.md to mention that BuildKit is the default builder from Docker v24 onwards
2023-06-10 00:55:22 -04:00
Jose Diaz-Gonzalez
b385ea2ce9 Merge pull request #5923 from amademy/master
Remove `:master` from `git push` commands in the documentation
2023-06-10 00:54:46 -04:00
Arad Alvand
91b0ac6cc0 Remove :master from git push commands in application-management.md 2023-06-10 08:12:44 +03:30
Arad Alvand
b235983169 Remove :master from git push commands in application-deployment.md 2023-06-10 08:11:46 +03:30
Jose Diaz-Gonzalez
faa442bf54 Merge pull request #5922 from dokku/dependabot/pip/tests/apps/python-flask/werkzeug-2.3.6
chore(deps): bump werkzeug from 2.3.5 to 2.3.6 in /tests/apps/python-flask
2023-06-09 14:51:46 -04:00
dependabot[bot]
cbdbea0aff chore(deps): bump werkzeug in /tests/apps/python-flask
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 2.3.5 to 2.3.6.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/2.3.5...2.3.6)

---
updated-dependencies:
- dependency-name: werkzeug
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-09 13:57:26 +00:00
Arad Alvand
4d8f831a76 Fix BuildKit casing 2023-06-09 17:08:57 +03:30
Arad Alvand
4259077589 Update dockerfiles.md to mention that BuildKit is the default builder from Docker v24 onwards 2023-06-09 17:04:30 +03:30
Jose Diaz-Gonzalez
2d2a8dd642 Merge pull request #5919 from dokku/dependabot/docker/tests/apps/dockerfile-release/python-3.11.4-buster
chore(deps): bump python from 3.11.3-buster to 3.11.4-buster in /tests/apps/dockerfile-release
2023-06-08 19:58:20 -04:00
Jose Diaz-Gonzalez
2720ee2033 Merge pull request #5913 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.20.5
chore(deps): bump golang from 1.20.4 to 1.20.5 in /tests/apps/go-fail-predeploy
2023-06-08 19:58:13 -04:00
Jose Diaz-Gonzalez
351d404415 Merge pull request #5915 from dokku/dependabot/go_modules/plugins/config/github.com/onsi/gomega-1.27.8
chore(deps): bump github.com/onsi/gomega from 1.27.7 to 1.27.8 in /plugins/config
2023-06-08 19:57:52 -04:00
Jose Diaz-Gonzalez
ac09d74128 Merge pull request #5916 from dokku/dependabot/go_modules/plugins/common/github.com/onsi/gomega-1.27.8
chore(deps): bump github.com/onsi/gomega from 1.27.7 to 1.27.8 in /plugins/common
2023-06-08 19:57:40 -04:00
Jose Diaz-Gonzalez
d86defdb0d Merge pull request #5917 from dokku/dependabot/pip/tests/apps/python-flask/werkzeug-2.3.5
chore(deps): bump werkzeug from 2.3.4 to 2.3.5 in /tests/apps/python-flask
2023-06-08 19:57:17 -04:00
Jose Diaz-Gonzalez
e71375e6d5 Merge pull request #5918 from dokku/dependabot/github_actions/tj-actions/changed-files-36.1.0
chore(deps): bump tj-actions/changed-files from 36.0.18 to 36.1.0
2023-06-08 19:57:01 -04:00
dependabot[bot]
d0ea7e99b6 chore(deps): bump python in /tests/apps/dockerfile-release
Bumps python from 3.11.3-buster to 3.11.4-buster.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-08 23:50:10 +00:00
Jose Diaz-Gonzalez
7d33ff97c9 Merge pull request #5920 from dokku/dependabot/docker/docs/_build/python-3.11.4-alpine
chore(deps): bump python from 3.11.3-alpine to 3.11.4-alpine in /docs/_build
2023-06-08 19:49:31 -04:00
dependabot[bot]
94e3b1d96b chore(deps): bump python in /docs/_build
Bumps python from 3.11.3-alpine to 3.11.4-alpine.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-08 14:02:57 +00:00
dependabot[bot]
04cb238dfa chore(deps): bump tj-actions/changed-files from 36.0.18 to 36.1.0
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 36.0.18 to 36.1.0.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v36.0.18...v36.1.0)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-08 14:00:44 +00:00
dependabot[bot]
f0cf04132b chore(deps): bump werkzeug in /tests/apps/python-flask
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 2.3.4 to 2.3.5.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/2.3.4...2.3.5)

---
updated-dependencies:
- dependency-name: werkzeug
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-08 13:57:34 +00:00
dependabot[bot]
7753ada119 chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.20.4 to 1.20.5.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-08 04:16:49 +00:00
Jose Diaz-Gonzalez
ee1b4557fe Merge pull request #5914 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.20.5
chore(deps): bump golang from 1.20.4 to 1.20.5 in /tests/apps/zombies-dockerfile-no-tini
2023-06-08 00:16:18 -04:00
Jose Diaz-Gonzalez
c60ddeb780 Merge pull request #5912 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.20.5
chore(deps): bump golang from 1.20.4 to 1.20.5 in /tests/apps/go-fail-postdeploy
2023-06-08 00:16:09 -04:00
dependabot[bot]
bf481bc5fc chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.20.4 to 1.20.5.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-08 00:27:58 +00:00
dependabot[bot]
d77a62cc16 chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.20.4 to 1.20.5.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-08 00:27:57 +00:00
Jose Diaz-Gonzalez
9cbc3ba8c7 Merge pull request #5911 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.20.5
chore(deps): bump golang from 1.20.4 to 1.20.5 in /tests/apps/gogrpc
2023-06-07 20:27:31 -04:00
Jose Diaz-Gonzalez
8d5c098bd7 Merge pull request #5910 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.20.5
chore(deps): bump golang from 1.20.4 to 1.20.5 in /tests/apps/zombies-dockerfile-tini
2023-06-07 20:27:27 -04:00
dependabot[bot]
4e88a7ae95 chore(deps): bump github.com/onsi/gomega in /plugins/common
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.27.7 to 1.27.8.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](https://github.com/onsi/gomega/compare/v1.27.7...v1.27.8)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-07 13:15:22 +00:00
dependabot[bot]
5a5ec0a350 chore(deps): bump github.com/onsi/gomega in /plugins/config
Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.27.7 to 1.27.8.
- [Release notes](https://github.com/onsi/gomega/releases)
- [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md)
- [Commits](https://github.com/onsi/gomega/compare/v1.27.7...v1.27.8)

---
updated-dependencies:
- dependency-name: github.com/onsi/gomega
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-07 13:15:21 +00:00
dependabot[bot]
b2d806887d chore(deps): bump golang from 1.20.4 to 1.20.5 in /tests/apps/gogrpc
Bumps golang from 1.20.4 to 1.20.5.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-07 13:12:14 +00:00
dependabot[bot]
be2b626170 chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.20.4 to 1.20.5.

---
updated-dependencies:
- dependency-name: golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-07 13:12:14 +00:00
Jose Diaz-Gonzalez
065a24bf7c Merge pull request #5909 from dokku/dependabot/github_actions/tj-actions/changed-files-36.0.18 2023-06-06 10:06:18 -04:00
dependabot[bot]
7e49284b87 chore(deps): bump tj-actions/changed-files from 36.0.17 to 36.0.18
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 36.0.17 to 36.0.18.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v36.0.17...v36.0.18)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-06 14:00:33 +00:00
Jose Diaz-Gonzalez
78f67228bc Merge pull request #5906 from dokku/dependabot/pip/docs/_build/markupsafe-2.1.3
chore(deps): bump markupsafe from 2.1.2 to 2.1.3 in /docs/_build
2023-06-05 11:29:54 -04:00
Jose Diaz-Gonzalez
827d7450c8 Merge pull request #5907 from dokku/dependabot/github_actions/tj-actions/changed-files-36.0.17
chore(deps): bump tj-actions/changed-files from 36.0.15 to 36.0.17
2023-06-05 11:29:41 -04:00
dependabot[bot]
df1d616fd4 chore(deps): bump tj-actions/changed-files from 36.0.15 to 36.0.17
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 36.0.15 to 36.0.17.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v36.0.15...v36.0.17)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-05 13:24:31 +00:00
dependabot[bot]
3e570c2dad chore(deps): bump markupsafe from 2.1.2 to 2.1.3 in /docs/_build
Bumps [markupsafe](https://github.com/pallets/markupsafe) from 2.1.2 to 2.1.3.
- [Release notes](https://github.com/pallets/markupsafe/releases)
- [Changelog](https://github.com/pallets/markupsafe/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/markupsafe/compare/2.1.2...2.1.3)

---
updated-dependencies:
- dependency-name: markupsafe
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-05 13:19:33 +00:00
Dokku Bot
d0d00d9c99 Release 0.30.7
# History

## 0.30.7

Install/update via the bootstrap script:

```shell
wget -NP . https://dokku.com/install/v0.30.7/bootstrap.sh
sudo DOKKU_TAG=v0.30.7 bash bootstrap.sh
```

### Bug Fixes

- #5905: @josegonzalez fix: trim whitespace on registry property values

### Documentation

- #5897: @josegonzalez Add cron-restart to plugin registry

### Dependencies

- #5904: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.0.11 to 36.0.15
- #5902: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.0.10 to 36.0.11
- #5900: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.0.9 to 36.0.10
- #5898: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.0.8 to 36.0.9
- #5899: @dependabot[bot] chore(deps): bump mkdocs-material from 9.1.14 to 9.1.15 in /docs/_build
- #5894: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.0.6 to 36.0.8
2023-06-02 23:39:28 +00:00
Jose Diaz-Gonzalez
673aa115bc Merge pull request #5905 from dokku/trim-registry-spaces
fix: trim whitespace on registry property values
2023-06-02 19:37:56 -04:00
Jose Diaz-Gonzalez
f90ef17338 fix: trim whitespace on registry property values
When upgrading from an older install of Dokku with the old community registry plugin, newlines could be available in the properties set on disk. Trim them so any usage of the properties continues to work as expected by users.
2023-06-02 19:35:27 -04:00
Jose Diaz-Gonzalez
09aa6ad874 Merge pull request #5904 from dokku/dependabot/github_actions/tj-actions/changed-files-36.0.15
chore(deps): bump tj-actions/changed-files from 36.0.11 to 36.0.15
2023-06-02 12:10:43 -04:00
dependabot[bot]
b7c4cf4021 chore(deps): bump tj-actions/changed-files from 36.0.11 to 36.0.15
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 36.0.11 to 36.0.15.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v36.0.11...v36.0.15)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-02 14:00:41 +00:00
Jose Diaz-Gonzalez
888898fb09 Merge pull request #5902 from dokku/dependabot/github_actions/tj-actions/changed-files-36.0.11
chore(deps): bump tj-actions/changed-files from 36.0.10 to 36.0.11
2023-06-01 15:50:59 -04:00
dependabot[bot]
357e089409 chore(deps): bump tj-actions/changed-files from 36.0.10 to 36.0.11
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 36.0.10 to 36.0.11.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v36.0.10...v36.0.11)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-01 14:04:25 +00:00
Jose Diaz-Gonzalez
f5f28d76fc Merge pull request #5900 from dokku/dependabot/github_actions/tj-actions/changed-files-36.0.10
chore(deps): bump tj-actions/changed-files from 36.0.9 to 36.0.10
2023-05-31 13:17:54 -04:00
dependabot[bot]
f0fb5720c9 chore(deps): bump tj-actions/changed-files from 36.0.9 to 36.0.10
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 36.0.9 to 36.0.10.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v36.0.9...v36.0.10)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-31 14:00:16 +00:00
Jose Diaz-Gonzalez
aa7f483f98 Merge pull request #5898 from dokku/dependabot/github_actions/tj-actions/changed-files-36.0.9
chore(deps): bump tj-actions/changed-files from 36.0.8 to 36.0.9
2023-05-30 16:34:26 -04:00
Jose Diaz-Gonzalez
b96b7688e3 Merge pull request #5899 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.1.15
chore(deps): bump mkdocs-material from 9.1.14 to 9.1.15 in /docs/_build
2023-05-30 16:34:13 -04:00
dependabot[bot]
3672871b1f chore(deps): bump mkdocs-material from 9.1.14 to 9.1.15 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.14 to 9.1.15.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.14...9.1.15)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-30 14:04:33 +00:00
dependabot[bot]
577c6cdeee chore(deps): bump tj-actions/changed-files from 36.0.8 to 36.0.9
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 36.0.8 to 36.0.9.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v36.0.8...v36.0.9)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-30 14:00:29 +00:00
josegonzalez
c0232f0910 Merge pull request #5897 from dokku/josegonzalez-patch-1
Add cron-restart to plugin registry
2023-05-29 17:58:46 -04:00
josegonzalez
88a09b267f docs: add cron-restart to plugin registry 2023-05-29 17:58:34 -04:00
josegonzalez
fb8ade7e07 Merge pull request #5894 from dokku/dependabot/github_actions/tj-actions/changed-files-36.0.8
chore(deps): bump tj-actions/changed-files from 36.0.6 to 36.0.8
2023-05-29 13:35:40 -04:00
dependabot[bot]
eacd8d0ef6 chore(deps): bump tj-actions/changed-files from 36.0.6 to 36.0.8
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 36.0.6 to 36.0.8.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v36.0.6...v36.0.8)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-29 14:03:27 +00:00
Dokku Bot
deedd4f689 Release 0.30.6
# History

## 0.30.6

Install/update via the bootstrap script:

```shell
wget -NP . https://dokku.com/install/v0.30.6/bootstrap.sh
sudo DOKKU_TAG=v0.30.6 bash bootstrap.sh
```

### Bug Fixes

- #5889: @josegonzalez Respect dashboard disabling properties in traefik
- #5890: @josegonzalez Add missing report triggers and omitted proxy functionality
- #5757: @josegonzalez Ensure users can push from an image-deploy repository and respect deploy-branch

### New Features

- #5873: @josegonzalez Add dependabot to all plugin dependencies

### Dependencies

- #5877: @dependabot[bot] chore(deps): bump github.com/multiformats/go-base36 from 0.1.1-0.20220823151017-f5af2eed4d9c to 0.2.0 in /plugins/cron
- #5886: @josegonzalez chore: bump github.com/otiai10/copy from 1.9.0 to 1.11.0
- #5875: @dependabot[bot] chore(deps): bump github.com/gofrs/flock from 0.8.0 to 0.8.1 in /plugins/ps
- #5885: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.0.3 to 36.0.6
- #5871: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 35.9.2 to 36.0.3

### Other

- #5887: @josegonzalez chore: bump github.com/ryanuber/columnize from 1.1.2-0.20190319233515-9e6335e58db3 to 2.1.2+incompatible
- #5872: @Samuelodan Fix typo in upgrading docs
2023-05-28 20:06:47 +00:00
josegonzalez
b3179b65b2 Merge pull request #5889 from dokku/5855-properly-disable-dashboard
Respect dashboard disabling properties in traefik
2023-05-28 16:04:05 -04:00
josegonzalez
e4b09130aa Merge pull request #5890 from dokku/proxy-missing-functionality
Add missing report triggers and omitted proxy functionality
2023-05-28 15:49:53 -04:00
Jose Diaz-Gonzalez
9d5cbeeb19 fix: add missing report triggers 2023-05-28 15:49:12 -04:00
Jose Diaz-Gonzalez
986c05ff7e fix: keep track of the stopped/started state of haproxy 2023-05-28 15:46:32 -04:00
Jose Diaz-Gonzalez
02a89d01f9 fix: respect dashboard disabling properties in traefik
Closes #5855
2023-05-28 15:01:01 -04:00
josegonzalez
ed46a2e67b Merge pull request #5757 from dokku/5662-git-push-after-image-image 2023-05-28 07:23:50 -04:00
Jose Diaz-Gonzalez
70a1b6a863 fix: checkout the deploy branch when initializing a new repo
The initial-branch flag only works on newer versions of git - 2.28.0+ - and the init.defaultBranch config is otherwise also ignored until then.
2023-05-28 05:38:57 -04:00
Jose Diaz-Gonzalez
9f3879b225 chore: update the image being used for the test 2023-05-28 05:38:02 -04:00
Jose Diaz-Gonzalez
1a320eafad fix: add missing hook creation before clone
In the case where a repository is new, the check to see if it is an empty repo during clone fails. We therefore create the initial repo via the fn-git-create-hook call when initializing the repo.
2023-05-28 03:10:45 -04:00
Jose Diaz-Gonzalez
8faa338bd4 fix: ensure users can push from an image-deploy repository and respect deploy-branch
Previously, we created this weird bare repo that didn't do set all the normal git config. This change switches to cloning the local temp directory, fixing the `receive.denyCurrentBranch` property that blocked pushing to this weird bare repo after calling git:from-image or git:from-archive.

Additionally, since we now use a git clone, we set the default branch correctly, ensuring git pushes later on that branch work as expected (and not on master if it was customized prior to app creation).

Closes #5601
Closes #5662
2023-05-28 03:10:45 -04:00
josegonzalez
23779c066f Merge pull request #5877 from dokku/dependabot/go_modules/plugins/cron/github.com/multiformats/go-base36-0.2.0
chore(deps): bump github.com/multiformats/go-base36 from 0.1.1-0.20220823151017-f5af2eed4d9c to 0.2.0 in /plugins/cron
2023-05-28 02:42:39 -04:00
dependabot[bot]
540c058a6f chore(deps): bump github.com/multiformats/go-base36 in /plugins/cron
Bumps [github.com/multiformats/go-base36](https://github.com/multiformats/go-base36) from 0.1.1-0.20220823151017-f5af2eed4d9c to 0.2.0.
- [Release notes](https://github.com/multiformats/go-base36/releases)
- [Commits](https://github.com/multiformats/go-base36/commits/v0.2.0)

---
updated-dependencies:
- dependency-name: github.com/multiformats/go-base36
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-28 04:28:03 +00:00
josegonzalez
2731132f29 Merge pull request #5886 from dokku/update-otiai10-copy-dependency
chore: bump github.com/otiai10/copy from 1.9.0 to 1.11.0
2023-05-28 00:27:29 -04:00
Jose Diaz-Gonzalez
48cd5b11a5 chore: bump github.com/otiai10/copy from 1.9.0 to 1.11.0 2023-05-28 00:03:20 -04:00
josegonzalez
b6c3d2f4ab Merge pull request #5887 from dokku/update-ryanuber-columnize-dependency
chore: bump github.com/ryanuber/columnize from 1.1.2-0.20190319233515-9e6335e58db3 to 2.1.2+incompatible
2023-05-27 23:59:19 -04:00
josegonzalez
1e41964873 Merge pull request #5875 from dokku/dependabot/go_modules/plugins/ps/github.com/gofrs/flock-0.8.1
chore(deps): bump github.com/gofrs/flock from 0.8.0 to 0.8.1 in /plugins/ps
2023-05-27 23:21:37 -04:00
Jose Diaz-Gonzalez
92cff9be3f chore: bump github.com/ryanuber/columnize from 1.1.2-0.20190319233515-9e6335e58db3 to 2.1.2+incompatible 2023-05-27 22:24:39 -04:00
josegonzalez
4d79ce7de5 Merge pull request #5885 from dokku/dependabot/github_actions/tj-actions/changed-files-36.0.6
chore(deps): bump tj-actions/changed-files from 36.0.3 to 36.0.6
2023-05-27 21:52:27 -04:00
dependabot[bot]
1b1f9bf5ee chore(deps): bump tj-actions/changed-files from 36.0.3 to 36.0.6
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 36.0.3 to 36.0.6.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v36.0.3...v36.0.6)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-28 01:46:17 +00:00
dependabot[bot]
b5db30af59 chore(deps): bump github.com/gofrs/flock in /plugins/ps
Bumps [github.com/gofrs/flock](https://github.com/gofrs/flock) from 0.8.0 to 0.8.1.
- [Release notes](https://github.com/gofrs/flock/releases)
- [Commits](https://github.com/gofrs/flock/compare/v0.8.0...v0.8.1)

---
updated-dependencies:
- dependency-name: github.com/gofrs/flock
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-28 01:45:36 +00:00
josegonzalez
474ebf5c3c Merge pull request #5873 from dokku/josegonzalez-patch-1
Add dependabot to all plugin dependencies
2023-05-27 21:45:13 -04:00
josegonzalez
0fffe28a82 feat: add dependabot to all plugin dependencies 2023-05-27 21:45:01 -04:00
josegonzalez
f013f297c3 Merge pull request #5872 from Samuelodan/patch-1
docs: fix typo in `getting-started/upgrading/index.md`
2023-05-27 16:09:46 -04:00
Samuelodan
a84d35271e docs: fix typo in getting-started/upgrading/index.md
the word, 'versions,' was repeated.
2023-05-27 14:40:05 +01:00
josegonzalez
a94fae6ce8 Merge pull request #5871 from dokku/dependabot/github_actions/tj-actions/changed-files-36.0.3
chore(deps): bump tj-actions/changed-files from 35.9.2 to 36.0.3
2023-05-26 14:47:40 -04:00
dependabot[bot]
9a86cae550 chore(deps): bump tj-actions/changed-files from 35.9.2 to 36.0.3
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 35.9.2 to 36.0.3.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v35.9.2...v36.0.3)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-26 14:00:50 +00:00
Dokku Bot
56c535041e Release 0.30.5
# History

## 0.30.5

Install/update via the bootstrap script:

```shell
wget -NP . https://dokku.com/install/v0.30.5/bootstrap.sh
sudo DOKKU_TAG=v0.30.5 bash bootstrap.sh
```

### New Features

- #5862: @edmorley Stop using the `latest` tag for the default `DOKKU_CNB_BUILDER`

### Documentation

- #5870: @josegonzalez Repair malformed code-block
- #5863: @joker234 Remove reference to ssh github clone from app deployment docs

### Tests

- #5867: @josegonzalez Update linuxserver image used in tests to one that is compatible with arm64

### Dependencies

- #5868: @josegonzalez Update all golang dependencies to fix go.0 tests
- #5856: @dependabot[bot] chore(deps): bump pymdown-extensions from 9.11 to 10.0.1 in /docs/_build
- #5865: @dependabot[bot] chore(deps): bump requests from 2.27.1 to 2.31.0 in /tests/apps/lambda-python
- #5864: @dependabot[bot] chore(deps): bump mkdocs-material from 9.1.12 to 9.1.14 in /docs/_build
- #5866: @dependabot[bot] chore(deps): bump maven-dependency-plugin from 3.5.0 to 3.6.0 in /tests/apps/java
2023-05-26 05:49:48 +00:00
josegonzalez
2acbe517ca Merge pull request #5870 from gerardpaapu/patch-1
Repair malformed code-block
2023-05-25 16:55:27 -04:00
josegonzalez
ab65e404ad Merge pull request #5868 from dokku/update-go-deps
Update all golang dependencies to fix go.0 tests
2023-05-25 05:30:17 -04:00
josegonzalez
510e3083e0 Merge pull request #5867 from dokku/arm-git-tests
Update linuxserver image used in tests to one that is compatible with arm64
2023-05-25 03:15:29 -04:00
Jose Diaz-Gonzalez
7b183317ae fix: upgrade golang.org/x/sync dependency to fix goverage issue 2023-05-25 03:14:33 -04:00
Jose Diaz-Gonzalez
06b744f55f chore: update all golang dependencies to fix go.0 tests 2023-05-25 02:24:55 -04:00
Jose Diaz-Gonzalez
3322287009 tests: update linuxserver image used in tests to one that is compatible with arm64 2023-05-25 02:02:21 -04:00
josegonzalez
e50f3019da Merge pull request #5862 from edmorley/patch-1
Stop using the `latest` tag for the default `DOKKU_CNB_BUILDER`
2023-05-25 01:08:51 -04:00
josegonzalez
fdfa534048 Merge pull request #5863 from joker234/patch-1
Update application-deployment.md
2023-05-24 22:44:53 -04:00
josegonzalez
436115f0d8 Merge pull request #5856 from dokku/dependabot/pip/docs/_build/pymdown-extensions-10.0.1
chore(deps): bump pymdown-extensions from 9.11 to 10.0.1 in /docs/_build
2023-05-24 22:44:26 -04:00
josegonzalez
3810b6dcf9 Merge pull request #5865 from dokku/dependabot/pip/tests/apps/lambda-python/requests-2.31.0
chore(deps): bump requests from 2.27.1 to 2.31.0 in /tests/apps/lambda-python
2023-05-24 22:44:22 -04:00
josegonzalez
8fcfae3464 Merge pull request #5864 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.1.14
chore(deps): bump mkdocs-material from 9.1.12 to 9.1.14 in /docs/_build
2023-05-24 22:44:10 -04:00
josegonzalez
74092f42c5 Merge pull request #5866 from dokku/dependabot/maven/tests/apps/java/org.apache.maven.plugins-maven-dependency-plugin-3.6.0
chore(deps): bump maven-dependency-plugin from 3.5.0 to 3.6.0 in /tests/apps/java
2023-05-24 22:43:32 -04:00
dependabot[bot]
50fde8e7c8 chore(deps): bump maven-dependency-plugin in /tests/apps/java
Bumps [maven-dependency-plugin](https://github.com/apache/maven-dependency-plugin) from 3.5.0 to 3.6.0.
- [Commits](https://github.com/apache/maven-dependency-plugin/compare/maven-dependency-plugin-3.5.0...maven-dependency-plugin-3.6.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-dependency-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-23 13:57:23 +00:00
dependabot[bot]
37d97eaaa5 chore(deps): bump requests in /tests/apps/lambda-python
Bumps [requests](https://github.com/psf/requests) from 2.27.1 to 2.31.0.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.27.1...v2.31.0)

---
updated-dependencies:
- dependency-name: requests
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-23 03:54:06 +00:00
dependabot[bot]
6662952eb6 chore(deps): bump mkdocs-material from 9.1.12 to 9.1.14 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.12 to 9.1.14.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.12...9.1.14)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-22 14:11:02 +00:00
Johannes Visintini
6ddd7f09e9 Update application-deployment.md
example uses HTTPS, not SSH anymore
2023-05-22 12:02:40 +02:00
Ed Morley
56b75f80af fix: Stop using the latest tag for the default DOKKU_CNB_BUILDER
Previously the default value for `DOKKU_CNB_BUILDER` was `heroku/buildpacks`,
which for Docker is equivalent to `heroku/buildpacks:latest`.

The `latest` tag is about to be deleted (see heroku/builder#344), so this
switches the default value to `heroku/buildpacks:20` - which is what the
`latest` tag is currently as alias for.

Longer term, `DOKKU_CNB_BUILDER` should be switched to the non-deprecated
`heroku/builder:*` images, however, that's potentially a breaking change,
so is out of scope of this bug-fix PR.

For the list of available builders/tags, see:
https://github.com/heroku/builder#heroku-builder-images

Fixes #5861.
2023-05-19 08:31:28 +01:00
Gerard Paapu
d58f570295 Fix: repair malformed code-block
This code-block starts with triple-backticks  but is closed with 4 backticks, causing the documentation page to render incorrectly
2023-05-18 11:16:23 +12:00
dependabot[bot]
420a964822 chore(deps): bump pymdown-extensions from 9.11 to 10.0.1 in /docs/_build
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.11 to 10.0.1.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.11...10.0.1)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-16 14:04:27 +00:00
551 changed files with 10243 additions and 4056 deletions

View File

@@ -8,8 +8,10 @@ RUN apt-get install --no-install-recommends -y build-essential file nano && \
rm -rf /var/lib/apt/lists/*
ARG TARGETARCH
RUN wget https://dl.google.com/go/go1.19.6.linux-${TARGETARCH}.tar.gz && \
tar -xvf go1.19.6.linux-${TARGETARCH}.tar.gz && \
COPY common.mk common.mk
RUN GOLANG_VERSION=$(grep BUILD_IMAGE common.mk | cut -d' ' -f3 | cut -d':' -f2) && \
wget https://dl.google.com/go/go${GOLANG_VERSION}.linux-${TARGETARCH}.tar.gz && \
tar -xvf go${GOLANG_VERSION}.linux-${TARGETARCH}.tar.gz && \
mv go /usr/local
RUN GOROOT=/usr/local/go /usr/local/go/bin/go install golang.org/x/tools/gopls@latest 2>&1

View File

@@ -7,12 +7,16 @@
"DOKKU_HOST_ROOT": "${localWorkspaceFolder}/tmp/data/home/dokku",
"GO_ROOT_MOUNT": "${localWorkspaceFolder}:/go/src/github.com/dokku/dokku"
},
"extensions": [
"golang.go",
"mads-hartmann.bash-ide-vscode",
"ms-vscode.makefile-tools",
"sleistner.vscode-fileutils"
],
"customizations": {
"vscode": {
"extensions": [
"golang.go",
"mads-hartmann.bash-ide-vscode",
"ms-vscode.makefile-tools",
"sleistner.vscode-fileutils"
]
}
},
"initializeCommand": ["mkdir", "-p", "tmp/data"],
"mounts": [
"source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind",

View File

@@ -11,5 +11,7 @@ tests
!docs/_build/requirements.txt
!tests/dhparam.pem
!contrib/bash-completion
!contrib/dependencies.json
!contrib/docker
!contrib/update-deb-dependencies
vendor

31
.github/actions/build-image/action.yml vendored Normal file
View File

@@ -0,0 +1,31 @@
---
name: 'build-image'
description: 'builds a dokku docker image'
inputs:
architecture:
description: 'platform to build'
required: true
default: 'linux/amd64'
runs:
using: "composite"
steps:
- name: download packages
uses: actions/download-artifact@v3
with:
name: build
path: build
- name: set up docker buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: build docker image
shell: bash
run: |
docker buildx build \
--progress plain \
--tag "dokku/dokku:latest" \
.

View File

@@ -2,19 +2,23 @@
set -eo pipefail
set -x
DOKKU_DOMAIN=${DOKKU_DOMAIN:="dokku.me"}
echo "=====> set hostname"
hostname
internal_ip="$(ifconfig eth0 | grep 'inet ' | awk '{print $2}')"
sudo hostname "dokku.me"
echo "dokku.me" | sudo tee /etc/hostname
sudo hostname "$DOKKU_DOMAIN"
echo "$DOKKU_DOMAIN" | sudo tee /etc/hostname
hostname
sudo cat /etc/hostname
echo "=====> resolve dokku.me"
echo "=====> resolve $DOKKU_DOMAIN"
sudo apt -qq -y --no-install-recommends install net-tools
# dokku.me now resolves to 10.0.0.2. add 10.0.0.2/24 to eth0
ifconfig
sudo ip addr add 10.0.0.2/24 broadcast 10.0.0.255 dev eth0
if [[ "$DOKKU_DOMAIN" == "dokku.me" ]]; then
# dokku.me now resolves to 10.0.0.2. add 10.0.0.2/24 to eth0
ifconfig
sudo ip addr add 10.0.0.2/24 broadcast 10.0.0.255 dev eth0
fi
echo "=====> install ci-dependencies"
make ci-dependencies

133
.github/dependabot.yml vendored
View File

@@ -8,6 +8,139 @@ updates:
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: gomod
directory: "/plugins/app-json"
schedule:
interval: daily
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: gomod
directory: "/plugins/apps"
schedule:
interval: daily
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: gomod
directory: "/plugins/builder"
schedule:
interval: daily
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: gomod
directory: "/plugins/buildpacks"
schedule:
interval: daily
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: gomod
directory: "/plugins/common"
schedule:
interval: daily
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: gomod
directory: "/plugins/config"
schedule:
interval: daily
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: gomod
directory: "/plugins/cron"
schedule:
interval: daily
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: gomod
directory: "/plugins/docker-options"
schedule:
interval: daily
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: gomod
directory: "/plugins/logs"
schedule:
interval: daily
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: gomod
directory: "/plugins/network"
schedule:
interval: daily
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: gomod
directory: "/plugins/nginx-vhosts"
schedule:
interval: daily
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: gomod
directory: "/plugins/ports"
schedule:
interval: daily
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: gomod
directory: "/plugins/proxy"
schedule:
interval: daily
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: gomod
directory: "/plugins/ps"
schedule:
interval: daily
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: gomod
directory: "/plugins/registry"
schedule:
interval: daily
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: gomod
directory: "/plugins/repo"
schedule:
interval: daily
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: gomod
directory: "/plugins/resource"
schedule:
interval: daily
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: gomod
directory: "/plugins/scheduler-docker-local"
schedule:
interval: daily
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: gomod
directory: "/plugins/scheduler"
schedule:
interval: daily
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: bundler
directory: "/tests/apps/ruby"
schedule:

View File

@@ -8,3 +8,30 @@ MD013: false
# Inline HTML
# https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#md033
MD033: false
# List indentation
# 2 spaces breaks list formatting in mkdocs
# https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#md007
MD007:
indent: 4
# Fenced code blocks should have a language specified
# We use a second, un-languaged code block to denote the output
# https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#md040
MD040: false
# Blank line inside blockquote
# This is typically done when a section has a "New as of" or "Warning" in addition to a note
# May wish to take advantage of github-style admonitions
# https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#md028
MD028: false
# No duplicate headers
# HISTORY.md has a ton of these
# https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#md024
MD024: false
# First line h1
# The issue template doesn't have one
# https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#md041
MD041: false

View File

@@ -14,10 +14,38 @@ concurrency:
group: build-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
INSTALL_DOCKER_REPO: 1
jobs:
check-commit:
runs-on: ubuntu-20.04
outputs:
skip: ${{ steps.check-commit.outputs.skip }}
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: check if message contain keywords ace scopeid
id: check-commit
run: |
# checking for "docs" or "[ci skip]" messages
message=$(git log -1 --pretty=format:'%s')
if [[ "$message" =~ "\[(ci skip)\]" ]]; then
echo "Skipping tests due to [ci skip] message"
echo "skip=true" >> $GITHUB_OUTPUT
elif [[ "$message" =~ "^docs:" ]]; then
echo "Skipping tests due to "docs:" prefix on message"
echo "skip=true" >> $GITHUB_OUTPUT
fi
build:
name: build
runs-on: ubuntu-20.04
needs: check-commit
if: ${{ needs.check-commit.outputs.skip != 'true' }}
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
strategy:
@@ -25,17 +53,19 @@ jobs:
timeout-minutes: 45
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: set up qemu
uses: docker/setup-qemu-action@v2
uses: docker/setup-qemu-action@v3
- name: set up docker buildx
id: buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3
- name: build package
run: ./tests/ci/setup.sh build
env:
SKIP_IMAGE_BUILD: true
- name: set matrix for build
id: set-matrix
@@ -50,6 +80,34 @@ jobs:
name: build
path: build
build-image-amd64:
name: build-image.linux/amd64
needs: build
runs-on: ubuntu-20.04
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- name: build-image
uses: ./.github/actions/build-image
with:
architecture: linux/amd64
build-image-arm64:
name: build-image.linux/arm64
needs: build
runs-on: buildjet-4vcpu-ubuntu-2204-arm
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- name: build-image
uses: ./.github/actions/build-image
with:
architecture: linux/arm64
unit-tests:
name: unit.${{ matrix.index }}
needs: build
@@ -59,7 +117,7 @@ jobs:
matrix: ${{fromJson(needs.build.outputs.matrix)}}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: download packages
uses: actions/download-artifact@v3
@@ -74,7 +132,7 @@ jobs:
# uses: luchihoratiu/debug-via-ssh@main
# with:
# NGROK_AUTH_TOKEN: ${{ secrets.NGROK_AUTH_TOKEN }}
# SSH_PASS: ${{ secrets.SSH_PASS }}
# SSH_PASS: ${{ secrets.NGROK_SSH_PASS }}
- name: run ci
timeout-minutes: 30
@@ -98,7 +156,7 @@ jobs:
fail-fast: false
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: download packages
uses: actions/download-artifact@v3
@@ -128,7 +186,7 @@ jobs:
GITHUB_NODE_INDEX: ${{ matrix.index }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: download packages
uses: actions/download-artifact@v3
@@ -161,6 +219,8 @@ jobs:
name: publish-test-results
needs: unit-tests
runs-on: ubuntu-20.04
permissions:
checks: write
# the build-and-test job might be skipped, we don't need to run this job then
if: success() || failure()

View File

@@ -23,6 +23,10 @@ on:
schedule:
- cron: '18 22 * * 2'
concurrency:
group: codeql-analysis-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
analyze:
name: Analyze
@@ -38,7 +42,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL

View File

@@ -7,12 +7,16 @@ on:
branches:
- master
concurrency:
group: docs-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Cloning repo
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0

View File

@@ -10,13 +10,17 @@ on:
branches:
- 'master'
concurrency:
group: lint-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
hadolint:
name: hadolint
runs-on: ubuntu-20.04
steps:
- name: Clone
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Run hadolint
uses: hadolint/hadolint-action@54c9adbab1582c2ef04b2016b760714a4bfde3cf
# v3.0.0 => 4b5806eb9c6bee4954fc0e0cc3ad6175fc9782c1
@@ -26,29 +30,35 @@ jobs:
runs-on: ubuntu-20.04
steps:
- name: Clone
uses: actions/checkout@v3
- name: Run markdown-lint
uses: avto-dev/markdown-lint@04d43ee9191307b50935a753da3b775ab695eceb
# v1.5.0 => 04d43ee9191307b50935a753da3b775ab695eceb
uses: actions/checkout@v4
- name: Setup node
uses: actions/setup-node@v3
with:
config: '.github/linters/.markdown-lint.yml'
args: './README.md'
node-version: '20'
cache: 'npm'
cache-dependency-path: '.github/workflows/lint.yml'
- name: Install markdownlint-cli
run: npm install -g markdownlint-cli@0.35.0
- name: Run markdown-lint
run: markdownlint -c .github/linters/.markdown-lint.yml *.md **/*.md
packer:
name: packer
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup packer
uses: hashicorp/setup-packer@main
with:
version: latest
- name: Run packer init
run: "make image/init/digitalocean"
env:
PACKER_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Get changed files in the docs folder
id: changed-files-specific
uses: tj-actions/changed-files@v35.9.2
uses: tj-actions/changed-files@v39.2.2
with:
files: contrib/images/digitalocean/**
- name: Run `packer validate`
@@ -62,20 +72,17 @@ jobs:
runs-on: ubuntu-20.04
steps:
- name: Clone
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Run shellcheck
uses: ludeeus/action-shellcheck@00cae500b08a931fb5698e11e79bfbd38e612a38
# 1.1.0 => 94e0aab03ca135d11a35e5bfc14e6746dc56e7e9
env:
# keep in sync with tests/shellcheck-exclude
SHELLCHECK_OPTS: -e SC1001 -e SC1003 -e SC1090 -e SC1091 -e SC1117 -e SC2029 -e SC2030 -e SC2031 -e SC2034 -e SC2046 -e SC2064 -e SC2068 -e SC2086 -e SC2119 -e SC2120 -e SC2128 -e SC2148 -e SC2153 -e SC2154 -e SC2155 -e SC2162 -e SC2174 -e SC2179 -e SC2191 -e SC2199 -e SC2207 -e SC2219 -e SC2220 -e SC2230 -e SC2231 -e SC2235 -e SC2267 -e SC2295
shfmt:
name: shfmt
runs-on: ubuntu-20.04
steps:
- name: Clone
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Run shfmt
uses: luizm/action-sh-checker@76ab0b22e1f194e4a582edc7969df6485c4e9246
# v0.5.0 => edd0e45ecff35b05f162052b50df50976c1b74fc
@@ -89,7 +96,7 @@ jobs:
runs-on: ubuntu-20.04
steps:
- name: Clone
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Run yamllint
uses: ibiqlik/action-yamllint@2576378a8e339169678f9939646ee3ee325e845c
# v3.1.1 => 2576378a8e339169678f9939646ee3ee325e845c

View File

@@ -19,7 +19,7 @@ jobs:
outputs:
version: ${{ steps.version.outputs.version }}
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -28,17 +28,17 @@ jobs:
ruby-version: 2.6
- name: login to docker hub
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: set up qemu
uses: docker/setup-qemu-action@v2
uses: docker/setup-qemu-action@v3
- name: set up docker buildx
id: buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3
- name: inspect builder
run: |
@@ -78,7 +78,7 @@ jobs:
needs: release
steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup packer
uses: hashicorp/setup-packer@main
@@ -114,7 +114,7 @@ jobs:
needs: release
steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Bump Azure Template
env:
BOT_GITHUB_USERNAME: ${{ secrets.HOMEBREW_GITHUB_USERNAME }}

1
.gitignore vendored
View File

@@ -11,3 +11,4 @@ test-results/
stack.tgz
tmp
coverage.out
site

View File

@@ -1,9 +1,33 @@
# SC1001 - This \/ will be a regular '/' in this context - https://github.com/koalaman/shellcheck/wiki/SC1001
# SC1003 - Want to escape a single quote? echo 'This is how it'\''s done' - https://github.com/koalaman/shellcheck/wiki/SC1003
# SC1090 - Can't follow non-constant source. Use a directive to specify location - https://github.com/koalaman/shellcheck/wiki/SC1090
# SC1091 - Not following: FILE: does not exist (No such file or directory) - https://github.com/koalaman/shellcheck/wiki/SC1091
# - used for sourcing function files throughout the codebase
# SC1117 - Backslash is literal in "\n". Prefer explicit escaping: "\\n" - https://github.com/koalaman/shellcheck/wiki/SC1117
# SC2029 - Note that, unescaped, this expands on the client side - https://github.com/koalaman/shellcheck/wiki/SC2029
# SC2030 - Modification of var is local (to subshell caused by pipeline). - https://github.com/koalaman/shellcheck/wiki/SC2030
# SC2031 - var was modified in a subshell. That change might be lost. - https://github.com/koalaman/shellcheck/wiki/SC2031
# SC2034 - VAR appears unused - https://github.com/koalaman/shellcheck/wiki/SC2034
# - used for declaring desc and deprecated function variables
# SC2046 - Quote this to prevent word splitting - https://github.com/koalaman/shellcheck/wiki/SC2046
# SC2064 - Use single quotes, otherwise this expands now rather than when signalled. - https://github.com/koalaman/shellcheck/wiki/SC2064
# - used for traps
# SC2068 - Double quote array expansions to avoid re-splitting elements - https://github.com/koalaman/shellcheck/wiki/SC2068
# SC2086 - Double quote to prevent globbing and word splitting - https://github.com/koalaman/shellcheck/wiki/SC2086
# SC2119 - Use 'function "$@"' if function's $1 should mean script's $1 - https://github.com/koalaman/shellcheck/wiki/SC2119
# SC2120 - Function references arguments, but none are ever passed - https://github.com/koalaman/shellcheck/wiki/SC2120
# SC2128 - Expanding an array without an index only gives the first element - https://github.com/koalaman/shellcheck/wiki/SC2128
# SC2148 - Tips depend on target shell and yours is unknown. Add a shebang - https://github.com/koalaman/shellcheck/wiki/SC2148
# SC2153 - Possible misspelling: DOKKU_ROOT may not be assigned, but DOKKU_PORT is - https://github.com/koalaman/shellcheck/wiki/SC2153
# SC2154 - Var is referenced but not assigned - https://github.com/koalaman/shellcheck/wiki/SC2154
# SC2155 - Declare and assign separately to avoid masking return values - https://github.com/koalaman/shellcheck/wiki/SC2155
# - used throughout the codebase
disable=SC1091,SC2034,SC2064,SC2155
# SC2162 - read without -r will mangle backslashes - https://github.com/koalaman/shellcheck/wiki/SC2162
# SC2174 - When used with -p, -m only applies to the deepest directory - https://github.com/koalaman/shellcheck/wiki/SC2174
# SC2179 - Use array+=("item") to append items to an array - https://github.com/koalaman/shellcheck/wiki/SC2179
# SC2191 - The = here is literal. To assign by index, use ( [index]=value ) with no spaces. To keep as literal, quote it - https://github.com/koalaman/shellcheck/wiki/SC2191
# SC2199 - Arrays implicitly concatenate in [[ ]]. Use a loop (or explicit * instead of @) - https://github.com/koalaman/shellcheck/wiki/SC2199
# SC2207 - Prefer mapfile or read -a to split command output (or quote to avoid splitting) - https://github.com/koalaman/shellcheck/wiki/SC2207
# SC2219 - Instead of 'let expr', prefer (( expr )) - https://github.com/koalaman/shellcheck/wiki/SC2219
# SC2220 - Invalid flags are not handled. Add a *) case - https://github.com/koalaman/shellcheck/wiki/SC2220
# SC2231 - Quote expansions in this for loop glob to prevent wordsplitting, e.g. "$dir"/*.txt - https://github.com/koalaman/shellcheck/wiki/SC2231
# SC2235 - Use { ..; } instead of (..) to avoid subshell overhead - https://github.com/koalaman/shellcheck/wiki/SC2235
# SC2267 - GNU xargs -i is deprecated in favor of -I{} - https://github.com/koalaman/shellcheck/wiki/SC2267
# SC2295 - Expansions inside ${..} need to be quoted separately, otherwise they match as patterns - https://github.com/koalaman/shellcheck/wiki/SC2295
disable=SC1001,SC1003,SC1090,SC1091,SC1117,SC2029,SC2030,SC2031,SC2034,SC2046,SC2064,SC2068,SC2086,SC2119,SC2120,SC2128,SC2148,SC2153,SC2154,SC2155,SC2162,SC2174,SC2179,SC2191,SC2199,SC2207,SC2219,SC2220,SC2231,SC2235,SC2267,SC2295

View File

@@ -1,13 +0,0 @@
---
linters:
shellcheck:
shell: bash
exclude: SC2034,SC1090,SC2191
golint:
files:
ignore:
- 'debian/*'
- 'docs/*'
- 'tests/*'
- '*/vendor/*'

View File

@@ -19,11 +19,11 @@ a chance of keeping on top of things.
- [Reporting Security Issues](#reporting-security-issues)
- [Reporting Issues](#reporting-other-issues)
- [Contributing](#contributing)
- [Making Changes](#making-changes)
- [Which branch to base the work](#which-branch-to-base-the-work)
- [Submitting Changes](#submitting-changes)
- [When will my change be merged?](#when-will-my-change-be-merged)
- [Running tests locally](#running-tests-locally)
- [Making Changes](#making-changes)
- [Which branch to base the work](#which-branch-to-base-the-work)
- [Submitting Changes](#submitting-changes)
- [When will my change be merged?](#when-will-my-change-be-merged)
- [Running tests locally](#running-tests-locally)
- [Additional Resources](#additional-resources)
## Reporting security issues
@@ -65,24 +65,24 @@ need to do
- Make sure you have a [GitHub account](https://github.com/signup/free).
- Submit an [issue](https://github.com/dokku/dokku/issues), assuming one does not already exist.
- Clearly describe the issue including steps to reproduce when it is a bug.
- Make sure you fill in the earliest version that you know has the issue.
- Clearly describe the issue including steps to reproduce when it is a bug.
- Make sure you fill in the earliest version that you know has the issue.
- Fork the repository on GitHub.
### Making Changes
- Create a topic branch from where you want to base your work.
- This is usually the master branch.
- Only target an existing branch if you are certain your fix must be on that
branch.
- To quickly create a topic branch based on master; `git checkout -b my_contribution origin/master`.
It is best to avoid working directly on the `master` branch. Doing so will
- This is usually the master branch.
- Only target an existing branch if you are certain your fix must be on that
branch.
- To quickly create a topic branch based on master; `git checkout -b my_contribution origin/master`.
It is best to avoid working directly on the `master` branch. Doing so will
help avoid conflicts if you pull in updates from origin.
- Make commits of logical units. Implementing a new function and calling it in
another file constitute a single logical unit of work.
- Before you make a pull request, squash your commits into logical units of work
using `git rebase -i` and `git push -f`.
- A majority of submissions should have a single commit, so if in doubt,
- Before you make a pull request, squash your commits into logical units of work
using `git rebase -i` and `git push -f`.
- A majority of submissions should have a single commit, so if in doubt,
squash your commits down to one commit.
- Check for unnecessary whitespace with `git diff --check` before committing.
- Use descriptive commit messages and reference the #issue number.
@@ -92,7 +92,7 @@ need to do
- Your work should apply the [Dokku coding standards](https://github.com/progrium/bashstyle)
- Pull requests must be cleanly rebased on top of master without multiple branches
mixed into the PR.
- **Git tip**: If your PR no longer merges cleanly, use `rebase master` in your
- **Git tip**: If your PR no longer merges cleanly, use `rebase master` in your
feature branch to update your pull request rather than `merge master`.
### Which branch to base the work

View File

@@ -1,5 +1,637 @@
# History
## 0.32.0
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.32.0/bootstrap.sh
sudo DOKKU_TAG=v0.32.0 bash bootstrap.sh
```
See the [0.32.0 migration guide](/docs/appendices/0.32.0-migration-guide.md) for more information on migrating to 0.32.0.
### New Features
- #6277: @josegonzalez Run ps:restore in parallel by default
- #6276: @josegonzalez Warn when incorrect interface/port in use for web processes
- #6132: @josegonzalez Add the ability to specify a custom mailto for all cron output
- #6124: @josegonzalez Add a shell function to check if a plugin trigger exists
- #5348: @josegonzalez Add nixpacks builder support
### Removals
- #6283: @josegonzalez Remove deprecated proxy-ports functions and and plugin subcommands
### Deprecations
- #6127: @josegonzalez Deprecate the builder-specific pre-release-* triggers in favor of a global pre-release-builder trigger
- #6126: @josegonzalez Deprecate the builder-specific post-build-* triggers in favor of a global post-build trigger
- #6125: @josegonzalez Deprecate the builder-specific pre-build-* triggers in favor of a global pre-build trigger
### Documentation
- #6284: @josegonzalez Document future removal of deprecated CHECKS file format
- #6123: @josegonzalez Add a migration guide for 0.32.x
### Dependencies
- #6285: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.5 to 9.4.6 in /docs/_build
- #6281: @josegonzalez Upgrade golang to 1.21
### Other
- #6155: @josegonzalez Remove ARM support
## 0.31.5
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.31.5/bootstrap.sh
sudo DOKKU_TAG=v0.31.5 bash bootstrap.sh
```
### Bug Fixes
- #6275: @josegonzalez Update message referencing CHECKS file usage to app.json
- #6273: @josegonzalez Clean up local build images immediately after an image is released
### New Features
- #6274: @josegonzalez Add more version output to dokku report command
- #6255: @josegonzalez Add ci concurrency to linting workflow
- #6253: @josegonzalez Add ci concurrency to doc building
- #6254: @josegonzalez Add ci concurrency to codeql analysis
- #6222: @josegonzalez Install docker-buildx-plugin to silence buildx warnings
### Refactors
- #6257: @josegonzalez Manage Dokku system dependencies in a single file
### Documentation
- #6271: @josegonzalez Update list of official, community, and deprecated plugins
- #6224: @joeyates Correct typo in example app.json for healthchecks
- #6207: @AlejandroAkbal Update port clearing command in Dockerfile deploy documentation
### Tests
- #6278: @josegonzalez Remove pack installation from builder-lambda tests
### Dependencies
- #6269: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.14.0 to 0.17.0 in /plugins/common
- #6270: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.2.1 to 39.2.2
- #6262: @dependabot[bot] chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/zombies-dockerfile-no-tini
- #6263: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.16.0 to 0.17.0 in /tests/apps/gogrpc
- #6264: @dependabot[bot] chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/zombies-dockerfile-tini
- #6265: @dependabot[bot] chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/go-fail-predeploy
- #6259: @dependabot[bot] chore(deps): bump org.eclipse.jetty:jetty-servlet from 11.0.16 to 11.0.17 in /tests/apps/java
- #6260: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.4 to 9.4.5 in /docs/_build
- #6261: @dependabot[bot] chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/gogrpc
- #6266: @dependabot[bot] chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/go-fail-postdeploy
- #6258: @dependabot[bot] chore(deps): update markdown requirement from <3.5,>=3.2.1 to >=3.2.1,<3.6 in /docs/_build
- #6256: @josegonzalez chore: bump github.com/otiai10/copy and golang.org/x/sync
- #6241: @dependabot[bot] chore(deps): bump python from 3.11.5-alpine to 3.12.0-alpine in /docs/_build
- #6252: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.2 to 9.4.4 in /docs/_build
- #6235: @dependabot[bot] chore(deps): bump packaging from 23.1 to 23.2 in /docs/_build
- #6232: @dependabot[bot] chore(deps): bump werkzeug from 2.3.7 to 3.0.0 in /tests/apps/python-flask
- #6231: @dependabot[bot] chore(deps): bump flask from 2.3.3 to 3.0.0 in /tests/apps/python-flask
- #6248: @dependabot[bot] chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/gogrpc
- #6251: @dependabot[bot] chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/zombies-dockerfile-tini
- #6250: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.15.0 to 0.16.0 in /tests/apps/gogrpc
- #6249: @dependabot[bot] chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/go-fail-predeploy
- #6247: @dependabot[bot] chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/zombies-dockerfile-no-tini
- #6246: @dependabot[bot] chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/go-fail-postdeploy
- #6245: @dependabot[bot] chore(deps): bump golang.org/x/sync from 0.3.0 to 0.4.0 in /plugins/scheduler-docker-local
- #6233: @dependabot[bot] chore(deps): bump flask from 2.3.3 to 3.0.0 in /tests/apps/multi
- #6239: @dependabot[bot] chore(deps): bump github.com/otiai10/copy from 1.12.0 to 1.14.0 in /plugins/ps
- #6234: @dependabot[bot] chore(deps): bump github.com/otiai10/copy from 1.12.0 to 1.14.0 in /plugins/builder
- #6240: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.2.0 to 39.2.1
- #6228: @josegonzalez Update all go modules and ensure all are tracked in dependabot
- #6227: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.27.10 to 1.28.0 in /plugins/common
- #6216: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.1.2 to 39.2.0
- #6217: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.1 to 9.4.2 in /docs/_build
- #6215: @dependabot[bot] chore(deps): bump mkdocs-material from 9.3.1 to 9.4.1 in /docs/_build
- #6214: @dependabot[bot] chore(deps): bump mkdocs-material-extensions from 1.1.1 to 1.2 in /docs/_build
- #6209: @dependabot[bot] chore(deps): bump zipp from 3.16.2 to 3.17.0 in /docs/_build
- #6211: @dependabot[bot] chore(deps): bump mkdocs from 1.5.2 to 1.5.3 in /docs/_build
- #6213: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.0.2 to 39.1.2
- #6202: @dependabot[bot] chore(deps): bump docker/setup-buildx-action from 2 to 3
- #6199: @dependabot[bot] chore(deps): bump docker/login-action from 2 to 3
- #6200: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.0.0 to 39.0.2
- #6201: @dependabot[bot] chore(deps): bump docker/setup-qemu-action from 2 to 3
- #6203: @dependabot[bot] chore(deps): bump mkdocs-material from 9.2.8 to 9.3.1 in /docs/_build
## 0.31.4
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.31.4/bootstrap.sh
sudo DOKKU_TAG=v0.31.4 bash bootstrap.sh
```
### Documentation
- #5958: @gamedevsam Update command used to retrieve image digest when image is not pushed to a registry
### Dependencies
- #6194: @dependabot[bot] chore(deps): bump golang from 1.21.0 to 1.21.1 in /tests/apps/go-fail-predeploy
- #6197: @dependabot[bot] chore(deps): bump golang from 1.21.0 to 1.21.1 in /tests/apps/gogrpc
- #6195: @dependabot[bot] chore(deps): bump golang from 1.21.0 to 1.21.1 in /tests/apps/go-fail-postdeploy
- #6196: @dependabot[bot] chore(deps): bump golang from 1.21.0 to 1.21.1 in /tests/apps/zombies-dockerfile-tini
- #6193: @dependabot[bot] chore(deps): bump golang from 1.21.0 to 1.21.1 in /tests/apps/zombies-dockerfile-no-tini
- #6190: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.14.0 to 0.15.0 in /tests/apps/gogrpc
### Other
- #6191: @josegonzalez chore: remove debug logging from git plugin
## 0.31.3
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.31.3/bootstrap.sh
sudo DOKKU_TAG=v0.31.3 bash bootstrap.sh
```
### Bug Fixes
- #6179: @rct-k Fix build cache for herokuish-built apps
### Tests
- #6177: @maxvisser Update shellcheck junit integration for newer version of shellcheck
### Dependencies
- #6186: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.2.1 to 10.3 in /docs/_build
- #6184: @dependabot[bot] chore(deps): bump soupsieve from 2.4.1 to 2.5 in /docs/_build
- #6183: @dependabot[bot] chore(deps): bump actions/checkout from 3 to 4
- #6187: @dependabot[bot] chore(deps): bump mkdocs-material from 9.2.6 to 9.2.8 in /docs/_build
- #6188: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 38.2.0 to 39.0.0
- #6173: @dependabot[bot] chore(deps): bump org.eclipse.jetty:jetty-servlet from 11.0.15 to 11.0.16 in /tests/apps/java
- #6174: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 38.1.3 to 38.2.0
- #6175: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.2 to 10.2.1 in /docs/_build
- #6176: @dependabot[bot] chore(deps): bump mkdocs-material from 9.2.5 to 9.2.6 in /docs/_build
- #6171: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.1 to 10.2 in /docs/_build
- #6168: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 38.1.0 to 38.1.3
- #6170: @dependabot[bot] chore(deps): bump mkdocs-material from 9.2.3 to 9.2.5 in /docs/_build
- #6169: @dependabot[bot] chore(deps): bump python from 3.11.4-alpine to 3.11.5-alpine in /docs/_build
## 0.31.2
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.31.2/bootstrap.sh
sudo DOKKU_TAG=v0.31.2 bash bootstrap.sh
```
### Bug Fixes
- #6154: @josegonzalez Ensure app clones have domains setup
- #6164: @josegonzalez Use correct path for openresty letsencrypt data
- #6165: @josegonzalez Ensure we cleanup extracted files prior to next deployment
- #6166: @josegonzalez Remove unused source from openresty trigger
- #6163: @josegonzalez Add missing triggers for openresty-vhosts plugin
- #6151: @josegonzalez Do not pass an empty argument to scheduler-run when triggering cron tasks manually
- #6150: @josegonzalez Correct issue where temp file cleanup fails deploy
### Documentation
- #6167: @josegonzalez Correct svg path on homepage
- #6153: @imankulov Fix superscript typos in plugin documentation
### Tests
- #6152: @josegonzalez Use buildjet for building arm images
- #6149: @josegonzalez Fix issue where CI cannot install docker-compose-plugin
### Dependencies
- #6161: @josegonzalez Upgrade sigil to 0.10.1
- #6162: @josegonzalez Upgrade herokuish to 0.7.1
- #6160: @josegonzalez Upgrade sshcommand to 0.17.1
- #6159: @josegonzalez Upgrade procfile-util to 0.16.0
- #6158: @josegonzalez Upgrade netrc to 0.7.1
- #6157: @josegonzalez Upgrade lambda-builder to 0.5.0
- #6147: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 37.6.1 to 38.1.0
- #6145: @dependabot[bot] chore(deps): bump mkdocs-material from 9.2.2 to 9.2.3 in /docs/_build
- #6139: @dependabot[bot] chore(deps): bump flask from 2.3.2 to 2.3.3 in /tests/apps/multi
- #6140: @dependabot[bot] chore(deps): bump flask from 2.3.2 to 2.3.3 in /tests/apps/python-flask
- #6141: @dependabot[bot] chore(deps): bump mkdocs-material from 9.1.21 to 9.2.2 in /docs/_build
### Other
- #6148: @josegonzalez Add missing relabel command to docker-image-labeler for CNB builder
## 0.31.1
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.31.1/bootstrap.sh
sudo DOKKU_TAG=v0.31.1 bash bootstrap.sh
```
### Bug Fixes
- #6133: @josegonzalez Properly handle tag and branch pushes
- #6131: @josegonzalez Ensure tmp files are cleaned up when commands exit
- #6130: @josegonzalez Correct package for container healthchecker when building digitalocean image
- #6121: @josegonzalez Add missing error-log-path function to openresty plugin
### Documentation
- #6129: @josegonzalez Cleanup markdown and use Github Admonitions
### Dependencies
- #6120: @dependabot[bot] chore(deps): bump click from 8.1.6 to 8.1.7 in /docs/_build
- #6119: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 37.6.0 to 37.6.1
- #6118: @dependabot[bot] chore(deps): bump werkzeug from 2.3.6 to 2.3.7 in /tests/apps/python-flask
- #6115: @dependabot[bot] chore(deps): bump golang from 1.20.7 to 1.21.0 in /tests/apps/zombies-dockerfile-no-tini
- #6114: @dependabot[bot] chore(deps): bump golang from 1.20.7 to 1.21.0 in /tests/apps/zombies-dockerfile-tini
- #6104: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.13.0 to 0.14.0 in /tests/apps/gogrpc
- #6113: @dependabot[bot] chore(deps): bump golang from 1.20.7 to 1.21.0 in /tests/apps/go-fail-predeploy
- #6112: @dependabot[bot] chore(deps): bump golang from 1.20.7 to 1.21.0 in /tests/apps/go-fail-postdeploy
- #6111: @dependabot[bot] chore(deps): bump golang from 1.20.7 to 1.21.0 in /tests/apps/gogrpc
- #6107: @dependabot[bot] chore(deps): bump pygments from 2.15.1 to 2.16.1 in /docs/_build
- #6106: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 37.5.2 to 37.6.0
- #6105: @dependabot[bot] chore(deps): bump sinatra from 3.0.6 to 3.1.0 in /tests/apps/ruby
### Other
- #6122: @josegonzalez Plugin trigger and event cleanup
## 0.31.0
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.31.0/bootstrap.sh
sudo DOKKU_TAG=v0.31.0 bash bootstrap.sh
```
See the [0.31.0 migration guide](/docs/appendices/0.31.0-migration-guide.md) for more information on migrating to 0.31.0.
### Backwards Compatibility Breaks
- #6102: @josegonzalez Deprecate ARM as a build target
- #6029: @josegonzalez Provide users the ability to override auto-detected port mappings
### Bug Fixes
- #6110: @josegonzalez Correctly handle rebase when generating release notes for minor/major releases
- #6081: @josegonzalez Use correct namespace for haproxy service state tracking
- #6079: @josegonzalez Remove debugging code from builder-dockerfile plugin
- #6078: @josegonzalez Use correct quoting in format template when fetching exposed image ports
- #6070: @josegonzalez Do not write empty values for nginx container labels
- #6014: @josegonzalez Automatically clear the git source-image property when changing deployment methodologies
- #5985: @josegonzalez Mount the traefik data directory instead of the acme.json file when starting traefik
- #5979: @josegonzalez Do not start proxy implementations during server restore if they weren't manually started via the :start command
- #5973: @josegonzalez Remove all containers and images by label on app destroy
### New Features
- #6100: @josegonzalez Add support for non-web healthchecks via app.json
- #6098: @josegonzalez Upgrade traefik image from v2.8 to v2.10
- #6097: @josegonzalez Upgrade caddy image from 2.7 to 2.8
- #6082: @josegonzalez Add openresty proxy implementation
- #6057: @josegonzalez Inject docker labels when nginx proxy implementation is in use
- #6043: @josegonzalez Write auto-detected port mappings during a deploy
- #6013: @josegonzalez Export environment variables during dockerfile builds for use with value-less --build-arg flags
- #6007: @Firfi Add application/wasm to nginx.conf.sigil gzip
- #5993: @josegonzalez Un-deprecate apps and config cli aliases
- #5992: @josegonzalez Mount the vector data directory instead of the vector file
- #5991: @josegonzalez Add the ability to execute a cron task on the fly
- #5990: @josegonzalez Add json format output to cron:list command
- #5989: @josegonzalez Skip scaled processes that are missing in the Procfile
- #5978: @josegonzalez Export environment variables during dockerfile builds for use with value-less --build-arg flags
- #5908: @josegonzalez Generate jobs for crontab in parallel
- #5891: @josegonzalez Add support for specifying multiple networks on a given app
### Refactors
- #6042: @josegonzalez Rename port-map property to port
- #6021: @josegonzalez Simplify ports-configure codebase
- #6018: @josegonzalez Move code that fetches raw tcp ports for dockerfile deploys to ports plugin
- #6017: @josegonzalez Deprecate proxy-configure-ports plugin trigger in favor of ports-configure
- #6011: @josegonzalez Use ports-get plugn trigger for fetching port mappings
- #6010: @josegonzalez Use ports-clear plugn trigger to manage clearing the port map
- #5988: @josegonzalez Move crontab writing code to scheduler-docker-local plugin
- #5975: @josegonzalez Standardize on shorthand for redirecting all output to /dev/null
- #5974: @josegonzalez Standardize on ls subcommand when interacting with the docker binary
### Documentation
- #6116: @josegonzalez Remove extra newline in migration docs
- #6099: @josegonzalez Clean up references in proxy plugins
- #5987: @josegonzalez Clarify that a branch can be specified when updating a plugin
### Tests
- #6103: @josegonzalez Timeout docker image builds in CI
- #6101: @josegonzalez Make it possible to specify an alternative base domain for tests
- #6095: @josegonzalez Remove assertion for unconsumed build arguments
- #6094: @josegonzalez Correct assertion for dockerfile builds when a variable is eval'd
- #6080: @josegonzalez Add assertions to various bats tests
- #6076: @josegonzalez Use assert_output_not_exists instead of asserting output is empty string
- #6075: @josegonzalez Use an alternative curl request to ensure requests go to the local nginx
- #6074: @josegonzalez Fix issue where networks weren't being torn down during testing
- #6012: @josegonzalez Use ports:report to get the list of port mappings
- #5977: @josegonzalez Move all shellcheck disable definitions to .shellcheckrc
- #5976: @josegonzalez Remove Stickler configuration
### Other
- #6109: @josegonzalez Make heroku-22/jammy the default stack for cnb/herokuish builds
- #6096: @josegonzalez Upgrade vector image from 0.23.x to 0.31.x
- #6019: @josegonzalez Move code for fetching an available port to the ports plugin
- #6015: @josegonzalez Move CHECKS file extraction to the beginning of the deploy
- #5995: @josegonzalez Migrate the proxy port map from config variable to property system
- #5986: @josegonzalez Move all port management code to standalone ports plugin
- #5495: @josegonzalez Move herokuish app cache from the filesystem into a docker volume
## 0.30.11
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.30.11/bootstrap.sh
sudo DOKKU_TAG=v0.30.11 bash bootstrap.sh
```
### Dependencies
- #6091: @dependabot[bot] chore(deps): bump mkdocs from 1.5.1 to 1.5.2 in /docs/_build
- #6093: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 37.5.1 to 37.5.2
- #6088: @dependabot[bot] chore(deps): bump golang from 1.20.6 to 1.20.7 in /tests/apps/gogrpc
- #6087: @dependabot[bot] chore(deps): bump golang from 1.20.6 to 1.20.7 in /tests/apps/zombies-dockerfile-no-tini
- #6086: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.12.0 to 0.13.0 in /tests/apps/gogrpc
- #6085: @dependabot[bot] chore(deps): bump golang from 1.20.6 to 1.20.7 in /tests/apps/go-fail-postdeploy
- #6084: @dependabot[bot] chore(deps): bump golang from 1.20.6 to 1.20.7 in /tests/apps/go-fail-predeploy
- #6083: @dependabot[bot] chore(deps): bump golang from 1.20.6 to 1.20.7 in /tests/apps/zombies-dockerfile-tini
- #6072: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 37.5.0 to 37.5.1
- #6073: @dependabot[bot] chore(deps): bump pyparsing from 3.1.0 to 3.1.1 in /docs/_build
## 0.30.10
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.30.10/bootstrap.sh
sudo DOKKU_TAG=v0.30.10 bash bootstrap.sh
```
### Bug Fixes
- #6036: @l3x4 Remove auth middleware from traefik compose setup when basic auth is not enabled
- #6041: @josegonzalez Use updated path for devcontainer vscode extensions
- #6022: @iphoting Fix issue with docker plugin-list install failing boot for docker-based installations
- #6028: @josegonzalez Detect and use systemd on Debian systems when interacting with nginx
### Documentation
- #6068: @nickgal Fix typo in port management docs
- #6063: @PabloCastellano Fix typo in nginx docs
### Tests
- #6035: @iphoting Allow the check-commit CI job to work with PRs from other repos
### Dependencies
- #6065: @dependabot[bot] chore(deps): bump mkdocs-material from 9.1.19 to 9.1.21 in /docs/_build
- #6064: @dependabot[bot] chore(deps): bump mkdocs from 1.4.3 to 1.5.1 in /docs/_build
- #6059: @josegonzalez Update go packages to fix build issues
- #6058: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 37.4.0 to 37.5.0
- #6053: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 37.3.0 to 37.4.0
- #6049: @dependabot[bot] chore(deps): bump gunicorn from 21.1.0 to 21.2.0 in /tests/apps/multi
- #6050: @dependabot[bot] chore(deps): bump click from 8.1.5 to 8.1.6 in /docs/_build
- #6051: @dependabot[bot] chore(deps): bump gunicorn from 21.1.0 to 21.2.0 in /tests/apps/python-flask
- #6052: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 37.1.2 to 37.3.0
- #6048: @dependabot[bot] chore(deps): bump pyyaml from 6.0 to 6.0.1 in /docs/_build
- #6047: @dependabot[bot] chore(deps): bump mkdocs-material from 9.1.18 to 9.1.19 in /docs/_build
- #6046: @dependabot[bot] chore(deps): bump gunicorn from 20.1.0 to 21.1.0 in /tests/apps/python-flask
- #6045: @dependabot[bot] chore(deps): bump gunicorn from 20.1.0 to 21.1.0 in /tests/apps/multi
- #6044: @dependabot[bot] chore(deps): bump zipp from 3.16.1 to 3.16.2 in /docs/_build
- #6038: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.0.1 to 10.1 in /docs/_build
- #6039: @dependabot[bot] chore(deps): bump click from 8.1.4 to 8.1.5 in /docs/_build
- #6040: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 37.1.1 to 37.1.2
- #6037: @dependabot[bot] chore(deps): bump zipp from 3.16.0 to 3.16.1 in /docs/_build
- #6034: @dependabot[bot] chore(deps): bump golang from 1.20.5 to 1.20.6 in /tests/apps/zombies-dockerfile-tini
- #6032: @dependabot[bot] chore(deps): bump golang from 1.20.5 to 1.20.6 in /tests/apps/zombies-dockerfile-no-tini
- #6033: @dependabot[bot] chore(deps): bump golang from 1.20.5 to 1.20.6 in /tests/apps/gogrpc
- #6031: @dependabot[bot] chore(deps): bump golang from 1.20.5 to 1.20.6 in /tests/apps/go-fail-postdeploy
- #6030: @dependabot[bot] chore(deps): bump golang from 1.20.5 to 1.20.6 in /tests/apps/go-fail-predeploy
- #6027: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 37.1.0 to 37.1.1
- #6024: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 37.0.5 to 37.1.0
- #6026: @dependabot[bot] chore(deps): bump importlib-metadata from 6.7.0 to 6.8.0 in /docs/_build
- #6025: @dependabot[bot] chore(deps): bump zipp from 3.15.0 to 3.16.0 in /docs/_build
### Other
- #6056: @Coffee2CodeNL Add debian bookworm to release and bootstrap script
## 0.30.9
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.30.9/bootstrap.sh
sudo DOKKU_TAG=v0.30.9 bash bootstrap.sh
```
### Bug Fixes
- #6009: @josegonzalez Properly set the plugin repository name when installing in a docker-based dokku install
- #5999: @caplod Fix http to https redirect in traefik
### Documentation
- #6006: @josegonzalez Clarify how to specify the contents of an ssh key for dokku
- #5998: @kleutzinger Fix typo in scheduled cron task documentation
- #5984: @josegonzalez Unify all Procfile-handling documentation under the process management docs
- #5982: @josegonzalez Update docs to mention that files are extracted from source where source code is available
### Dependencies
- #6008: @dependabot[bot] chore(deps): bump click from 8.1.3 to 8.1.4 in /docs/_build
- #6003: @dependabot[bot] chore(deps): bump django from 4.1.9 to 4.1.10 in /tests/apps/dockerfile-release
- #6005: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.11.0 to 0.12.0 in /tests/apps/gogrpc
- #6000: @dependabot[bot] chore(deps): bump mkdocs-material from 9.1.17 to 9.1.18 in /docs/_build
## 0.30.8
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.30.8/bootstrap.sh
sudo DOKKU_TAG=v0.30.8 bash bootstrap.sh
```
### Bug Fixes
- #5941: @josegonzalez Use github token to avoid rate limiting during packer init
- #5930: @michaelmulley Fix issue with docker plugin-list install failing boot for docker-based installations
### New Features
- #5962: @jaytula Add Debian 12 support to the bootstrap install script
- #5926: @josegonzalez Update default herokuish version to 0.6.0
### Documentation
- #5943: @josegonzalez Add a note for each network type mentioning when they are best used
- #5938: @josegonzalez Add build-base to ensure gcc is available
- #5927: @aradalvand Improve docs about `X-Forwarded-*` headers and move it to nginx.md
- #5921: @aradalvand Update dockerfiles.md to mention that BuildKit is the default builder from Docker v24 onwards
- #5923: @aradalvand Remove `:master` from `git push` commands in the documentation
### Tests
- #5972: @josegonzalez Add permissions to allow publishing test results for pull requests
- #5944: @josegonzalez Add the ability to skip ci when commit message includes a ci skip message or are docs related
### Dependencies
- #5971: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 37.0.4 to 37.0.5
- #5967: @dependabot[bot] chore(deps): bump socket.io from 4.6.2 to 4.7.1 in /tests/apps/.websocket.disabled
- #5968: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 37.0.3 to 37.0.4
- #5966: @dependabot[bot] chore(deps): bump mkdocs-material from 9.1.16 to 9.1.17 in /docs/_build
- #5965: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.4.1 to 37.0.3
- #5957: @josegonzalez chore: update go packages to fix build issues
- #5956: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.4.0 to 36.4.1
- #5949: @dependabot[bot] chore(deps): bump github.com/otiai10/copy from 1.11.0 to 1.12.0 in /plugins/builder
- #5951: @dependabot[bot] chore(deps): bump github.com/otiai10/copy from 1.11.0 to 1.12.0 in /plugins/ps
- #5952: @dependabot[bot] chore(deps): bump github.com/otiai10/copy from 1.11.0 to 1.12.0 in /plugins/common
- #5953: @dependabot[bot] chore(deps): bump github.com/otiai10/copy from 1.11.0 to 1.12.0 in /plugins/app-json
- #5948: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.3.0 to 36.4.0
- #5950: @dependabot[bot] chore(deps): bump importlib-metadata from 6.6.0 to 6.7.0 in /docs/_build
- #5954: @dependabot[bot] chore(deps): bump pyparsing from 3.0.9 to 3.1.0 in /docs/_build
- #5946: @josegonzalez Update to actions/checkout@v3
- #5940: @dependabot[bot] chore(deps): bump mkdocs-material from 9.1.15 to 9.1.16 in /docs/_build
- #5939: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.2.1 to 36.3.0
- #5937: @josegonzalez chore: update go packages to fix build issues
- #5934: @dependabot[bot] chore(deps): bump golang.org/x/sync from 0.2.0 to 0.3.0 in /plugins/app-json
- #5933: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.1.0 to 36.2.1
- #5935: @dependabot[bot] chore(deps): bump golang.org/x/sync from 0.2.0 to 0.3.0 in /plugins/common
- #5928: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.10.0 to 0.11.0 in /tests/apps/gogrpc
- #5922: @dependabot[bot] chore(deps): bump werkzeug from 2.3.5 to 2.3.6 in /tests/apps/python-flask
- #5919: @dependabot[bot] chore(deps): bump python from 3.11.3-buster to 3.11.4-buster in /tests/apps/dockerfile-release
- #5913: @dependabot[bot] chore(deps): bump golang from 1.20.4 to 1.20.5 in /tests/apps/go-fail-predeploy
- #5915: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.27.7 to 1.27.8 in /plugins/config
- #5916: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.27.7 to 1.27.8 in /plugins/common
- #5917: @dependabot[bot] chore(deps): bump werkzeug from 2.3.4 to 2.3.5 in /tests/apps/python-flask
- #5918: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.0.18 to 36.1.0
- #5920: @dependabot[bot] chore(deps): bump python from 3.11.3-alpine to 3.11.4-alpine in /docs/_build
- #5914: @dependabot[bot] chore(deps): bump golang from 1.20.4 to 1.20.5 in /tests/apps/zombies-dockerfile-no-tini
- #5912: @dependabot[bot] chore(deps): bump golang from 1.20.4 to 1.20.5 in /tests/apps/go-fail-postdeploy
- #5911: @dependabot[bot] chore(deps): bump golang from 1.20.4 to 1.20.5 in /tests/apps/gogrpc
- #5910: @dependabot[bot] chore(deps): bump golang from 1.20.4 to 1.20.5 in /tests/apps/zombies-dockerfile-tini
- #5909: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.0.17 to 36.0.18
- #5906: @dependabot[bot] chore(deps): bump markupsafe from 2.1.2 to 2.1.3 in /docs/_build
- #5907: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.0.15 to 36.0.17
### Other
- #5945: @josegonzalez tests: split out image building into it's own job to speed up ci
- #5942: @josegonzalez Move the times function to functions.go
## 0.30.7
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.30.7/bootstrap.sh
sudo DOKKU_TAG=v0.30.7 bash bootstrap.sh
```
### Bug Fixes
- #5905: @josegonzalez fix: trim whitespace on registry property values
### Documentation
- #5897: @josegonzalez Add cron-restart to plugin registry
### Dependencies
- #5904: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.0.11 to 36.0.15
- #5902: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.0.10 to 36.0.11
- #5900: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.0.9 to 36.0.10
- #5898: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.0.8 to 36.0.9
- #5899: @dependabot[bot] chore(deps): bump mkdocs-material from 9.1.14 to 9.1.15 in /docs/_build
- #5894: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.0.6 to 36.0.8
## 0.30.6
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.30.6/bootstrap.sh
sudo DOKKU_TAG=v0.30.6 bash bootstrap.sh
```
### Bug Fixes
- #5889: @josegonzalez Respect dashboard disabling properties in traefik
- #5890: @josegonzalez Add missing report triggers and omitted proxy functionality
- #5757: @josegonzalez Ensure users can push from an image-deploy repository and respect deploy-branch
### New Features
- #5873: @josegonzalez Add dependabot to all plugin dependencies
### Dependencies
- #5877: @dependabot[bot] chore(deps): bump github.com/multiformats/go-base36 from 0.1.1-0.20220823151017-f5af2eed4d9c to 0.2.0 in /plugins/cron
- #5886: @josegonzalez chore: bump github.com/otiai10/copy from 1.9.0 to 1.11.0
- #5875: @dependabot[bot] chore(deps): bump github.com/gofrs/flock from 0.8.0 to 0.8.1 in /plugins/ps
- #5885: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 36.0.3 to 36.0.6
- #5871: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 35.9.2 to 36.0.3
### Other
- #5887: @josegonzalez chore: bump github.com/ryanuber/columnize from 1.1.2-0.20190319233515-9e6335e58db3 to 2.1.2+incompatible
- #5872: @Samuelodan Fix typo in upgrading docs
## 0.30.5
Install/update via the bootstrap script:
```shell
wget -NP . https://dokku.com/install/v0.30.5/bootstrap.sh
sudo DOKKU_TAG=v0.30.5 bash bootstrap.sh
```
### New Features
- #5862: @edmorley Stop using the `latest` tag for the default `DOKKU_CNB_BUILDER`
### Documentation
- #5870: @josegonzalez Repair malformed code-block
- #5863: @joker234 Remove reference to ssh github clone from app deployment docs
### Tests
- #5867: @josegonzalez Update linuxserver image used in tests to one that is compatible with arm64
### Dependencies
- #5868: @josegonzalez Update all golang dependencies to fix go.0 tests
- #5856: @dependabot[bot] chore(deps): bump pymdown-extensions from 9.11 to 10.0.1 in /docs/_build
- #5865: @dependabot[bot] chore(deps): bump requests from 2.27.1 to 2.31.0 in /tests/apps/lambda-python
- #5864: @dependabot[bot] chore(deps): bump mkdocs-material from 9.1.12 to 9.1.14 in /docs/_build
- #5866: @dependabot[bot] chore(deps): bump maven-dependency-plugin from 3.5.0 to 3.6.0 in /tests/apps/java
## 0.30.4
Install/update via the bootstrap script:
@@ -11,7 +643,7 @@ sudo DOKKU_TAG=v0.30.4 bash bootstrap.sh
### Bug Fixes
- #5786: @obrienmd Detect id_ed25519.pub in git:public-key command
- #5786: @obrienmd Detect id_ed25519.pub in git:public-key command
- #5758: @josegonzalez Support pack-based images that do not have a Procfile
### New Features
@@ -636,7 +1268,7 @@ See the [0.28.0 migration guide](/docs/appendices/0.28.0-migration-guide.md) for
### New Features
- #5300: @josegonzalez Add the ability to disable the init process
- #5300: @josegonzalez Add the ability to disable the init process
- #5295: @josegonzalez Add an official caddy proxy implementation
- #5293: @josegonzalez Add an official traefik proxy implementation
- #5202: @josegonzalez Add builder-lambda plugin
@@ -700,7 +1332,7 @@ sudo DOKKU_TAG=v0.27.9 bash bootstrap.sh
### Other
- #5184: @yasoob New website. Closes #5175
- #5184: @yasoob New website. Closes #5175
- #5270: @dependabot[bot] chore(deps): bump werkzeug from 2.2.0 to 2.2.1 in /tests/apps/python-flask
- #5265: @dependabot[bot] chore(deps): bump werkzeug from 2.1.2 to 2.2.0 in /tests/apps/python-flask
- #5264: @dependabot[bot] chore(deps): bump sinatra from 2.2.1 to 2.2.2 in /tests/apps/ruby
@@ -2373,7 +3005,7 @@ See the [0.22.0 migration guide](/docs/appendices/0.22.0-migration-guide.md) for
- #4160: @nerg4l Rewrite logs plugin in Go
- #4149: @josegonzalez Rewrite ps plugin in golang
- #4080: @hugopeixoto Stop using VHOST when listing app domains and urls
- #4080: @hugopeixoto Stop using VHOST when listing app domains and urls
- #4117: @josegonzalez Rewrite app-json plugin in golang
- #4113: @josegonzalez Drop herokuish release code
@@ -2506,7 +3138,8 @@ sudo DOKKU_TAG=v0.21.1 bash bootstrap.sh
## 0.21.0
> Warning: Release is broken and will be pulled from upstream. Please use a newer version.
> [!WARNING]
> Release is broken and will be pulled from upstream. Please use a newer version.
### Bug Fixes
@@ -3016,7 +3649,7 @@ sudo DOKKU_TAG=v0.19.1 bash bootstrap.sh
### Bug Fixes
- #3713: @josegonzalez Require nginx 1.13+ in order to enable tls1.3
- #3713: @josegonzalez Require nginx 1.13+ in order to enable tls1.3
## 0.19.0
@@ -4382,7 +5015,7 @@ sudo DOKKU_TAG=v0.13.1 bash bootstrap.sh
- #2683: @josegonzalez Ensure we have an example for adding keys as another user
- #2682: @josegonzalez Clarify supported stanzas in app.json
- #2679: @callahad Remove unnecessary Linode-specific instructions
- #2670: @znz Remove duplicated `(i.e. `
- #2670: @znz Remove duplicated `(i.e.`
### Documentation
@@ -4736,7 +5369,7 @@ Thanks to all the contributors who helped with this release, and a special thank
## 0.5.8
This release is the last release in the `0.5.x` series, and as such is mainly a bugfix release. Users are highly encouraged to upgrade to this release *before* moving to the upcoming `0.6.x` release, as we will be removing deprecated features at that point.
This release is the last release in the `0.5.x` series, and as such is mainly a bugfix release. Users are highly encouraged to upgrade to this release _before_ moving to the upcoming `0.6.x` release, as we will be removing deprecated features at that point.
Thanks to all the contributors who helped with this release!
@@ -4928,7 +5561,7 @@ That was quick! This is a bugfix release to fix issues in the packaging and rele
This is our largest, most feature-packed release in the history of the dokku project. Lots of delicious things, including:
- Support for docker 1.10/1.11. You *must* have docker 1.9.1+ to install dokku.
- Support for docker 1.10/1.11. You _must_ have docker 1.9.1+ to install dokku.
- Revamped documentation website
- [Deployment Tasks](https://dokku.com/docs/advanced-usage/deployment-tasks/)
- Heroku-style management of [dockerfile processes](https://dokku.com/docs/deployment/builders/dockerfiles/#procfiles-and-multiple-processes)
@@ -5027,7 +5660,7 @@ Thanks to all the contributors who helped with this release!
## 0.4.13
We lied. *This* is the final 0.4.x release. This specific release fixes support for bash `4.2`, which may be the only bash version available for certain testing environments.
We lied. _This_ is the final 0.4.x release. This specific release fixes support for bash `4.2`, which may be the only bash version available for certain testing environments.
Thanks to all the contributors who helped with this release!
@@ -5081,7 +5714,7 @@ Thanks to all the contributors who helped with this release!
This release is mostly a bugfix release, though we have a few important changes:
- `dokku plugin:update` can now be used to update a specific plugin. Previously, this could potentially result in an error a user would have to manually resolve.
- We have started labeling all dokku-managed containers. In a future minor release, triggering a `dokku cleanup` will remove *only* exited containers that are managed by dokku. This change allows users to start containers outside of dokku and be assured that dokku would not inadvertently remove them.
- We have started labeling all dokku-managed containers. In a future minor release, triggering a `dokku cleanup` will remove _only_ exited containers that are managed by dokku. This change allows users to start containers outside of dokku and be assured that dokku would not inadvertently remove them.
Thanks to all the contributors who helped with this release!
@@ -5427,11 +6060,11 @@ One new feature is colorized logging output, which should make it easier to debu
This is our first minor release in almost a year. Many new features and removals have occurred, so here is a neat summary:
- Plugins are now triggered via `plugn`. Notably, you'll need add a `plugin.toml` to describe the plugin as well as use `plugn trigger` instead of `pluginhook` to trigger plugin callbacks. Please see the [plugin creation documentation](https://dokku.com/docs/development/plugin-creation/) for more details.
- A few new official plugins have been added to the core, including [image tagging](https://dokku.com/docs/deployment/application-deployment/), [certificate management](https://dokku.com/docs/configuration/ssl/), a tar-based deploy solution, and much more. Check out the *New Features* section for more details.
- A few new official plugins have been added to the core, including [image tagging](https://dokku.com/docs/deployment/application-deployment/), [certificate management](https://dokku.com/docs/configuration/ssl/), a tar-based deploy solution, and much more. Check out the _New Features_ section for more details.
- We've removed a few deprecated plugin callbacks. Please see the [plugin triggers documentation](https://dokku.com/docs/development/plugin-triggers/) to see what is available.
- [Official datastorage plugins](https://github.com/dokku) have been created for the most commonly used datastores. If you previously used/maintained a community contributed plugin, please check these out. We'll be adding more official plugins as time goes on.
Thanks to the *many* contributors for making this release our best release so far, and special thanks to both @michaelshobbs and @Flink for pushing along the `0.4.0` release!
Thanks to the _many_ contributors for making this release our best release so far, and special thanks to both @michaelshobbs and @Flink for pushing along the `0.4.0` release!
### Deprecations and Removals
@@ -5753,10 +6386,10 @@ This release pegs Dokku to Docker 1.6.2. Docker 1.7.0 introduced changes in `doc
- #1028: @Flink [docs] Add rails-logs to plugins
- #1031: @michaelshobbs Upgrade docker in CI to 1.5.0
- #1029: @assaf Added several enhancements for CHECKS file:
- Specify how long to wait before running first check
- Specify timeout for each check
- Check specific hosts, e.g. http://signin.example.com
- Check both HTTP and HTTPS resources
- Specify how long to wait before running first check
- Specify timeout for each check
- Check specific hosts, e.g. [http://signin.example.com](http://signin.example.com)
- Check both HTTP and HTTPS resources
- #1032: @cameron-martin Updated dokku-installer to use relative path
- #1035: @Flink [docs] Add dokku-http-auth to plugins
- #1040: @ebeigarts [docs] Add dokku-slack plugin information
@@ -5860,12 +6493,12 @@ This release pegs Dokku to Docker 1.6.2. Docker 1.7.0 introduced changes in `doc
## 0.3.9
- #787: @josegonzalez/@michaelshobbs Official user-env-compile plugin
- Uses ENV and APP/ENV files
- Supports old `BUILD_ENV` files (which are likely in wide-use)
- Allows user's to override globals with app-specific configuration
- Migrate `$DOKKU_ROOT/BUILD_ENV` to `$DOKKU_ROOT/ENV` if the former exists and the latter does not
- Drop `BUILD_ENV` support in favor of just `ENV` via a `mv` command
- Add default ENV with `CURL_TIMEOUT` and `CURL_CONNECT_TIMEOUT`
- Uses ENV and APP/ENV files
- Supports old `BUILD_ENV` files (which are likely in wide-use)
- Allows user's to override globals with app-specific configuration
- Migrate `$DOKKU_ROOT/BUILD_ENV` to `$DOKKU_ROOT/ENV` if the former exists and the latter does not
- Drop `BUILD_ENV` support in favor of just `ENV` via a `mv` command
- Add default ENV with `CURL_TIMEOUT` and `CURL_CONNECT_TIMEOUT`
- #811: @abossard Increased `server_names_hash_bucket_size` in nginx.conf to 512
- #814: @josegonzalez Source files in $DOKKU_ROOT/.dokkurc directory and add `dokku trace` command
- #816: @josegonzalez Add documentation for user-env feature
@@ -5974,25 +6607,25 @@ This release pegs Dokku to Docker 1.6.2. Docker 1.7.0 introduced changes in `doc
## 0.2.0 (2013-11-24)
* Added DOKKU_TRACE variable for verbose trace information
* Added an installer (for pre-built images)
* Application config (environment variable management)
* Backup/import plugin
* Basic hooks/plugin system
* Cache dir is preserved across builds
* Command to delete an application
* Exposed commands over SSH using sshcommand
* Git handling is moved to a plugin
* Integration test coverage
* Pulled nginx vhosts out into plugin
* Run command
* Separated dokku and buildstep more cleanly
* Uses latest version of Docker again
- Added DOKKU_TRACE variable for verbose trace information
- Added an installer (for pre-built images)
- Application config (environment variable management)
- Backup/import plugin
- Basic hooks/plugin system
- Cache dir is preserved across builds
- Command to delete an application
- Exposed commands over SSH using sshcommand
- Git handling is moved to a plugin
- Integration test coverage
- Pulled nginx vhosts out into plugin
- Run command
- Separated dokku and buildstep more cleanly
- Uses latest version of Docker again
## 0.1.0 (2013-06-15)
* First release
* Bootstrap script for Ubuntu system
* Basic push / deploy with git
* Hostname support with Nginx
* Support for Java, Ruby, Node.js buildpacks
- First release
- Bootstrap script for Ubuntu system
- Basic push / deploy with git
- Hostname support with Nginx
- Support for Java, Ruby, Node.js buildpacks

View File

@@ -39,10 +39,10 @@
- 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
- The type of application being deployed (node, php, python, ruby, etc.)
- If using buildpacks, which custom buildpacks are in use
- If using a `Dockerfile`, the contents of that file
- If it exists, the contents of your `Procfile`.
- Application name
- The type of application being deployed (node, php, python, ruby, etc.)
- If using buildpacks, which custom buildpacks are in use
- 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 XXXXXX):

View File

@@ -2,23 +2,16 @@ DOKKU_VERSION ?= master
TARGETARCH ?= amd64
DOCKER_IMAGE_LABELER_VERSION ?= 0.5.0
HEROKUISH_VERSION ?= 0.5.38
LAMBDA_BUILDER_VERSION ?= 0.4.0
NETRC_VERSION ?= 0.6.0
PLUGN_VERSION ?= 0.12.0
PROCFILE_VERSION ?= 0.15.0
SIGIL_VERSION ?= 0.9.0
SSHCOMMAND_VERSION ?= 0.16.0
DOCKER_IMAGE_LABELER_URL ?= https://github.com/dokku/docker-image-labeler/releases/download/v${DOCKER_IMAGE_LABELER_VERSION}/docker-image-labeler_${DOCKER_IMAGE_LABELER_VERSION}_linux_${TARGETARCH}.tgz
LAMBDA_BUILDER_URL ?= https://github.com/dokku/lambda-builder/releases/download/v${LAMBDA_BUILDER_VERSION}/lambda-builder_${LAMBDA_BUILDER_VERSION}_linux_${TARGETARCH}.tgz
NETRC_URL ?= https://github.com/dokku/netrc/releases/download/v${NETRC_VERSION}/netrc_${NETRC_VERSION}_linux_${TARGETARCH}.tgz
PLUGN_URL ?= https://github.com/dokku/plugn/releases/download/v${PLUGN_VERSION}/plugn_${PLUGN_VERSION}_linux_${TARGETARCH}.tgz
PROCFILE_UTIL_URL ?= https://github.com/josegonzalez/go-procfile-util/releases/download/v${PROCFILE_VERSION}/procfile-util_${PROCFILE_VERSION}_linux_${TARGETARCH}.tgz
SIGIL_URL ?= https://github.com/gliderlabs/sigil/releases/download/v${SIGIL_VERSION}/gliderlabs-sigil_${SIGIL_VERSION}_linux_${TARGETARCH}.tgz
SSHCOMMAND_URL ?= https://github.com/dokku/sshcommand/releases/download/v${SSHCOMMAND_VERSION}/sshcommand_${SSHCOMMAND_VERSION}_linux_x86_64.tgz
DOCKER_IMAGE_LABELER_URL ?= $(shell jq -r --arg name docker-image-labeler --arg arch $(TARGETARCH) '.dependencies[] | select(.name == $$name) | .urls[$$arch]' contrib/dependencies.json)
DOCKER_CONTAINER_HEALTHCHECKER_URL ?= $(shell jq -r --arg name docker-container-healthchecker --arg arch $(TARGETARCH) '.dependencies[] | select(.name == $$name) | .urls[$$arch]' contrib/dependencies.json)
LAMBDA_BUILDER_URL ?= $(shell jq -r --arg name lambda-builder --arg arch $(TARGETARCH) '.dependencies[] | select(.name == $$name) | .urls[$$arch]' contrib/dependencies.json)
NETRC_URL ?= $(shell jq -r --arg name netrc --arg arch $(TARGETARCH) '.dependencies[] | select(.name == $$name) | .urls[$$arch]' contrib/dependencies.json)
PLUGN_URL ?= $(shell jq -r --arg name plugn --arg arch $(TARGETARCH) '.predependencies[] | select(.name == $$name) | .urls[$$arch]' contrib/dependencies.json)
PROCFILE_UTIL_URL ?= $(shell jq -r --arg name procfile-util --arg arch $(TARGETARCH) '.dependencies[] | select(.name == $$name) | .urls[$$arch]' contrib/dependencies.json)
SIGIL_URL ?= $(shell jq -r --arg name gliderlabs-sigil --arg arch $(TARGETARCH) '.predependencies[] | select(.name == $$name) | .urls[$$arch]' contrib/dependencies.json)
SSHCOMMAND_URL ?= $(shell jq -r --arg name sshcommand --arg arch $(TARGETARCH) '.dependencies[] | select(.name == $$name) | .urls[$$arch]' contrib/dependencies.json)
STACK_URL ?= https://github.com/gliderlabs/herokuish.git
PREBUILT_STACK_URL ?= gliderlabs/herokuish:latest-20
PREBUILT_STACK_URL ?= gliderlabs/herokuish:latest-22
DOKKU_LIB_ROOT ?= /var/lib/dokku
PLUGINS_PATH ?= ${DOKKU_LIB_ROOT}/plugins
CORE_PLUGINS_PATH ?= ${DOKKU_LIB_ROOT}/core-plugins
@@ -135,7 +128,7 @@ plugin-dependencies: plugn procfile-util
plugins: plugn procfile-util docker
sudo -E dokku plugin:install --core
dependencies: apt-update docker-image-labeler lambda-builder netrc sshcommand plugn procfile-util docker help2man man-db sigil dos2unix jq parallel
dependencies: apt-update docker-image-labeler docker-container-healthchecker lambda-builder netrc sshcommand plugn procfile-util docker help2man man-db sigil dos2unix jq parallel
$(MAKE) -e stack
apt-update:
@@ -161,6 +154,11 @@ docker-image-labeler:
tar xzf /tmp/docker-image-labeler_latest.tgz -C /usr/local/bin
mv /usr/local/bin/docker-image-labeler-${TARGETARCH} /usr/local/bin/docker-image-labeler
docker-container-healthchecker:
wget -qO /tmp/docker-container-healthchecker_latest.tgz ${DOCKER_CONTAINER_HEALTHCHECKER_URL}
tar xzf /tmp/docker-container-healthchecker_latest.tgz -C /usr/local/bin
mv /usr/local/bin/docker-container-healthchecker-${TARGETARCH} /usr/local/bin/docker-container-healthchecker
lambda-builder:
wget -qO /tmp/lambda-builder_latest.tgz ${LAMBDA_BUILDER_URL}
tar xzf /tmp/lambda-builder_latest.tgz -C /usr/local/bin

View File

@@ -86,8 +86,8 @@ Otherwise, you will need to import the keypair manually after installation using
To install the latest stable release, run the following commands as a user who has access to `sudo`:
```shell
wget -NP . https://dokku.com/install/v0.30.4/bootstrap.sh
sudo DOKKU_TAG=v0.30.4 bash bootstrap.sh
wget -NP . https://dokku.com/install/v0.32.0/bootstrap.sh
sudo DOKKU_TAG=v0.32.0 bash bootstrap.sh
```
You can then proceed to configure your server domain (via `dokku domains:set-global`) and user access (via `dokku ssh-keys:add`) to complete the installation.

View File

@@ -12,7 +12,7 @@ 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 [10, 11], Ubuntu [18.04, 20.04, 22.04]"
SUPPORTED_VERSIONS="Debian [10, 11, 12], Ubuntu [18.04, 20.04, 22.04]"
log-fail() {
declare desc="log fail formatter"
@@ -28,7 +28,7 @@ ensure-environment() {
echo "Preparing to install $DOKKU_TAG from $DOKKU_REPO..."
fi
hostname -f >/dev/null 2>&1 || {
hostname -f &>/dev/null || {
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"
}
@@ -160,7 +160,7 @@ install-dokku-from-deb-package() {
local NO_INSTALL_RECOMMENDS=${DOKKU_NO_INSTALL_RECOMMENDS:=""}
local OS_ID
if ! in-array "$DOKKU_DISTRO_VERSION" "18.04" "20.04" "22.04" "10" "11"; then
if ! in-array "$DOKKU_DISTRO_VERSION" "18.04" "20.04" "22.04" "10" "11" "12"; then
log-fail "Unsupported Linux distribution. Only the following versions are supported: $SUPPORTED_VERSIONS"
fi
@@ -185,19 +185,19 @@ install-dokku-from-deb-package() {
wget -nv -O - https://get.docker.com/ | sh
fi
OS_ID="$(lsb_release -cs 2>/dev/null || echo "bionic")"
OS_ID="$(lsb_release -cs 2>/dev/null || echo "jammy")"
if ! in-array "$DOKKU_DISTRO" "debian" "ubuntu" "raspbian"; then
DOKKU_DISTRO="ubuntu"
OS_ID="bionic"
OS_ID="jammy"
fi
if [[ "$DOKKU_DISTRO" == "ubuntu" ]]; then
OS_IDS=("bionic" "focal" "jammy")
OS_IDS=("focal" "jammy")
if ! in-array "$OS_ID" "${OS_IDS[@]}"; then
OS_ID="bionic"
OS_ID="jammy"
fi
elif [[ "$DOKKU_DISTRO" == "debian" ]]; then
OS_IDS=("stretch" "buster" "bullseye")
OS_IDS=("stretch" "buster" "bullseye" "bookworm")
if ! in-array "$OS_ID" "${OS_IDS[@]}"; then
OS_ID="bullseye"
fi
@@ -220,19 +220,15 @@ install-dokku-from-deb-package() {
[[ -n $DOKKU_NGINX_ENABLE ]] && echo "dokku dokku/nginx_enable string $DOKKU_NGINX_ENABLE" | sudo debconf-set-selections
if [[ -n $DOKKU_CHECKOUT ]]; then
# shellcheck disable=SC2086
apt-get -qq -y $NO_INSTALL_RECOMMENDS install "dokku=$DOKKU_CHECKOUT"
else
# shellcheck disable=SC2086
apt-get -qq -y $NO_INSTALL_RECOMMENDS install dokku
fi
}
main() {
export DOKKU_DISTRO DOKKU_DISTRO_VERSION
# shellcheck disable=SC1091
DOKKU_DISTRO=$(. /etc/os-release && echo "$ID")
# shellcheck disable=SC1091
DOKKU_DISTRO_VERSION=$(. /etc/os-release && echo "$VERSION_ID")
export DEBIAN_FRONTEND=noninteractive

View File

@@ -1,7 +1,7 @@
GO_ARGS ?=
GO_PLUGIN_MAKE_TARGET ?= build
GO_REPO_ROOT := /go/src/github.com/dokku/dokku
BUILD_IMAGE := golang:1.19.6
BUILD_IMAGE := golang:1.21.3
GO_BUILD_CACHE ?= /tmp/dokku-go-build-cache
GO_MOD_CACHE ?= /tmp/dokku-go-mod-mod
GO_ROOT_MOUNT ?= $$PWD/../..:$(GO_REPO_ROOT)

View File

@@ -2,7 +2,7 @@ FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update -qq && apt-get -qq -y --no-install-recommends install ca-certificates curl gcc git build-essential wget ruby-dev lintian rpm help2man man-db sudo
RUN apt-get update -qq && apt-get -qq -y --no-install-recommends install ca-certificates curl gcc git jq build-essential wget ruby-dev lintian python3 rpm help2man man-db sudo
RUN curl -sL -o /usr/local/share/ca-certificates/GlobalSignRootCA_R3.crt https://raw.githubusercontent.com/rubygems/rubygems/master/lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem
RUN update-ca-certificates
RUN command -v fpm || gem install fpm

View File

@@ -1,25 +1,27 @@
FROM dokku/build-base:0.0.1 AS builder
FROM dokku/build-base:0.1.2 AS builder
ENV DEBIAN_FRONTEND=noninteractive
ARG GOLANG_VERSION
RUN wget -qO /tmp/go${GOLANG_VERSION}.linux.tar.gz "https://storage.googleapis.com/golang/go${GOLANG_VERSION}.linux-$(dpkg --print-architecture).tar.gz" \
&& tar -C /usr/local -xzf /tmp/go${GOLANG_VERSION}.linux.tar.gz \
&& cp /usr/local/go/bin/* /usr/local/bin
ARG WORKDIR=/go/src/github.com/dokku/dokku
WORKDIR ${WORKDIR}
RUN wget -qO /tmp/go${GOLANG_VERSION}.linux.tar.gz "https://storage.googleapis.com/golang/go${GOLANG_VERSION}.linux-$(dpkg --print-architecture).tar.gz" \
&& tar -C /usr/local -xzf /tmp/go${GOLANG_VERSION}.linux.tar.gz \
&& cp /usr/local/go/bin/* /usr/local/bin \
&& mkdir -p ${WORKDIR}/contrib
COPY Makefile ${WORKDIR}/
COPY *.mk ${WORKDIR}/
COPY contrib/dependencies.json ${WORKDIR}/contrib/dependencies.json
RUN make deb-setup sshcommand plugn
COPY . ${WORKDIR}
ENV GOPATH=/go
ENV GOROOT=/usr/local/go
FROM builder as amd64
@@ -36,29 +38,9 @@ RUN PLUGIN_MAKE_TARGET=${PLUGIN_MAKE_TARGET} \
make version copyfiles \
&& make deb-dokku
FROM builder as armhf
COPY --from=amd64 /tmp /tmp
COPY --from=amd64 /usr/local/share/man/man1/dokku.1 /usr/local/share/man/man1/dokku.1-generated
RUN rm -rf /tmp/build-dokku
ARG PLUGIN_MAKE_TARGET
ARG DOKKU_VERSION=master
ARG DOKKU_GIT_REV
ARG IS_RELEASE=false
RUN PLUGIN_MAKE_TARGET=${PLUGIN_MAKE_TARGET} \
DOKKU_VERSION=${DOKKU_VERSION} \
DOKKU_GIT_REV=${DOKKU_GIT_REV} \
IS_RELEASE=${IS_RELEASE} \
SKIP_GO_CLEAN=true \
GOARCH=arm make version copyfiles \
&& DOKKU_ARCHITECTURE=armhf GOARCH=arm make deb-dokku
FROM builder as arm64
COPY --from=armhf /tmp /tmp
COPY --from=amd64 /tmp /tmp
COPY --from=amd64 /usr/local/share/man/man1/dokku.1 /usr/local/share/man/man1/dokku.1-generated
RUN rm -rf /tmp/build-dokku

107
contrib/dependencies.json Normal file
View File

@@ -0,0 +1,107 @@
{
"dependencies": [
{
"name": "docker-image-labeler",
"version": "0.6.1",
"urls": {
"amd64": "https://github.com/dokku/docker-image-labeler/releases/download/v0.6.1/docker-image-labeler_0.6.1_linux_amd64.tgz",
"arm64": "https://github.com/dokku/docker-image-labeler/releases/download/v0.6.1/docker-image-labeler_0.6.1_linux_arm64.tgz",
"arm": "https://github.com/dokku/docker-image-labeler/releases/download/v0.6.1/docker-image-labeler_0.6.1_linux_armhf.tgz"
}
},
{
"name": "docker-container-healthchecker",
"version": "0.7.2",
"urls": {
"amd64": "https://github.com/dokku/docker-container-healthchecker/releases/download/v0.7.2/docker-container-healthchecker_0.7.2_linux_amd64.tgz",
"arm4": "https://github.com/dokku/docker-container-healthchecker/releases/download/v0.7.2/docker-container-healthchecker_0.7.2_linux_arm64.tgz",
"arm": "https://github.com/dokku/docker-container-healthchecker/releases/download/v0.7.2/docker-container-healthchecker_0.7.2_linux_armhf.tgz"
}
},
{
"name": "lambda-builder",
"version": "0.5.0",
"urls": {
"amd64": "https://github.com/dokku/lambda-builder/releases/download/v0.5.0/lambda-builder_0.5.0_linux_amd64.tgz",
"arm64": "https://github.com/dokku/lambda-builder/releases/download/v0.5.0/lambda-builder_0.5.0_linux_arm64.tgz",
"arm": "https://github.com/dokku/lambda-builder/releases/download/v0.5.0/lambda-builder_0.5.0_linux_armhf.tgz"
}
},
{
"name": "netrc",
"version": "0.7.1",
"urls": {
"amd64": "https://github.com/dokku/netrc/releases/download/v0.7.1/netrc_0.7.1_linux_amd64.tgz",
"arm64": "https://github.com/dokku/netrc/releases/download/v0.7.1/netrc_0.7.1_linux_arm64.tgz",
"arm": "https://github.com/dokku/netrc/releases/download/v0.7.1/netrc_0.7.1_linux_armhf.tgz"
}
},
{
"name": "procfile-util",
"version": "0.16.0",
"urls": {
"amd64": "https://github.com/dokku/procfile-util/releases/download/v0.16.0/procfile-util_0.16.0_linux_amd64.tgz",
"arm64": "https://github.com/dokku/procfile-util/releases/download/v0.16.0/procfile-util_0.16.0_linux_arm64.tgz",
"arm": "https://github.com/dokku/procfile-util/releases/download/v0.16.0/procfile-util_0.16.0_linux_armhf.tgz"
}
},
{
"name": "sshcommand",
"version": "0.17.1",
"urls": {
"amd64": "https://github.com/dokku/sshcommand/releases/download/v0.17.1/sshcommand_0.17.1_linux_x86_64.tgz",
"arm64": "https://github.com/dokku/sshcommand/releases/download/v0.17.1/sshcommand_0.17.1_linux_x86_64.tgz",
"arm": "https://github.com/dokku/sshcommand/releases/download/v0.17.1/sshcommand_0.17.1_linux_x86_64.tgz"
}
}
],
"predependencies": [
{
"name": "gliderlabs-sigil",
"version": "0.10.1",
"urls": {
"amd64": "https://github.com/gliderlabs/sigil/releases/download/v0.10.1/gliderlabs-sigil_0.10.1_linux_amd64.tgz",
"arm64": "https://github.com/gliderlabs/sigil/releases/download/v0.10.1/gliderlabs-sigil_0.10.1_linux_arm64.tgz",
"arm": "https://github.com/gliderlabs/sigil/releases/download/v0.10.1/gliderlabs-sigil_0.10.1_linux_armhf.tgz"
}
},
{
"name": "plugn",
"version": "0.12.0",
"urls": {
"amd64": "https://github.com/dokku/plugn/releases/download/v0.12.0/plugn_0.12.0_linux_amd64.tgz",
"arm64": "https://github.com/dokku/plugn/releases/download/v0.12.0/plugn_0.12.0_linux_arm64.tgz",
"arm": "https://github.com/dokku/plugn/releases/download/v0.12.0/plugn_0.12.0_linux_armhf.tgz"
}
}
],
"recommendations": [
{
"name": "dokku-event-listener",
"version": "0.15.0",
"urls": {
"amd64": "https://github.com/dokku/dokku-event-listener/releases/download/v0.15.0/dokku-event-listener_0.15.0_linux_amd64.tgz",
"arm64": "https://github.com/dokku/dokku-event-listener/releases/download/v0.15.0/dokku-event-listener_0.15.0_linux_arm64.tgz",
"arm": "https://github.com/dokku/dokku-event-listener/releases/download/v0.15.0/dokku-event-listener_0.15.0_linux_armhf.tgz"
}
},
{
"name": "dokku-update",
"version": "0.7.2",
"urls": {
"amd64": "https://github.com/dokku/dokku-update/releases/download/v0.7.2/dokku-update_0.7.2_linux_x86_64.tgz",
"arm64": "https://github.com/dokku/dokku-update/releases/download/v0.7.2/dokku-update_0.7.2_linux_x86_64.tgz",
"arm": "https://github.com/dokku/dokku-update/releases/download/v0.7.2/dokku-update_0.7.2_linux_x86_64.tgz"
}
},
{
"name": "herokuish",
"version": "0.7.1",
"urls": {
"amd64": "https://github.com/gliderlabs/herokuish/releases/download/v0.7.1/herokuish_0.7.1_linux_x86_64.tgz",
"arm64": "https://github.com/gliderlabs/herokuish/releases/download/v0.7.1/herokuish_0.7.1_linux_x86_64.tgz",
"arm": "https://github.com/gliderlabs/herokuish/releases/download/v0.7.1/herokuish_0.7.1_linux_x86_64.tgz"
}
}
]
}

View File

@@ -4,5 +4,4 @@ set -eo pipefail
DOKKU_DOCKER_CONTAINER_NAME=${DOKKU_DOCKER_CONTAINER_NAME:=dokku}
# TODO: handle cases where we need a tty
# shellcheck disable=SC2086
docker exec $DOKKU_DOCKER_ENV -i "$DOKKU_DOCKER_CONTAINER_NAME" dokku "$@"

View File

@@ -49,7 +49,7 @@ fn-dokku-host() {
declare DOKKU_GIT_REMOTE="$1" DOKKU_HOST="$2"
if [[ -z "$DOKKU_HOST" ]]; then
if [[ -d .git ]] || git rev-parse --git-dir >/dev/null 2>&1; then
if [[ -d .git ]] || git rev-parse --git-dir &>/dev/null; then
DOKKU_HOST=$(git remote -v 2>/dev/null | grep -Ei "^${DOKKU_GIT_REMOTE}\s" | head -n 1 | cut -f1 -d' ' | cut -f2 -d '@' | cut -f1 -d':' 2>/dev/null || true)
fi
fi
@@ -109,7 +109,7 @@ main() {
fi
if [[ -z "$APP" ]]; then
if [[ -d .git ]] || git rev-parse --git-dir >/dev/null 2>&1; then
if [[ -d .git ]] || git rev-parse --git-dir &>/dev/null; then
set +e
APP=$(git remote -v 2>/dev/null | grep -Ei "^${DOKKU_GIT_REMOTE}\s" | grep -Ei "dokku@$DOKKU_REMOTE_HOST" | head -n 1 | cut -f2 -d'@' | cut -f1 -d' ' | cut -f2 -d':' 2>/dev/null)
set -e
@@ -190,7 +190,6 @@ main() {
[[ -n "$APP_ARG" ]] && [[ "$APP_ARG" == "--global" ]] && unset APP
[[ -n "$@" ]] && [[ -n "$APP" ]] && app_arg="--app $APP"
# echo "ssh -o LogLevel=QUIET -p $DOKKU_PORT -t dokku@$DOKKU_REMOTE_HOST -- $app_arg $@"
# shellcheck disable=SC2068,SC2086
ssh -o LogLevel=QUIET -p $DOKKU_PORT -t dokku@$DOKKU_REMOTE_HOST -- $app_arg $@ || {
ssh_exit_code="$?"
echo " ! Failed to execute dokku command over ssh: exit code $?" 1>&2

View File

@@ -33,7 +33,8 @@ pkgs=(apache2-utils
debconf
)
dokku_pkgs=(docker-image-labeler
dokku_pkgs=(docker-container-healthchecker
docker-image-labeler
gliderlabs-sigil
lambda-builder
netrc
@@ -49,7 +50,7 @@ echo '--> Setting up dokku apt repository'
curl -fsSL https://packagecloud.io/dokku/dokku/gpgkey -o /etc/apt/keyrings/dokku.asc
cat >/etc/apt/sources.list.d/dokku.list <<EOM
deb [arch=amd64 signed-by=/etc/apt/keyrings/dokku.asc] https://packagecloud.io/dokku/dokku/ubuntu/ bionic main
deb [arch=amd64 signed-by=/etc/apt/keyrings/dokku.asc] https://packagecloud.io/dokku/dokku/ubuntu/ jammy main
EOM
echo '--> Install dependencies for dokku from new repository'

View File

@@ -31,7 +31,6 @@ cmdExists() {
function getDistro {
if [ -f /etc/os-release ]; then
# freedesktop.org and systemd
# shellcheck disable=SC1091
. /etc/os-release
OS=$NAME
VER=$VERSION_ID
@@ -41,7 +40,6 @@ function getDistro {
VER=$(lsb_release -sr)
elif [ -f /etc/lsb-release ]; then
# For some versions of Debian/Ubuntu without lsb_release command
# shellcheck disable=SC1091
. /etc/lsb-release
OS=$DISTRIB_ID
VER=$DISTRIB_RELEASE
@@ -255,11 +253,9 @@ function checkUsers {
if [[ "${u[0]}" == "${user}" ]]; then
if [[ ${u[1]} == "!" ]] || [[ ${u[1]} == "!!" ]] || [[ ${u[1]} == "*" ]]; then
echo -en "\e[32m[PASS]\e[0m User ${user} has no password set.\n"
# shellcheck disable=SC2030
((PASS++))
else
echo -en "\e[41m[FAIL]\e[0m User ${user} has a password set on their account. Only system users are allowed on the image.\n"
# shellcheck disable=SC2030
((FAIL++))
STATUS=2
fi
@@ -292,7 +288,6 @@ function checkUsers {
STATUS=2
else
echo -en "\e[93m[WARN]\e[0m User \e[1m${user}\e[0m has empty private key file in \e[93m${key}\e[0m\n"
# shellcheck disable=SC2030
((WARN++))
if [[ $STATUS != 2 ]]; then
STATUS=1
@@ -352,11 +347,9 @@ function checkFirewall {
ufwa=$(ufw status | head -1 | sed -e "s/^Status:\ //")
if [[ $ufwa == "active" ]]; then
FW_VER="\e[32m[PASS]\e[0m Firewall service (${fw}) is active\n"
# shellcheck disable=SC2031
((PASS++))
else
FW_VER="\e[93m[WARN]\e[0m No firewall is configured. Ensure ${fw} is installed and configured\n"
# shellcheck disable=SC2031
((WARN++))
fi
elif [[ $OS == "CentOS Linux" ]] || [[ $OS == "CentOS Stream" ]] || [[ $OS == "Rocky Linux" ]] || [[ $OS == "AlmaLinux" ]]; then
@@ -451,7 +444,6 @@ function checkUpdates {
sleep 2
apt-get --just-print upgrade | grep -i security | awk '{print $2}' | awk '!seen[$0]++'
echo -en
# shellcheck disable=SC2031
((FAIL++))
STATUS=2
else

View File

@@ -9,19 +9,16 @@ readonly DOKKU_GIT_REV="$(git rev-parse HEAD)"
trap "rm -rf '$TMP_WORK_DIR' >/dev/null" RETURN INT TERM EXIT
log-info() {
# shellcheck disable=SC2034
declare desc="Log info formatter"
echo "$*"
}
log-error() {
# shellcheck disable=SC2034
declare desc="Log error formatter"
echo "! $*" 1>&2
}
log-fail() {
# shellcheck disable=SC2034
declare desc="Log fail formatter"
log-error "$*"
exit 1
@@ -147,7 +144,7 @@ fn-publish-package() {
fi
done
elif [[ "$DIST" == "ubuntu" ]]; then
OS_IDS=("bionic" "focal" "jammy")
OS_IDS=("focal" "jammy")
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"
@@ -158,7 +155,7 @@ fn-publish-package() {
done
DIST=debian
OS_IDS=("buster" "bullseye")
OS_IDS=("buster" "bullseye" "bookworm")
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"
@@ -186,8 +183,12 @@ fn-replace-version() {
fn-repo-merged-requests() {
declare desc="Retrieves all pull request ids since a given release of dokku"
declare TAG="$1"
git log "v${TAG}..HEAD" --oneline | grep "Merge pull request" | cut -d' ' -f 5 | cut -d '#' -f2
declare TAG="$1" IS_PATCH="$2"
if [[ "$IS_PATCH" == "true" ]]; then
git log "v${TAG}..HEAD" --oneline | grep "Merge pull request" | cut -d' ' -f 5 | cut -d '#' -f2
else
curl -u "$RELEASE_GITHUB_USERNAME:$RELEASE_GITHUB_API_TOKEN" --fail -sS "https://api.github.com/search/issues?q=repo:dokku/dokku+milestone:v${NEXT_VERSION}+is:pr&per_page=100" | jq '.items[].number'
fi
}
fn-repo-push-tags() {
@@ -204,7 +205,7 @@ fn-repo-push-tags() {
fn-repo-update() {
declare desc="Updates files within the repository for a given release"
declare IS_RELEASE="$1" CURRENT_VERSION="$2" NEXT_VERSION="$3"
declare IS_RELEASE="$1" CURRENT_VERSION="$2" NEXT_VERSION="$3" IS_PATCH="$4"
log-info "(release-dokku) Replacing ${CURRENT_VERSION} with ${NEXT_VERSION}"
for f in plugins/*/plugin.toml; do
@@ -241,13 +242,13 @@ fn-repo-update() {
fi
log-info "(release-dokku) Adding HISTORY.md, committing and tagging"
fn-repo-update-history-and-commit "$CURRENT_VERSION" "$NEXT_VERSION"
fn-repo-update-history-and-commit "$CURRENT_VERSION" "$NEXT_VERSION" "$IS_PATCH"
git tag "v${NEXT_VERSION}"
}
fn-repo-update-history-and-commit() {
declare desc="Updates the history file and commits the changes"
declare CURRENT_VERSION="$1" NEXT_VERSION="$2"
declare CURRENT_VERSION="$1" NEXT_VERSION="$2" IS_PATCH="$3"
local PULL_REQUEST_ID TITLE AUTHOR TYPE CHANGELOG_TEXT
local COMMIT_MESSAGE HISTORY HISTORY_CONTENTS HISTORY_BUG HISTORY_DEPENDENCY HISTORY_DEPRECATION HISTORY_DOCUMENTATION HISTORY_ENHANCEMENT HISTORY_BC_BREAK HISTORY_REFACTOR HISTORY_REMOVAL HISTORY_OTHER HISTORY_TESTS ISSUE_FILE
@@ -255,7 +256,7 @@ fn-repo-update-history-and-commit() {
mkdir -p /tmp/github-data
for PULL_REQUEST_ID in $(fn-repo-merged-requests "$CURRENT_VERSION"); do
for PULL_REQUEST_ID in $(fn-repo-merged-requests "$CURRENT_VERSION" "$IS_PATCH"); do
ISSUE_FILE="/tmp/github-data/${PULL_REQUEST_ID}.json"
if [[ ! -f "$ISSUE_FILE" ]]; then
while true; do
@@ -386,14 +387,14 @@ fn-build-docker-image() {
if [[ "$IS_RELEASE" == "true" ]]; then
docker buildx build \
--platform linux/arm,linux/arm64,linux/amd64 \
--platform linux/arm64,linux/amd64 \
--progress plain \
--push \
--tag "dokku/dokku:latest" \
--tag "dokku/dokku:$VERSION" .
else
elif [[ "$SKIP_IMAGE_BUILD" != "true" ]]; then
docker buildx build \
--platform linux/arm,linux/arm64,linux/amd64 \
--platform linux/arm64,linux/amd64 \
--progress plain \
--tag "dokku/dokku:latest" \
--tag "dokku/dokku:$(echo "$VERSION" | tr + -)" .
@@ -402,7 +403,7 @@ fn-build-docker-image() {
main() {
declare RELEASE="$1"
local CURRENT_VERSION NEXT_VERSION IS_RELEASE
local CURRENT_VERSION NEXT_VERSION IS_PATCH IS_RELEASE
local VALID_RELEASE_LEVELS=("major" "minor" "patch" "betafish" "build")
if [[ "$RELEASE" == '--trace' ]]; then
@@ -433,20 +434,22 @@ main() {
NEXT_VERSION="$(fn-version-next "$CURRENT_VERSION" "$RELEASE")"
IS_RELEASE="$(fn-is-release "$RELEASE")"
IS_PATCH="false"
if [[ "$RELEASE" == "patch" ]]; then
IS_PATCH="true"
fi
echo "v${NEXT_VERSION}" >build/next-version
fn-repo-update "$IS_RELEASE" "$CURRENT_VERSION" "$NEXT_VERSION"
fn-repo-update "$IS_RELEASE" "$CURRENT_VERSION" "$NEXT_VERSION" "$IS_PATCH"
fn-build-dokku "$IS_RELEASE" "$NEXT_VERSION" || log-fail "Error building package"
fn-extract-package "$IS_RELEASE" "dokku_${NEXT_VERSION}_armhf.deb" || log-fail "Error extracting deb package"
fn-extract-package "$IS_RELEASE" "dokku_${NEXT_VERSION}_arm64.deb" || log-fail "Error extracting deb package"
fn-extract-package "$IS_RELEASE" "dokku_${NEXT_VERSION}_amd64.deb" || log-fail "Error extracting deb package"
mkdir -p build/package
cp -f "build/dokku_${NEXT_VERSION}_amd64.deb" build/package/dokku-amd64.deb
cp -f "build/dokku_${NEXT_VERSION}_arm64.deb" build/package/dokku-arm64.deb
cp -f "build/dokku_${NEXT_VERSION}_armhf.deb" build/package/dokku-armhf.deb
if [[ "$RELEASE" != "build" ]]; then
fn-publish-package "$IS_RELEASE" "raspbian" "build/dokku_${NEXT_VERSION}_armhf.deb" || log-fail "Error publishing deb package"
fn-publish-package "$IS_RELEASE" "deb" "build/dokku_${NEXT_VERSION}_arm64.deb" || log-fail "Error publishing deb package"
fn-publish-package "$IS_RELEASE" "deb" "build/dokku_${NEXT_VERSION}_amd64.deb" || log-fail "Error publishing deb package"
fn-build-docker-image "$NEXT_VERSION" "$IS_RELEASE" || log-fail "Error building docker image"

View File

@@ -7,19 +7,16 @@ readonly TMP_WORK_DIR="$(mktemp -d "/tmp/dokku-plugin-release.XXXXXX")"
trap "rm -rf '$TMP_WORK_DIR' >/dev/null" RETURN INT TERM EXIT
log-info() {
# shellcheck disable=SC2034
declare desc="Log info formatter"
echo "$*"
}
log-error() {
# shellcheck disable=SC2034
declare desc="Log error formatter"
echo "! $*" 1>&2
}
log-fail() {
# shellcheck disable=SC2034
declare desc="Log fail formatter"
log-error "$*"
exit 1

32
contrib/update-deb-dependencies Executable file
View File

@@ -0,0 +1,32 @@
#!/usr/bin/env python3
import json
def main():
"""
updates the control file with the tested debian dependencies
"""
deps = {}
with open("contrib/dependencies.json", encoding="utf-8") as handle:
deps = json.load(handle)
control_lines = []
with open("debian/control", encoding="utf-8") as handle:
control_lines = [line for line in handle.readlines()]
for key in ["dependencies", "predependencies", "recommendations"]:
for dependency in deps[key]:
name = dependency["name"]
version = dependency["version"]
for i, line in enumerate(control_lines):
if name in line:
control_lines[i] = control_lines[i].replace(
name, f"{name} (>= {version})"
)
with open("debian/control", mode="w", encoding="utf-8") as handle:
handle.writelines(control_lines)
if __name__ == "__main__":
main()

View File

@@ -1,13 +1,19 @@
#!/usr/bin/env python
from bs4 import BeautifulSoup
import os
import pathlib
import shutil
import sys
from collections.abc import Callable
import yaml
from bs4 import BeautifulSoup
def get_nav_from_selector(soup, selector, docs_dir):
def get_nav_from_selector(soup: BeautifulSoup, selector: str, docs_dir: str):
"""
Generates navigation from template file
"""
navigation = []
header_name = ""
for anchor in soup.select(selector):
@@ -49,44 +55,50 @@ def get_nav_from_selector(soup, selector, docs_dir):
children = os.listdir(docs_dir + "/" + child_dir)
children = [child_dir + c for c in children]
children.sort()
children.insert(
0, "getting-started/advanced-installation.md")
children.insert(0, "getting-started/advanced-installation.md")
if os.path.exists(docs_dir + "/" + filename):
children.insert(0, filename)
else:
children.insert(
0, "getting-started/installation/index.md")
nav[header_name].append({
"Getting Started with Dokku": children,
})
children.insert(0, "getting-started/installation/index.md")
nav[header_name].append(
{
"Getting Started with Dokku": children,
}
)
continue
elif filename == "getting-started/upgrading.md":
if filename == "getting-started/upgrading.md":
child_dir = "appendices/"
children = os.listdir(docs_dir + "/" + child_dir)
children.sort(key=lambda x: list(
map(int, x.split("-")[0].split('.'))),
reverse=True)
children.sort(
key=lambda x: list(map(int, x.split("-")[0].split("."))),
reverse=True,
)
children = [child_dir + c for c in children]
if os.path.exists(docs_dir + "/" + filename):
children.insert(0, filename)
else:
children.insert(
0, "getting-started/upgrading/index.md")
nav[header_name].append({
"Upgrading": children,
})
children.insert(0, "getting-started/upgrading/index.md")
nav[header_name].append(
{
"Upgrading": children,
}
)
continue
else:
nav[header_name].append(filename)
nav[header_name].append(filename)
return navigation
def generate_nav(src, dest):
def generate_nav(src: str, dest: str) -> None:
"""
Writes out navigation information to the mkdocs yaml file
"""
navigation = []
repo_dir = pathlib.Path(__file__).parent.parent.resolve()
docs_dir = str(repo_dir) + "/docs"
with open(docs_dir + "/template.html") as response:
with open(docs_dir + "/template.html", encoding="utf-8") as response:
soup = BeautifulSoup(response, "html.parser")
selectors = [
".container .row .list-group a",
@@ -101,21 +113,26 @@ def generate_nav(src, dest):
print("No navigation found")
sys.exit(1)
with open(src) as f:
data = yaml.unsafe_load(f)
with open(src, encoding="utf-8") as handler:
data = yaml.unsafe_load(handler)
data["nav"] = [
{"Docs": navigation},
{"Pro": "https://pro.dokku.com/docs/getting-started/"},
{"Blog": "https://dokku.com/blog/"},
{"Tutorials": "https://dokku.com/tutorials/"},
{"Purchase Dokku Pro": "https://dokku.dpdcart.com/cart/add?product_id=217344&method_id=236878"},
{
"Purchase Dokku Pro": "https://dokku.dpdcart.com/cart/add?product_id=217344&method_id=236878"
},
]
with open(dest, mode="wt", encoding="utf-8") as f:
yaml.dump(data, f)
with open(dest, mode="wt", encoding="utf-8") as handler:
yaml.dump(data, handler)
def modify_content_noop(lines, _):
def modify_content_noop(lines: list[str], _) -> tuple[list[str], bool]:
"""
Simply returns the lines as is
"""
modified = False
updated_lines = []
for line in lines:
@@ -123,11 +140,14 @@ def modify_content_noop(lines, _):
return updated_lines, modified
def modify_content_links(lines, filename):
def modify_content_links(lines: list[str], filename: str) -> tuple[list[str], bool]:
"""
Modifies links to be relative instead of absolute
"""
filename = filename.replace("/usr/src/source/docs/", "")
parts = filename.split("/")
parts.pop()
replacement = "](" + '/'.join([".." for _ in parts]) + "/"
replacement = "](" + "/".join([".." for _ in parts]) + "/"
modified = False
updated_lines = []
for line in lines:
@@ -139,7 +159,10 @@ def modify_content_links(lines, filename):
return updated_lines, modified
def modify_content_stripspace(lines, _):
def modify_content_stripspace(lines: list[str], _) -> tuple[list[str], bool]:
"""
Removes trailing whitespace from each line
"""
modified = False
updated_lines = []
for line in lines:
@@ -148,7 +171,10 @@ def modify_content_stripspace(lines, _):
return updated_lines, modified
def modify_content_inject_newlines(lines, _):
def modify_content_inject_newlines(lines: list[str], _) -> tuple[list[str], bool]:
"""
Ensures every line has a trailing newline character
"""
modified = False
updated_lines = []
for line in lines:
@@ -156,47 +182,117 @@ def modify_content_inject_newlines(lines, _):
return updated_lines, modified
def is_info(line):
def is_github_new(line: str, next_line: str | None) -> bool:
"""
Checks if a given line is a github "new as of" admonition
"""
if not next_line:
return False
return line.startswith("> [!IMPORTANT]") and "new as of" in next_line.lower()
def is_github_note(line: str) -> bool:
"""
Checks if a given line is a github "note" admonition
"""
return line.startswith("> [!NOTE]")
def is_github_warning(line: str) -> bool:
"""
Checks if a given line is a github "warning" admonition
"""
return line.startswith("> [!WARNING]")
def is_info(line: str) -> bool:
"""
Checks if a given line is an "info" admonition
"""
return line.startswith("> ")
def is_new(line):
def is_new(line: str) -> bool:
"""
Checks if a given line is a "new as of" admonition
"""
return line.startswith("> ") and "new as of" in line.lower()
def is_note(line):
def is_note(line: str) -> bool:
"""
Checks if a given line is a "note" admonition
"""
return line.startswith("> Note:")
def is_warning(line):
def is_warning(line: str) -> bool:
"""
Checks if a given line is a "warning" admonition
"""
return line.startswith("> Warning:")
def modify_content_admonition(lines, _):
def modify_content_admonition(lines: list[str], _) -> tuple[list[str], bool]:
"""
Applies adminition info to each line in the output
"""
modified = False
updated_lines = []
admonition_lines = []
is_admonition = False
for line in lines:
if is_info(line) or is_new(line) or is_note(line) or is_warning(line):
if is_new(line):
line = line.replace("> ", "!!! tip \"New\"\n\n ")
line = line.replace("New as of", "Introduced in")
line = line.replace("new as of", "introduced in")
if is_note(line):
line = line.replace(
"> Note: ", "!!! note \"Note\"\n\n ")
elif is_warning(line):
line = line.replace(
"> Warning: ", "!!! warning \"Warning\"\n\n ")
elif is_info(line):
if not is_admonition:
line = line.replace("> ", "!!! info \"Info\"\n\n ")
elif line in [">", "> "]:
line = ""
else:
line = " " + line.removeprefix("> ")
replace_new_in_next_line = False
for index, line in enumerate(lines):
next_line: str | None = None
if index + 1 < len(lines):
next_line = lines[index + 1]
if replace_new_in_next_line:
line = line.replace("New as of", "Introduced in")
line = line.replace("new as of", "introduced in")
replace_new_in_next_line = False
if is_github_new(line, next_line):
line = line.replace("> [!IMPORTANT]", '!!! tip "New"')
is_admonition = True
admonition_lines.append(line)
admonition_lines.append("")
replace_new_in_next_line = True
elif is_github_note(line):
line = line.replace("> [!NOTE]", '!!! note "Note"')
is_admonition = True
admonition_lines.append(line)
admonition_lines.append("")
elif is_github_warning(line):
line = line.replace("> [!WARNING]", '!!! warning "Warning"')
is_admonition = True
admonition_lines.append(line)
admonition_lines.append("")
elif is_new(line):
print("is_new")
line = line.replace("> ", '!!! tip "New"\n\n ')
line = line.replace("New as of", "Introduced in")
line = line.replace("new as of", "introduced in")
is_admonition = True
admonition_lines.append(line)
elif is_note(line):
print("is_note")
line = line.replace("> Note: ", '!!! note "Note"\n\n ')
is_admonition = True
admonition_lines.append(line)
elif is_warning(line):
print("is_warning")
line = line.replace("> Warning: ", '!!! warning "Warning"\n\n ')
is_admonition = True
admonition_lines.append(line)
elif is_info(line):
if not is_admonition:
line = line.replace("> ", '!!! info "Info"\n\n ')
elif line in [">", "> "]:
line = ""
else:
line = " " + line.removeprefix("> ")
is_admonition = True
admonition_lines.append(line)
elif is_admonition and line in [">", "> "]:
@@ -208,6 +304,7 @@ def modify_content_admonition(lines, _):
elif line == "":
is_admonition = False
if len(admonition_lines) > 0:
modified = True
updated_lines.extend(admonition_lines)
admonition_lines = []
updated_lines.append("")
@@ -216,11 +313,17 @@ def modify_content_admonition(lines, _):
return updated_lines, modified
def is_shell_codeblock_start(line):
def is_shell_codeblock_start(line: str) -> bool:
"""
Checks to see if a line starts a codeblock
"""
return line == "```shell"
def modify_content_terminal_example(lines, _):
def modify_content_terminal_example(lines: list[str], _) -> tuple[list[str], bool]:
"""
Modifies content so that terminal output is shown appropriately
"""
modified = False
updated_lines = []
command_block = []
@@ -246,20 +349,20 @@ def modify_content_terminal_example(lines, _):
if previous_block == "":
updated_lines.append(line)
continue
elif previous_block == "command_block":
if previous_block == "command_block":
example_block.append(line)
if in_example_block:
previous_block = ""
in_example_block = False
updated_lines.append("=== \"Shell\"")
updated_lines.append('=== "Shell"')
updated_lines.append("")
for command_line in command_block:
updated_lines.append(f" {command_line}")
command_block = []
updated_lines.append("")
updated_lines.append("=== \"Output\"")
updated_lines.append('=== "Output"')
updated_lines.append("")
for example_line in example_block:
updated_lines.append(f" {example_line}")
@@ -278,7 +381,7 @@ def modify_content_terminal_example(lines, _):
command_block = []
previous_block = ""
continue
elif next_line_must_be == "":
if next_line_must_be == "":
if line == "":
next_line_must_be = None
continue
@@ -292,6 +395,9 @@ def modify_content_terminal_example(lines, _):
def update_markdown(src):
"""
Updates all markdown files to be mkdocs compatible
"""
markdown_files = []
allowed_extensions = [".md"]
for subdir, _, files in os.walk(src):
@@ -301,7 +407,7 @@ def update_markdown(src):
if ext in allowed_extensions:
markdown_files.append(file_path)
modifiers = [
modifiers: list[Callable[[list[str], str], tuple[list[str], bool]]] = [
modify_content_noop,
modify_content_links,
modify_content_stripspace,
@@ -311,27 +417,32 @@ def update_markdown(src):
]
for file in markdown_files:
modified = False
is_modified = False
lines = []
with open(file, 'r') as f:
lines = f.readlines()
with open(file, "r", encoding="utf-8") as handler:
lines = handler.readlines()
for modifier in modifiers:
lines, m = modifier(lines, file)
if m:
modified = True
lines, modified = modifier(lines, file)
if modified:
is_modified = True
if modified:
with open(file, 'w') as fp:
fp.writelines(lines)
if is_modified:
with open(file, "w", encoding="utf-8") as handler:
handler.writelines(lines)
def main():
"""
Main command that performs doc manipulation
"""
print("----> Copying mkdocs.yml")
print(" Generating navigation")
generate_nav("/usr/src/source/mkdocs.yml", "/usr/src/app/mkdocs.yml")
print("----> Copying docs folder")
update_markdown("/usr/src/source/docs",)
update_markdown(
"/usr/src/source/docs",
)
if os.path.exists("/usr/src/app/docs"):
print(" Removing old docs folder")

1
deb.mk
View File

@@ -43,6 +43,7 @@ ifneq (,$(findstring false,$(IS_RELEASE)))
sed -i.bak -e "s/^/`date +%s`:/" /tmp/build-dokku/var/lib/dokku/STABLE_VERSION && rm /tmp/build-dokku/var/lib/dokku/STABLE_VERSION.bak
endif
contrib/update-deb-dependencies
cp -r debian /tmp/build-dokku/DEBIAN
sed -i.bak "s/^Architecture: .*/Architecture: $(DOKKU_ARCHITECTURE)/g" /tmp/build-dokku/DEBIAN/control && rm /tmp/build-dokku/DEBIAN/control.bak
rm -f /tmp/build-dokku/DEBIAN/lintian-overrides

1
debian/config vendored
View File

@@ -3,7 +3,6 @@ set -eo pipefail
[[ $TRACE ]] && set -x
if [[ -e /usr/share/debconf/confmodule ]]; then
# shellcheck disable=SC1091
. /usr/share/debconf/confmodule
fi

8
debian/control vendored
View File

@@ -1,11 +1,11 @@
Package: dokku
Version: 0.30.4
Version: 0.32.0
Section: web
Priority: optional
Architecture: amd64
Depends: apache2-utils, locales, git, cpio, curl, man-db, netcat, sshcommand (>= 0.12.0), docker-engine-cs (>= 17.05.0) | docker-engine (>= 17.05.0) | docker-io (>= 17.05.0) | docker.io (>= 17.05.0) | docker-ce (>= 17.05.0) | docker-ee (>= 17.05.0) | moby-engine, docker-compose-plugin | moby-compose, docker-image-labeler (>= 0.2.2), lambda-builder, net-tools, netrc, software-properties-common, parallel, procfile-util (>= 0.11.0), python-software-properties | python3-software-properties, rsync, rsyslog, dos2unix, jq, unzip
Recommends: herokuish (>= 0.3.4), bash-completion, dokku-update, dokku-event-listener
Pre-Depends: gliderlabs-sigil, nginx (>= 1.8.0) | openresty, dnsutils, cgroupfs-mount | cgroup-lite, plugn (>= 0.3.0), sudo, python3, debconf
Depends: apache2-utils, locales, git, cpio, curl, man-db, netcat, sshcommand, docker-engine-cs (>= 17.05.0) | docker-engine (>= 17.05.0) | docker-io (>= 17.05.0) | docker.io (>= 17.05.0) | docker-ce (>= 17.05.0) | docker-ee (>= 17.05.0) | moby-engine, docker-compose-plugin | moby-compose, docker-buildx-plugin | moby-buildx, docker-container-healthchecker, docker-image-labeler, lambda-builder, net-tools, netrc, software-properties-common, parallel, procfile-util, python-software-properties | python3-software-properties, rsync, rsyslog, dos2unix, jq, unzip, util-linux
Recommends: herokuish, bash-completion, dokku-update, dokku-event-listener
Pre-Depends: gliderlabs-sigil, nginx (>= 1.8.0) | openresty, dnsutils, cgroupfs-mount | cgroup-lite, plugn, 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

2
debian/postinst vendored
View File

@@ -3,12 +3,10 @@ set -eo pipefail
[[ $TRACE ]] && set -x
if [[ -e /usr/share/debconf/confmodule ]]; then
# shellcheck disable=SC1091
. /usr/share/debconf/confmodule
fi
if [[ -r /etc/default/dokku ]]; then
# shellcheck disable=SC1091
source /etc/default/dokku
fi

1
debian/postrm vendored
View File

@@ -3,7 +3,6 @@ set -eo pipefail
[[ $TRACE ]] && set -x
if [[ -e /usr/share/debconf/confmodule ]]; then
# shellcheck disable=SC1091
. /usr/share/debconf/confmodule
fi

1
debian/preinst vendored
View File

@@ -3,7 +3,6 @@ set -eo pipefail
[[ $TRACE ]] && set -x
if [[ -e /usr/share/debconf/confmodule ]]; then
# shellcheck disable=SC1091
. /usr/share/debconf/confmodule
fi

View File

@@ -56,11 +56,11 @@ main() {
if [[ -f /mnt/dokku/plugin-list ]]; then
while read line; do
local plugin_name="$(echo "$line" | awk '{print $2}')"
local plugin_name="$(echo "$line" | awk -F: '{print $1}')"
if dokku plugin:installed "$plugin_name"; then
log-warn "Skipping already installed plugin: $plugin_name"
else
dokku plugin:install "$plugin_name" "$(echo "$line" | cut -d':' -f1)"
dokku plugin:install "$(echo "$line" | awk -F': ' '{print $2}')" --name "$plugin_name"
fi
done </mnt/dokku/plugin-list
fi

View File

@@ -1 +1 @@
dokku ALL=NOPASSWD:SETENV:/usr/bin/docker,/usr/bin/docker-image-labeler,/usr/bin/pack,/usr/bin/crontab
dokku ALL=NOPASSWD:SETENV:/usr/bin/docker,/usr/bin/docker-container-healthchecker,/usr/bin/docker-image-labeler,/usr/bin/pack,/usr/bin/crontab

View File

@@ -1,6 +1,6 @@
.PHONY: docs-build-image
docs-build-image:
docker build -f docs/_build/Dockerfile --progress plain -t app/mkdocs .
docker build -f docs/_build/Dockerfile --progress plain -t app/mkdocs .
.PHONY: docs-build
docs-build:

View File

@@ -1,10 +1,10 @@
FROM python:3.11.3-alpine
FROM python:3.12.0-alpine
WORKDIR /usr/src/app
COPY docs/_build/requirements.txt .
RUN apk add --no-cache bash yaml && \
RUN apk add --no-cache bash build-base yaml && \
pip install --no-cache-dir -r requirements.txt
COPY docs/_build/entrypoint /bin/entrypoint

View File

@@ -23,17 +23,15 @@ main() {
fi
if [[ "$CMD" == "deps" ]]; then
pip freeze
return $?
exec pip freeze
fi
if [[ "$CMD" == "serve" ]]; then
write-mkdocs
mkdocs serve -a 0.0.0.0:3487
return $?
exec mkdocs serve -a 0.0.0.0:3487
fi
"$CMD" "${ARGS[@]}"
exec "$CMD" "${ARGS[@]}"
}
main "$@"

View File

@@ -1,23 +1,23 @@
beautifulsoup4==4.12.2
click==8.1.3
click==8.1.7
ghp-import==2.1.0
importlib-metadata==6.6.0
importlib-metadata==6.8.0
Jinja2==3.1.2
Markdown>=3.2.1,<3.5
MarkupSafe==2.1.2
Markdown>=3.2.1,<3.6
MarkupSafe==2.1.3
mergedeep==1.3.4
mkdocs==1.4.3
mkdocs==1.5.3
mkdocs-exclude==1.0.2
mkdocs-material==9.1.12
mkdocs-material-extensions==1.1.1
packaging==23.1
Pygments==2.15.1
pymdown-extensions==9.11
pyparsing==3.0.9
mkdocs-material==9.4.6
mkdocs-material-extensions==1.2
packaging==23.2
Pygments==2.16.1
pymdown-extensions==10.3
pyparsing==3.1.1
python-dateutil==2.8.2
PyYAML==6.0
PyYAML==6.0.1
pyyaml_env_tag==0.1
six==1.16.0
soupsieve==2.4.1
soupsieve==2.5
watchdog==3.0.0
zipp==3.15.0
zipp==3.17.0

View File

@@ -6,7 +6,8 @@ The best plan for disaster recovery is to always keep multiple (remote) copies o
## TLDR
> Warning: This method has many caveats. Please read this entire document before assuming these backups work as expected, and test your backups on a regular basis.
> [!WARNING]
> This method has many caveats. Please read this entire document before assuming these backups work as expected, and test your backups on a regular basis.
### Creating a backup

View File

@@ -1,5 +1,6 @@
# Deployment Tasks
> [!IMPORTANT]
> New as of 0.5.0
## Usage
@@ -57,8 +58,10 @@ Please keep the above in mind when utilizing deployment tasks.
When deploying a monorepo, it may be desirable to specify the specific path of the `app.json` file to use for a given app. This can be done via the `app-json:set` command. If a value is specified and that file does not exist within the repository, Dokku will continue the build process as if the repository has no `app.json` file.
For deploys via the `git:from-image` and `git:load-image` commands, the `app.json` is extracted from the configured `WORKDIR` property of the image. For all other deploys - git push, `git:from-archive`, `git:sync` - will have the `app.json` extracted directly from the source code. Both cases will respect the configured `appjson-path` property value.
```shell
dokku app-json:set node-js-app appjson-path second-app.json
dokku app-json:set node-js-app appjson-path .dokku/app.json
```
The default value may be set by passing an empty value for the option:
@@ -81,6 +84,7 @@ dokku app-json:set --global appjson-path
### Displaying app-json reports for an app
> [!IMPORTANT]
> New as of 0.25.0
You can get a report about the app's storage status using the `app-json:report` command:
@@ -137,9 +141,8 @@ Dokku provides limited support for the `app.json` manifest from Heroku (document
- `scripts.dokku.postdeploy`: This is run _after_ an app's containers are scheduled. Changes made to your image are _not_ committed at this phase.
- `scripts.postdeploy`: This is run _after_ an app's containers are scheduled. Changes made to your image are _not_ committed at this phase.
For buildpack-based deployments, the location of the `app.json` file should be at the root of your repository. Dockerfile-based app deploys should have the `app.json` in the configured `WORKDIR` directory; otherwise Dokku defaults to the buildpack app behavior of looking in `/app`.
> Warning: Any failed `app.json` deployment task will fail the deploy. In the case of either phase, a failure will not affect any running containers.
> [!WARNING]
> Any failed `app.json` deployment task will fail the deploy. In the case of either phase, a failure will not affect any running containers.
The following is an example `app.json` file. Please note that only the `scripts.dokku.predeploy` and `scripts.dokku.postdeploy` tasks are supported by Dokku at this time. All other fields will be ignored and can be omitted.
@@ -157,6 +160,7 @@ The following is an example `app.json` file. Please note that only the `scripts.
#### Procfile Release command
> [!IMPORTANT]
> New as of 0.14.0
The `Procfile` also supports a special `release` command which acts in a similar way to the [Heroku Release Phase](https://devcenter.heroku.com/articles/release-phase). This command is executed _after_ an app's docker image is built, but _before_ any containers are scheduled. This is also run _after_ any command executed by `scripts.dokku.predeploy`.
@@ -169,4 +173,5 @@ release: curl https://some.external.api.service.com/deployment?state=built
Unlike the `scripts.dokku.predeploy` command, changes made during by the `release` command are _not_ persisted to disk.
> Warning: scaling the release command up will likely result in unspecified issues within your deployment, and is highly discouraged.
> [!WARNING]
> scaling the release command up will likely result in unspecified issues within your deployment, and is highly discouraged.

View File

@@ -1,5 +1,6 @@
# Docker Container Options
> [!IMPORTANT]
> New as of 0.3.17
Pass [container options](https://docs.docker.com/engine/reference/run/) to the `docker run` command during Dokku's `build`, `deploy` and `run` phases
@@ -27,7 +28,7 @@ Dokku deploys your application in multiple "phases" and the `docker-options` plu
Manipulation of docker options will not restart running containers. This enables multiple options to be set/unset before final application. As such, changing an app's docker options must be followed by a `dokku ps:rebuild` in order to take effect.
More information on supported Docker options can be found here: https://docs.docker.com/engine/reference/commandline/run/.
More information on supported Docker options can be found [here](https://docs.docker.com/engine/reference/commandline/run/).
Container options configured via the `docker-options` plugin are not used to modify the process a container runs. Container options are the `[OPTIONS]` portion of the following, where `[CONTAINER_COMMAND]` and `[ARG]` are the process and the arguments passed to it that are launched in the created container: `docker run [OPTIONS] [CONTAINER_COMMAND] [ARG...]`. Please see the documentation for [customizing the run command](/docs/deployment/builders/dockerfiles.md#customizing-the-run-command) or use a [Procfile](/docs/deployment/builders/dockerfiles.md#procfiles-and-multiple-processes) to modify the command used by a Dockerfile-based container.
@@ -43,7 +44,8 @@ dokku docker-options:add node-js-app deploy "-v /var/log/node-js-app:/app/logs"
dokku docker-options:add node-js-app run "-v /var/log/node-js-app:/app/logs"
```
> Note: When [mounting a host directory](https://docs.docker.com/engine/reference/run/#volume-shared-filesystems) in a Dokku app you should first create that directory as user `dokku` and then mount the directory under `/app` in the container using `docker-options` as above. Otherwise the app will lack write permission in the directory.
> [!NOTE]
> When [mounting a host directory](https://docs.docker.com/engine/reference/run/#volume-shared-filesystems) in a Dokku app you should first create that directory as user `dokku` and then mount the directory under `/app` in the container using `docker-options` as above. Otherwise the app will lack write permission in the directory.
### Remove a Docker option
@@ -84,6 +86,7 @@ dokku docker-options:clear node-js-app build,run
### Displaying docker-options reports for an app
> [!IMPORTANT]
> New as of 0.8.1
You can get a report about the app's docker-options status using the `docker-options:report` command:

View File

@@ -1,5 +1,6 @@
# Dokku Event Logs
> [!IMPORTANT]
> New as of 0.3.21
Docker provides an _events_ command to show system's real time events. Likewise, Dokku can record events as syslog entries and also provides a plugin to display the last ones.
@@ -75,4 +76,4 @@ pre-release-buildpack
pre-release-dockerfile
receive-app
update
```
```

View File

@@ -1,5 +1,6 @@
# Persistent Storage
> [!IMPORTANT]
> New as of 0.5.0
The preferred method to mount external containers to a Dokku managed container, is to use the Dokku storage plugin.
@@ -36,7 +37,6 @@ dokku storage:list node-js-app
The output format can also be set to `json` for programmatic access:
```shell
dokku storage:list node-js-app --format json
```
@@ -53,6 +53,7 @@ dokku storage:list node-js-app --format json
### Creating storage directories
> [!IMPORTANT]
> New as of 0.25.5
A storage directory can be created with the `storage:ensure-directory` command. This command will create a subdirectory in the recommended `/var/lib/dokku/data/storage` path - created during Dokku installation - and prepare it for use with an app.
@@ -70,16 +71,17 @@ dokku storage:ensure-directory node-js-app
By default, permissions are set for usage with Herokuish buildpacks. These permissions can be changed via the `--chown` option according to the following table:
- `--chown herokuish` (default): Use `32767:32767` as the folder permissions.
- This is used for apps deployed with Buildpacks via Herokuish.
- This is used for apps deployed with Buildpacks via Herokuish.
- `--chown heroku`: Use `1000:1000` as the folder permissions.
- This is used for apps deployed with Cloud Native Buildpacks using the `heroku/buildpacks` builder.
- This is used for apps deployed with Cloud Native Buildpacks using the `heroku/buildpacks` builder.
- `--chown packeto`: Use `2000:2000` as the folder permissions.
- This is used for apps deployed with Cloud Native Buildpacks using the `cloudfoundry/cnb` or `packeto` builders.
- This is used for apps deployed with Cloud Native Buildpacks using the `cloudfoundry/cnb` or `packeto` builders.
- `--chown false`: Skips the `chown` call.
Users deploying via Dockerfile will want to specify `--chown false` and manually `chown` the created directory if the user and/or group id of the runnning process in the deployed container do not correspond to any of the above options.
> Warning: Failing to set the correct directory ownership may result in issues in persisting files written to the mounted storage directory.
> [!WARNING]
> Failing to set the correct directory ownership may result in issues in persisting files written to the mounted storage directory.
### Mounting storage into apps
@@ -125,6 +127,7 @@ dokku ps:restart app-name
### Displaying storage reports for an app
> [!IMPORTANT]
> New as of 0.8.1
You can get a report about the app's storage status using the `storage:report` command:
@@ -195,14 +198,17 @@ dokku docker-options:add node-js-app build "-v /tmp/python-test:/opt/test"
You cannot use mounted volumes during the build phase of a Dockerfile deploy. This is because Docker does not support volumes when executing `docker build`.
> Warning: **This can cause data loss** if you bind a mount under `/app` in buildpack apps as herokuish will attempt to remove the original app path during the build phase.
> [!WARNING]
> **This can cause data loss** if you bind a mount under `/app` in buildpack apps as herokuish will attempt to remove the original app path during the build phase.
## App User and Persistent Storage file ownership (buildpack apps only)
> [!IMPORTANT]
> New as of 0.7.1
By default, Dokku will execute your buildpack app processes as the `herokuishuser` user. You may override this by setting the `DOKKU_APP_USER` config variable.
> NOTE: this user must exist in your herokuish image.
> [!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 [docker-local scheduler documentation](/docs/deployment/schedulers/docker-local.md#disabling-chown-of-persistent-storage) docs for more information.

View File

@@ -1,17 +1,18 @@
# Plugin Management
> [!IMPORTANT]
> New as of 0.4.0
```
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:install [--core|--git-url] [--committish branch|commit|tag] [--name custom-plugin-name] # Optionally download git-url (and pin to the specified branch/commit/tag) & 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
plugin:uninstall <name> # Uninstall a plugin (third-party only)
plugin:update [name [committish]] # Optionally update named plugin from git (with custom tag/committish) & run update trigger for active plugins
plugin:update [name [branch|commit|tag]] # Optionally update named plugin from git (and pin to the specified branch/commit/tag) & run update trigger for active plugins
```
```shell
@@ -35,38 +36,39 @@ dokku plugin:list
```
plugn: dev
00_dokku-standard 0.30.4 enabled dokku core standard plugin
20_events 0.30.4 enabled dokku core events logging plugin
app-json 0.30.4 enabled dokku core app-json plugin
apps 0.30.4 enabled dokku core apps plugin
build-env 0.30.4 enabled dokku core build-env plugin
buildpacks 0.30.4 enabled dokku core buildpacks plugin
certs 0.30.4 enabled dokku core certificate management plugin
checks 0.30.4 enabled dokku core checks plugin
common 0.30.4 enabled dokku core common plugin
config 0.30.4 enabled dokku core config plugin
docker-options 0.30.4 enabled dokku core docker-options plugin
domains 0.30.4 enabled dokku core domains plugin
enter 0.30.4 enabled dokku core enter plugin
git 0.30.4 enabled dokku core git plugin
logs 0.30.4 enabled dokku core logs plugin
network 0.30.4 enabled dokku core network plugin
nginx-vhosts 0.30.4 enabled dokku core nginx-vhosts plugin
plugin 0.30.4 enabled dokku core plugin plugin
proxy 0.30.4 enabled dokku core proxy plugin
ps 0.30.4 enabled dokku core ps plugin
repo 0.30.4 enabled dokku core repo plugin
resource 0.30.4 enabled dokku core resource plugin
scheduler-docker-local 0.30.4 enabled dokku core scheduler-docker-local plugin
shell 0.30.4 enabled dokku core shell plugin
ssh-keys 0.30.4 enabled dokku core ssh-keys plugin
storage 0.30.4 enabled dokku core storage plugin
tags 0.30.4 enabled dokku core tags plugin
tar 0.30.4 enabled dokku core tar plugin
trace 0.30.4 enabled dokku core trace plugin
00_dokku-standard 0.32.0 enabled dokku core standard plugin
20_events 0.32.0 enabled dokku core events logging plugin
app-json 0.32.0 enabled dokku core app-json plugin
apps 0.32.0 enabled dokku core apps plugin
build-env 0.32.0 enabled dokku core build-env plugin
buildpacks 0.32.0 enabled dokku core buildpacks plugin
certs 0.32.0 enabled dokku core certificate management plugin
checks 0.32.0 enabled dokku core checks plugin
common 0.32.0 enabled dokku core common plugin
config 0.32.0 enabled dokku core config plugin
docker-options 0.32.0 enabled dokku core docker-options plugin
domains 0.32.0 enabled dokku core domains plugin
enter 0.32.0 enabled dokku core enter plugin
git 0.32.0 enabled dokku core git plugin
logs 0.32.0 enabled dokku core logs plugin
network 0.32.0 enabled dokku core network plugin
nginx-vhosts 0.32.0 enabled dokku core nginx-vhosts plugin
plugin 0.32.0 enabled dokku core plugin plugin
proxy 0.32.0 enabled dokku core proxy plugin
ps 0.32.0 enabled dokku core ps plugin
repo 0.32.0 enabled dokku core repo plugin
resource 0.32.0 enabled dokku core resource plugin
scheduler-docker-local 0.32.0 enabled dokku core scheduler-docker-local plugin
shell 0.32.0 enabled dokku core shell plugin
ssh-keys 0.32.0 enabled dokku core ssh-keys plugin
storage 0.32.0 enabled dokku core storage plugin
tags 0.32.0 enabled dokku core tags plugin
tar 0.32.0 enabled dokku core tar plugin
trace 0.32.0 enabled dokku core trace plugin
```
> Warning: All plugin commands other than `plugin:list` and `plugin:help` require sudo access and must be run directly from the Dokku server.
> [!WARNING]
> All plugin commands other than `plugin:list` and `plugin:help` require sudo access and must be run directly from the Dokku server.
### Checking if a plugin is installed
@@ -78,7 +80,8 @@ dokku plugin:installed postgres
### Installing a plugin
> Note: Plugins installed in this method within a [docker-based installation](/docs/getting-started/install/docker.md) of Dokku do not persist across installs. Please see the [plugin installation section](/docs/getting-started/install/docker.md#plugin-installation) of the docker-based installation docs for further details.
> [!NOTE]
> Plugins installed in this method within a [docker-based installation](/docs/getting-started/install/docker.md) of Dokku do not persist across installs. Please see the [plugin installation section](/docs/getting-started/install/docker.md#plugin-installation) of the docker-based installation docs for further details.
Installing a plugin is easy as well using the `plugin:install` command. This command will also trigger the `install` pluginhook on all existing plugins.
@@ -165,6 +168,12 @@ An optional commit SHA-like object may be specified.
dokku plugin:update postgres 2.0.0
```
Any future invocation of `plugin:update` will respect the previously specified SHA-like object. To follow a particular branch again, specify that branch:
```shell
dokku plugin:update postgres main
```
### Uninstalling a plugin
Third party plugins can be uninstalled using the `plugin:uninstall` command:

View File

@@ -1,5 +1,6 @@
# Registry Management
> [!IMPORTANT]
> New as of 0.25.0
```

View File

@@ -1,5 +1,6 @@
# Repository Management
> [!IMPORTANT]
> New as of 0.6.0
```

View File

@@ -1,5 +1,6 @@
# Resource Management
> [!IMPORTANT]
> New as of 0.15.0
```
@@ -16,7 +17,8 @@ The resource plugin is meant to allow users to limit or reserve resources for a
By default, Dokku allows unlimited resource access to apps deployed on a server. In some cases, it may be desirable to limit this on a per-app or per-process-type basis. The `resource` plugin allows management of both resource "limits" and resource "reservations", where each resource request type has specific meaning to the scheduler in use for a given app.
> Warning: The meaning of a values and it's units are specific to the scheduler in use for a given app. If a value is incorrect for a scheduler, this may result in containers failing to start correctly. If a scheduler does not support a given resource type combination, it will be ignored. All resource commands require an app rebuild or deploy in order to take effect.
> [!WARNING]
> The meaning of a values and it's units are specific to the scheduler in use for a given app. If a value is incorrect for a scheduler, this may result in containers failing to start correctly. If a scheduler does not support a given resource type combination, it will be ignored. All resource commands require an app rebuild or deploy in order to take effect.
Valid resource options include:

View File

@@ -4,10 +4,10 @@
By default, Dokku will ship a PCI Compliant nginx configuration. For developers whose users are on older browsers or mobile devices, you may need to ship a custom `nginx.conf.sigil` to enable ciphers for older browsers.
See the [nginx customization](/docs/networking/proxies/nginx/#customizing-the-nginx-configuration) docs for more details.
See the [nginx customization](/docs/networking/proxies/nginx.md#customizing-the-nginx-configuration) docs for more details.
## Nginx Error Pages
We now ship with nicer error pages by default. You are free to customize your Dokku installation via a custom `nginx.conf.sigil` to change what error pages are displayed in different circumstances.
See the [nginx customization](/docs/networking/proxies/nginx/#customizing-the-nginx-configuration) docs for more details.
See the [nginx customization](/docs/networking/proxies/nginx.md#customizing-the-nginx-configuration) docs for more details.

View File

@@ -8,7 +8,7 @@ The `tls` name is no longer a reserved app name, and can be used by applications
- `git#git_deploy_branch()` is deprecated in favor of `plugn trigger git-deploy-branch`.
- The `config` command is deprecated in favor of `config:show`.
- Usage of this command in conjunction with either the `--export` or `--shell` flag is deprecated in favor of `config:export --format` with the correct format value (`exports` or `shell`, respectively).
- Usage of this command in conjunction with either the `--export` or `--shell` flag is deprecated in favor of `config:export --format` with the correct format value (`exports` or `shell`, respectively).
- The `nginx:build-config` command is deprecated in favor of `proxy:build-config`.
## Removals

View File

@@ -19,7 +19,7 @@ Before upgrading, uninstall the registry plugin via `dokku plugin:uninstall regi
- The `dokku run` command now always removes the ephemeral container on exit. Users that need a persistent container should instead specify a `console` process type in their `Procfile` specifying an available shell (usually either `bash` or `sh`) and scale that container appropriately.
- The `pre-deploy` plugin trigger is now called internally by Dokku. Scheduler plugins should avoid calling this trigger, as any image changes introduced by subsequent trigger calls will be ignored.
- The default image used for Herokuish Buildpack builds is now `gliderlabs/herokuish:latest-20`, and is based on both the `heroku-20` stack as well as Ubuntu 20.04. Users that wish to stick with the old, `heroku-18`/Ubuntu 18.04 builder may specify `gliderlabs/herokuish:latest-18` as their builder image. Please see the [herokuish buildpack deployment documentation](/docs/deployment/builders/herokuish-buildpacks.md#customizing-the-buildpack-stack-builder) for more information on how to specify a custom buildpack stack builder.
- This change does not impact any users of Cloud Native Buildpacks.
- This change does not impact any users of Cloud Native Buildpacks.
- We fixed an issue that required extracting Procfiles at the beginning of a deploy. Due to this change, a `Dockerfile` app contains a `Procfile` that does not specify a `web` process will fail to start. Usage of a `Procfile` with _only_ a `release` command should be replaced with a `scripts.dokku.postdeploy` deployment task in the `app.json` file. The alternative is to define the `web` process in the `Procfile`. See the [deployment task documentation](/docs/advanced-usage/deployment-tasks.md) for more information.
### Deprecations

View File

@@ -9,4 +9,4 @@
- The `scheduler` plugin now controls the scheduler in use for deploys. Apps will have their `DOKKU_SCHEDULER` environment variables migrated to the scheduler plugin, after which that value will be removed from said app. Please see the [scheduler documentation](/docs/deployment/schedulers/scheduler-management.md) for more information.
- The `deploy-source` metadata from `apps:report` is now no longer computed on the fly, but hydrated at deploy time via the `deploy-source-set` trigger. This value may be empty until your next deploy.
- Additionally, the `deploy-source` trigger has now been removed.
- Additionally, the `deploy-source` trigger has now been removed.

View File

@@ -3,6 +3,7 @@
## Changes
- Renaming an application will now only rename domains that are associated with global domains. As an example:
```shell
dokku domains:set-global dokku.me
dokku apps:create node-js-app

View File

@@ -0,0 +1,36 @@
# 0.31.0 Migration Guide
## Changes
- Herokuish build cache is now mounted from a docker volume - eg. `cache-node-js-app` - instead of the local filesystem. All existing app cache will be cleared upon upgrading past 0.29.0.
- The `vector` container integration now mounts config to `/etc/vector` instead of the path `/etc/vector/vector.json`, allowing users the ability to provide extra configuration for Vector Sinks. To take advantage of the new functionality, the vector container should be stopped (via `dokku logs:vector-stop`) and then started (via `dokku logs:vector-start`).
- The `traefik` integration now mounts config to `/data` instead of the path `/acme.json`, fixing permissions issues under certain architectures. To take advantage of the new functionality, the traefik container should be stopped (via `dokku traefik:stop`) and then started (via `dokku traefik:start`).
- Users no longer need to clear the `source-image` git property when transitioning from image-based deploys (`git:from-image` and `git:load-image`) to other deployment methods (git push, `git:from-archive`, `git:sync`).
- For deploys via the `git:from-image` and `git:load-image` commands, the `CHECKS` file is now extracted from the configured `WORKDIR` property of the image. For all other deploys - git push, `git:from-archive`, `git:sync` - will have the `CHECKS` extracted directly from the source code. The filename in both cases is `CHECKS` and cannot be modified.
- Port mappings are now auto-detected during the build process. Users may override detected port mappings via the `ports` plugin. A default port mapping of `http:80:5000` will be used if none is otherwise specified.
- Users building docker images that run Dokku will need to use a new sudoer wrapper for the `docker-container-healthchecker` binary to work correctly. A reference version has been placed in the `docker` skeleton directory. This should only impact platform developers, and users of our Docker image will already have the file available.
- The default image used for Herokuish Buildpack builds is now `gliderlabs/herokuish:latest-22`, and is based on both the `heroku-22` stack as well as Ubuntu 22.04. Users that wish to stick with the old, `heroku-20`/Ubuntu 20.04 builder may specify `gliderlabs/herokuish:latest-20` as their builder image. Please see the [herokuish buildpack deployment documentation](/docs/deployment/builders/herokuish-buildpacks.md#customizing-the-buildpack-stack-builder) for more information on how to specify a custom buildpack stack builder.
- The default image used for Cloud Native Buildpack builds is now `heroku/builder:22`, and is based on both the `heroku-22` stack as well as Ubuntu 22.04. Users that wish to stick with the old, `heroku-20`/Ubuntu 20.04 builder may specify `heroku/buildpacks:20` as their builder image. Please see the [herokuish buildpack deployment documentation](/docs/deployment/builders/herokuish-buildpacks.md#customizing-the-buildpack-stack-builder) for more information on how to specify a custom buildpack stack builder.
## Deprecations
- The `proxy:ports*` commands have been replaced with the new `ports` plugin. Users will be able to use the old `proxy:ports*` commands for a single minor release, and they will be removed in the next minor release.
- The `common#get_available_port()` function has been deprecated and will be removed in the next release. Users should avoid interacting with this function and instead use the `ports-get-available` plugin trigger for fetching an available port.
- The `proxy-configure-ports` plugin trigger has been deprecated and will be removed in the next release. Users should instead trigger the `ports-configure` plugin trigger.
- The `common#get_dockerfile_exposed_ports()` function is deprecated and will be removed in the next release. There is no replacement for this as it's only use in Dokku core was in the `builder-dockerfile` plugin.
- The `common#get_exposed_ports_from_image()` function is deprecated and will be removed in the next release. There is no replacement for this as it's only use in Dokku core was during the build process.
- The environment variable `DOKKU_PROXY_PORT_MAP` has been migrated to the properties system. Direct changes to the value will be ignored, and users should interact with port maps via the `ports` plugin.
- The `CHECKS` file is deprecated in favor of defining healthchecks in the `app.json` file. The [docker-container-healthchecker](https://github.com/dokku/docker-container-healthchecker) tool can be used to generate healthcheck entries in `app.json` format from existing `CHECKS` files. See the [zero-downtime deploy documentation](/docs/deployment/zero-downtime-deploys.md) for more information on how the new zero downtime check format works.
- ARM support is now deprecated, and will be removed in the next minor release. ARM releases are not tested in CI and do not get testing locally. Users of ARM installations on platforms such as the Raspberry PI should consider migrating to ARM64. ARM64 will continue to be supported by Dokku, and there are no plans to remove support for ARM64.
## Un-Deprecations
- The bare `apps` and `config` cli aliases are no longer deprecated. This better follows Heroku's output and is more useful to users. The subcommands will be treated as the primary, documented versions, while the aliases are there for convenience.
## Removals
- The variable `RAW_TCP_PORTS` is no longer exposed for `nginx.conf.sigil` templating.
- The environment variable `DOKKU_DOCKERFILE_PORTS` is no longer in use. Users wishing to change port mappings should instead use the `ports` plugin.
- The `common#get_app_raw_tcp_ports()` function has been removed in the next release. Users should instead use the `ports-get` plugin trigger for fetching ports for an app.
- The plugin trigger `network-compute-ports` has been removed. It's only use was in the `scheduler-docker-local` plugin, for exposing ports. It's functionality is now implemented via the `ports` plugin.
- The plugin trigger `network-get-port` has been removed. It's only use was in the `scheduler-docker-local` plugin, for recording ports. It's functionality is now implemented via the `ports` plugin.

View File

@@ -0,0 +1,30 @@
# 0.32.0 Migration Guide
## Deprecations
- The following `pre-build-*` plugin triggers have been deprecated and will be removed in the next release. Users should instead trigger the `pre-build` plugin trigger.
- pre-build-buildpack
- pre-build-dockerfile
- pre-build-lambda
- pre-build-pack
- The following `pre-release-*` plugin triggers have been deprecated and will be removed in the next release. Users should instead trigger the `pre-release-builder` plugin trigger.
- pre-release-buildpack
- pre-release-dockerfile
- pre-release-lambda
- pre-release-pack
- The following `post-build-*` plugin triggers have been deprecated and will be removed in the next release. Users should instead trigger the `post-build` plugin trigger.
- post-build-buildpack
- post-build-dockerfile
- post-build-lambda
- post-build-pack
- The `CHECKS` file was deprecated in the previous release in favor of defining healthchecks in the `app.json` file. It's support and auto-migration to healthchecks in the `app.json` file will be removed in the next release. See the [zero-downtime deploy documentation](/docs/deployment/zero-downtime-deploys.md) for more information on how the new zero downtime check format works.
## Removals
- ARM support has been removed. Users of ARM installations on platforms such as the Raspberry PI should consider migrating to ARM64. ARM64 will continue to be supported by Dokku, and there are no plans to remove support for ARM64.
- The following proxy-port related code has been removed. It is replaced by the `ports` plugin and it's related plugin triggers.
- `proxy:ports-*` commands
- `proxy-configure-ports` plugin trigger
- `common#get_available_port()`
- `common#get_dockerfile_exposed_ports()`
- `common#get_exposed_ports_from_image()`

View File

@@ -3,23 +3,23 @@
## `nginx-vhosts` plugin
- The nginx-vhosts template language is now [sigil](https://github.com/gliderlabs/sigil)
- No need to escape literal `$` characters (or other "bash-isms")
- Template variables are represented as {{ .VARIABLE_NAME }}
- A detailed list of template variables can be found [here](/docs/networking/proxies/nginx.md#available-template-variables)
- No need to escape literal `$` characters (or other "bash-isms")
- Template variables are represented as {{ .VARIABLE_NAME }}
- A detailed list of template variables can be found [here](/docs/networking/proxies/nginx.md#available-template-variables)
- A custom nginx-vhosts template must be named `nginx.conf.sigil`
- The default path for this custom template is the root of your repo (i.e. `/app` in the container or `WORKDIR` if defined in a dockerfile app)
- Dokku no longer looks for this file in `/home/dokku/node-js-app` on the Dokku server
- Check out an example template [here](/docs/networking/proxies/nginx.md)
- The default path for this custom template is the root of your repo (i.e. `/app` in the container or `WORKDIR` if defined in a dockerfile app)
- Dokku no longer looks for this file in `/home/dokku/node-js-app` on the Dokku server
- Check out an example template [here](/docs/networking/proxies/nginx.md)
- Support for server-wide SSL certs have been dropped in favor of using the `certs` plugin
- `dokku certs:add node-js-app < certs.tar`
- `dokku certs:add node-js-app < certs.tar`
- All domains for an SSL-enabled app will be redirected to https by default
- This can be overridden with a custom template
- This can be overridden with a custom template
- Replaced "magic" `NO_VHOST` variable with `domains:enable/disable`
- Simplified zero downtime control
- `checks:enable/disable`
- `checks:enable/disable`
## Dockerfile apps with exposed ports
- Dockerfiles with `EXPOSE` clauses will get [all **tcp** ports proxied by default](/docs/deployment/builders/dockerfiles.md#exposed-ports)
- Note that nginx will proxy the same port numbers to listen publicly
- UDP ports can be exposed by disabling the [nginx proxy](/docs/networking/proxy-management.md) with `dokku proxy:disable node-js-app`
- Note that nginx will proxy the same port numbers to listen publicly
- UDP ports can be exposed by disabling the [nginx proxy](/docs/networking/proxy-management.md) with `dokku proxy:disable node-js-app`

View File

@@ -3,30 +3,30 @@
## Zero-downtime deployment
- You can now **actually** disable zero-downtime deployments per-app and per-process-type
- Some config variables have been moved around
- `DOKKU_CHECKS_ENABLED` has been migrated to `DOKKU_CHECKS_SKIPPED`
- `DOKKU_CHECKS_DISABLED` is now a thing
- The values for the above can be a comma-separated list of process-types or the literal string `_all_`
- See the [updated `checks`](/docs/deployment/zero-downtime-deploys.md) docs for more info
- Some config variables have been moved around
- `DOKKU_CHECKS_ENABLED` has been migrated to `DOKKU_CHECKS_SKIPPED`
- `DOKKU_CHECKS_DISABLED` is now a thing
- The values for the above can be a comma-separated list of process-types or the literal string `_all_`
- See the [updated `checks`](/docs/deployment/zero-downtime-deploys.md) docs for more info
## Proxy port mapping
- You can now configure host -> container proxy port mappings
- The UI is handled by the [proxy](/docs/networking/proxy-management.md) interface plugin by setting the `DOKKU_PROXY_PORT_MAP` config variable in the format of `scheme:host-port:container-port`. The default `nginx-vhosts` proxy plugin supports both the `http` and `https` schemes.
- The UI is handled by the [proxy](/docs/networking/proxy-management.md) interface plugin by setting the `DOKKU_PROXY_PORT_MAP` config variable in the format of `scheme:host-port:container-port`. The default `nginx-vhosts` proxy plugin supports both the `http` and `https` schemes.
- Default port mappings
- buildpack apps will be set to `http:80:5000` and will also include `https:443:5000` if SSL is enabled.
- dockerfile apps with explicitly exposed ports (i.e. using the `EXPOSE` directive) will be configured with a listener on each exposed port that proxies to the same port of the deployed application container.
- You may override this behavior with the [`proxy:ports-*` commands](/docs/networking/proxy-management.md) or by directly setting `DOKKU_PROXY_PORT_MAP` with the `config:set` command
- dockerfile apps without explicitly exposed ports will behave the same as a buildpack app
- NOTE: These defaults **are not** automatically changed on subsequent pushes and must be manipulated with the aforementioned commands
- buildpack apps will be set to `http:80:5000` and will also include `https:443:5000` if SSL is enabled.
- dockerfile apps with explicitly exposed ports (i.e. using the `EXPOSE` directive) will be configured with a listener on each exposed port that proxies to the same port of the deployed application container.
- You may override this behavior with the [`proxy:ports-*` commands](/docs/networking/proxy-management.md) or by directly setting `DOKKU_PROXY_PORT_MAP` with the `config:set` command
- dockerfile apps without explicitly exposed ports will behave the same as a buildpack app
- NOTE: These defaults **are not** automatically changed on subsequent pushes and must be manipulated with the aforementioned commands
## Calling the `dokku` binary
- Plugins should *not* call the `dokku` binary directly. Clients using the `--app` argument are potentially broken, amongst others, when doing so. Instead, please source the `functions` file for a given plugin when attempting to call Dokku internal functions. As a result, the following Dokku commands are no longer publicly exposed:
- `dokku build`
- `dokku receive`
- `dokku release`
- `dokku tar:build`
- `dokku tar:build-locked`
- `dokku git:build`
- `dokku git:build-locked`
- `dokku build`
- `dokku receive`
- `dokku release`
- `dokku tar:build`
- `dokku tar:build-locked`
- `dokku git:build`
- `dokku git:build-locked`

View File

@@ -2,13 +2,13 @@
## Domain Management
You can now set global and app domains via `domains:set` and `domains:set-global`. See the [domains documentation](/docs/configuration/domains/) for more details.
You can now set global and app domains via `domains:set` and `domains:set-global`. See the [domains documentation](/docs/configuration/domains.md) for more details.
## Plugin Uninstallation
A new `uninstall` plugin trigger was introduced. This functionality may be in use for newer plugins, so be aware that older Dokku versions may require manual cleanup.
See the [uninstall trigger documentation](/docs/development/plugin-triggers/#uninstall) for implementation instructions.
See the [uninstall trigger documentation](/docs/development/plugin-triggers.md#uninstall) for implementation instructions.
## Deployment Tasks

View File

@@ -2,10 +2,10 @@
<browserconfig>
<msapplication>
<tile>
<square70x70logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.30.4/docs/assets/favicons/mstile-70x70.png"/>
<square150x150logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.30.4/docs/assets/favicons/mstile-150x150.png"/>
<square310x310logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.30.4/docs/assets/favicons/mstile-310x310.png"/>
<wide310x150logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.30.4/docs/assets/favicons/mstile-310x150.png"/>
<square70x70logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.32.0/docs/assets/favicons/mstile-70x70.png"/>
<square150x150logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.32.0/docs/assets/favicons/mstile-150x150.png"/>
<square310x310logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.32.0/docs/assets/favicons/mstile-310x310.png"/>
<wide310x150logo src="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.32.0/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.30.4\/docs\/assets\/favicons\/android-chrome-36x36.png",
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.32.0\/docs\/assets\/favicons\/android-chrome-36x36.png",
"sizes": "36x36",
"type": "image\/png",
"density": "0.75"
},
{
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.4\/docs\/assets\/favicons\/android-chrome-48x48.png",
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.32.0\/docs\/assets\/favicons\/android-chrome-48x48.png",
"sizes": "48x48",
"type": "image\/png",
"density": "1.0"
},
{
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.4\/docs\/assets\/favicons\/android-chrome-72x72.png",
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.32.0\/docs\/assets\/favicons\/android-chrome-72x72.png",
"sizes": "72x72",
"type": "image\/png",
"density": "1.5"
},
{
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.4\/docs\/assets\/favicons\/android-chrome-96x96.png",
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.32.0\/docs\/assets\/favicons\/android-chrome-96x96.png",
"sizes": "96x96",
"type": "image\/png",
"density": "2.0"
},
{
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.4\/docs\/assets\/favicons\/android-chrome-144x144.png",
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.32.0\/docs\/assets\/favicons\/android-chrome-144x144.png",
"sizes": "144x144",
"type": "image\/png",
"density": "3.0"
},
{
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.30.4\/docs\/assets\/favicons\/android-chrome-192x192.png",
"src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.32.0\/docs\/assets\/favicons\/android-chrome-192x192.png",
"sizes": "192x192",
"type": "image\/png",
"density": "4.0"

View File

@@ -27,6 +27,8 @@
"0.27.10",
"0.28.4",
"0.29.4",
"0.30.4"
"0.30.11",
"0.31.5",
"0.32.0"
]
}

View File

@@ -24,28 +24,40 @@ The following plugins are available and provided by Dokku maintainers. Please f
| Plugin | Author | Compatibility |
| ------------------------------------------------------------------------------------------------- | --------------------- | --------------------- |
| [CouchDB](https://github.com/dokku/dokku-couchdb) | [dokku][] | 0.4.0+ |
| [Elasticsearch](https://github.com/dokku/dokku-elasticsearch-plugin) | [dokku][] | 0.4.0+ |
| [Grafana/Graphite/Statsd](https://github.com/dokku/dokku-graphite-grafana) | [dokku][] | 0.4.0+ |
| [MariaDB](https://github.com/dokku/dokku-mariadb-plugin) | [dokku][] | 0.4.0+ |
| [Memcached](https://github.com/dokku/dokku-memcached-plugin) | [dokku][] | 0.4.0+ |
| [Mongo](https://github.com/dokku/dokku-mongo-plugin) | [dokku][] | 0.4.0+ |
| [MySQL](https://github.com/dokku/dokku-mysql-plugin) | [dokku][] | 0.4.0+ |
| [Nats](https://github.com/dokku/dokku-nats) | [dokku][] | 0.4.0+ |
| [Postgres](https://github.com/dokku/dokku-postgres-plugin) | [dokku][] | 0.4.0+ |
| [RabbitMQ](https://github.com/dokku/dokku-rabbitmq-plugin) | [dokku][] | 0.4.0+ |
| [Redis](https://github.com/dokku/dokku-redis-plugin) | [dokku][] | 0.4.0+ |
| [RethinkDB](https://github.com/dokku/dokku-rethinkdb-plugin) | [dokku][] | 0.4.0+ |
| [Clickhouse](https://github.com/dokku/dokku-clickhouse) | [dokku][] | 0.4.0+ |
| [Copy Files to Image](https://github.com/dokku/dokku-copyfiles-to-image) | [dokku][] | 0.4.0+ |
| [CouchDB](https://github.com/dokku/dokku-couchdb) | [dokku][] | 0.4.0+ |
| [Cron Restart](https://github.com/dokku/dokku-cron-restart) | [dokku][] | 0.30.0+ |
| [Elasticsearch](https://github.com/dokku/dokku-elasticsearch) | [dokku][] | 0.4.0+ |
| [Grafana/Graphite/Statsd](https://github.com/dokku/dokku-graphite) | [dokku][] | 0.4.0+ |
| [HTTP Auth](https://github.com/dokku/dokku-http-auth) | [dokku][] | 0.4.0+ |
| [Let's Encrypt](https://github.com/dokku/dokku-letsencrypt) | [dokku][] | 0.4.0+ |
| [Maintenance mode](https://github.com/dokku/dokku-maintenance) | [dokku][] | 0.4.0+ |
| [MariaDB](https://github.com/dokku/dokku-mariadb) | [dokku][] | 0.4.0+ |
| [Meilisearch](https://github.com/dokku/dokku-meilisearch) | [dokku][] | 0.4.0+ |
| [Memcached](https://github.com/dokku/dokku-memcached) | [dokku][] | 0.4.0+ |
| [Mongo](https://github.com/dokku/dokku-mongo) | [dokku][] | 0.4.0+ |
| [MySQL](https://github.com/dokku/dokku-mysql) | [dokku][] | 0.4.0+ |
| [Nats](https://github.com/dokku/dokku-nats) | [dokku][] | 0.4.0+ |
| [Omnisci](https://github.com/dokku/dokku-omnisci) | [dokku][] | 0.4.0+ |
| [Postgres](https://github.com/dokku/dokku-postgres) | [dokku][] | 0.4.0+ |
| [Pushpin](https://github.com/dokku/dokku-pushpin) | [dokku][] | 0.4.0+ |
| [RabbitMQ](https://github.com/dokku/dokku-rabbitmq) | [dokku][] | 0.4.0+ |
| [Redirect](https://github.com/dokku/dokku-redirect) | [dokku][] | 0.4.0+ |
| [Registry](https://github.com/dokku/dokku-registry) | [dokku][] | 0.12.0+
| [Redis](https://github.com/dokku/dokku-redis) | [dokku][] | 0.4.0+ |
| [Registry](https://github.com/dokku/dokku-registry) | [dokku][] | 0.12.0+ |
| [RethinkDB](https://github.com/dokku/dokku-rethinkdb) | [dokku][] | 0.4.0+ |
| [Scheduler Kubernetes](https://github.com/dokku/dokku-scheduler-kubernetes) | [dokku][] | 0.4.0+ |
| [Scheduler Nomad](https://github.com/dokku/dokku-scheduler-nomad) | [dokku][] | 0.4.0+ |
| [Solr](https://github.com/dokku/dokku-solr) | [dokku][] | 0.4.0+ |
| [SSH Deployment Keys](https://github.com/cedricziel/dokku-deployment-keys) | [dokku][] | 0.4.0+ |
| [SSH Hostkeys](https://github.com/cedricziel/dokku-hostkeys-plugin) | [dokku][] | 0.4.0+ |
| [Typesense](https://github.com/dokku/dokku-typesense) | [dokku][] | 0.4.0+ |
## Community plugins
> Warning: The following plugins have been supplied by our community and may not have been tested by Dokku maintainers.
> [!WARNING]
> The following plugins have been supplied by our community and may not have been tested by Dokku maintainers.
### Datastores
@@ -99,76 +111,47 @@ The following plugins are available and provided by Dokku maintainers. Please f
| Plugin | Author | Compatibility |
| ------------------------------------------------------------------------------------------------- | --------------------- | --------------------- |
| [App name as env](https://github.com/cjblomqvist/dokku-app-name-env) | [cjblomqvist][] | 0.3.x |
| [Docker Direct](https://github.com/josegonzalez/dokku-docker-direct) | [josegonzalez][] | 0.4.0+ |
| [APT](https://github.com/dokku-community/dokku-apt) | [dokku-community][] | 0.18.x+ |
| [Auto Sync](https://github.com/IdeaSynthesis/dokku-autosync)<sup>1</sup> | [fomojola][] | 0.8.1+ |
| [Deploy Webhook](https://github.com/IdeaSynthesis/dokku-deploy-webhook)<sup>2</sup> | [fomojola][] | 0.8.1+ |
| [Docker auto persist volumes](https://github.com/Flink/dokku-docker-auto-volumes) | [flink][] | 0.4.0+ |
| [Docker Direct](https://github.com/dokku-community/dokku-docker-direct) | [josegonzalez][] | 0.4.0+ |
| [Dokku Clone](https://github.com/crisward/dokku-clone) | [crisward][] | 0.4.0+ |
| [Dokku Copy App Config Files](https://github.com/josegonzalez/dokku-supply-config) | [josegonzalez][] | 0.4.0+ |
| [Dockerfile custom path](https://github.com/mimischi/dokku-dockerfile) | [mimischi][] | 0.8.0+ |
| [Dokku Require](https://github.com/crisward/dokku-require)<sup>1</sup> | [crisward][] | 0.4.0+ |
| [Dokku Copy App Config Files](https://github.com/dokku-community/dokku-supply-config) | [josegonzalez][] | 0.4.0+ |
| [Dokku Require](https://github.com/crisward/dokku-require)<sup>3</sup> | [crisward][] | 0.4.0+ |
| [Global Certificates](https://github.com/josegonzalez/dokku-global-cert) | [josegonzalez][] | 0.5.0+ |
| [Graduate (Environment Management)](https://github.com/glassechidna/dokku-graduate) | [benjamin-dobell][] | 0.4.0+ |
| [Haproxy tcp load balancer](https://github.com/256dpi/dokku-haproxy) | [256dpi][] | 0.4.0+ |
| [Host post-build command hook](https://github.com/baikunz/dokku-post-deploy-script) | [baikunz][] | 0.4.0+ |
| [Host pre-build command hook](https://github.com/fteychene/dokku-build-hook) | [fteychene][] | 0.4.0+ |
| [Hostname](https://github.com/michaelshobbs/dokku-hostname) | [michaelshobbs][] | 0.4.0+ |
| [Hostname](https://github.com/michaelshobbs/dokku-hostname) | [michaelshobbs][] | 0.4.0+ |
| [HTTP Auth Secure Apps](https://github.com/matto1990/dokku-secure-apps) | [matto1990][] | 0.4.0+ |
| [Litestream](https://github.com/AxelTheGerman/dokku-litestream)<sup>2</sup> | [AxelTheGerman][] | 0.27.0+ |
| [Litestream](https://github.com/AxelTheGerman/dokku-litestream)<sup>4</sup> | [AxelTheGerman][] | 0.27.0+ |
| [Monit (Health Checks)](https://github.com/mbreit/dokku-monit) | [mbreit][] | 0.8.0+ |
| [Nuke Containers](https://github.com/josegonzalez/dokku-nuke) | [josegonzalez][] | 0.4.0+ |
| [Open App Ports](https://github.com/josegonzalez/dokku-ports) | [josegonzalez][] | 0.3.x |
| [Monit](https://github.com/cjblomqvist/dokku-monit) | [cjblomqvist][] | 0.3.x |
| [Nuke Containers](https://github.com/dokku-community/dokku-nuke) | [josegonzalez][] | 0.4.0+ |
| [Proctype Filter](https://github.com/michaelshobbs/dokku-proctype-filter) | [michaelshobbs][] | 0.4.0+ |
| [robots.txt](https://notabug.org/candlewaster/dokku-robots.txt) | [candlewaster][] | 0.4.x |
| [SSH Deployment Keys](https://github.com/cedricziel/dokku-deployment-keys)<sup>2</sup> | [cedricziel][] | 0.4.0+ |
| [SSH Hostkeys](https://github.com/cedricziel/dokku-hostkeys-plugin)<sup>3</sup> | [cedricziel][] | 0.3.x |
| [Application build hook](https://github.com/fteychene/dokku-build-hook) | [fteychene][] | 0.4.0+ |
| [Post Deploy Script](https://github.com/baikunz/dokku-post-deploy-script) | [baikunz][] | 0.4.0+ |
| [Auto Sync](https://github.com/IdeaSynthesis/dokku-autosync)<sup>4</sup> | [fomojola][] | 0.8.1+ |
| [Deploy Webhook](https://github.com/IdeaSynthesis/dokku-deploy-webhook)<sup>5</sup> | [fomojola][] | 0.8.1+ |
| [Tor](https://github.com/michaelshobbs/dokku-tor) | [michaelshobbs][] | 0.4.0+ |
| [UFW](https://github.com/dokku-community/dokku-ufw) | [josegonzalez][] | 0.3.x |
| [User Access](https://github.com/mainto/dokku-access) | [mainto][] | 0.4.0+ |
| [User ACL](https://github.com/dokku-community/dokku-acl) | [maciej łebkowski][] | 0.4.0+ |
<sup>1</sup> Extends app.json support to include creating volumes and creating / linking databases on push
<sup>1</sup> Adds the ability to sync an application repo with a remote GitHub repo (useful for automated rebuilds without needing a git push from an external system
<sup>2</sup> Adds SQLite replication to external object storage via [Litestream](https://litestream.io)
<sup>2</sup> Adds the ability to invoke a post-deploy webhook with the IP, port and app name, all with a single config:set).
<sup>3</sup> Adds the possibility to add SSH deployment keys to receive private hosted packages
<sup>3</sup> Extends app.json support to include creating volumes and creating / linking databases on push
<sup>4</sup> Adds the ability to add custom hosts to the containers known_hosts file to be able to ssh them easily (useful with deployment keys)
<sup>5</sup> Adds the ability to sync an application repo with a remote GitHub repo (useful for automated rebuilds without needing a git push from an external system
<sup>6</sup> Adds the ability to invoke a post-deploy webhook with the IP, port and app name, all with a single config:set).
<sup>4</sup> Adds SQLite replication to external object storage via [Litestream](https://litestream.io)
### Other Plugins
| Plugin | Author | Compatibility |
| ------------------------------------------------------------------------------------------------- | --------------------- | --------------------- |
| [Airbrake deploy](https://github.com/Flink/dokku-airbrake-deploy) | [flink][] | 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 |
| [Bower/Gulp](https://github.com/jagandecapri/dokku-bower-gulp-build-plugin) | [jagandecapri][] | 0.3.x |
| [Builders: bower, compass, gulp, grunt](https://github.com/ignlg/dokku-builders-plugin) | [ignlg][] | 0.4.0+ |
| [Chef cookbook](https://github.com/nickcharlton/dokku-cookbook) | [nickcharlton][] | |
| [Docker auto persist volumes](https://github.com/Flink/dokku-docker-auto-volumes) | [flink][] | 0.4.0+ |
| [Hostname](https://github.com/michaelshobbs/dokku-hostname) | [michaelshobbs][] | 0.4.0+ |
| [Limit (Resource management)](https://github.com/sarendsen/dokku-limit) | [sarendsen][] | 0.9.0+ |
| [Logspout](https://github.com/michaelshobbs/dokku-logspout) | [michaelshobbs][] | 0.4.0+ |
| [Syslog](https://github.com/michaelshobbs/dokku-syslog) | [michaelshobbs][] | 0.10.4+ |
| [Long Timeout](https://github.com/investtools/dokku-long-timeout-plugin) | [investtools][] | 0.4.0+ |
| [Monit](https://github.com/cjblomqvist/dokku-monit) | [cjblomqvist][] | 0.3.x |
| [Monorepo](https://github.com/iamale/dokku-monorepo) | [iamale][] | 0.4.0+ |
| [Multi Dockerfile](https://github.com/artofrawr/dokku-multi-dockerfile) | [artofrawr][] | 0.4.0+ |
| [Node](https://github.com/ademuk/dokku-nodejs) | [ademuk][] | 0.3.x |
| [Node](https://github.com/pnegahdar/dokku-node) | [pnegahdar][] | 0.3.x |
| [Rollbar](https://github.com/iloveitaly/dokku-rollbar) | [iloveitaly][] | 0.5.0+ |
| [Slack Notifications](https://github.com/ribot/dokku-slack) | [ribot][] | 0.4.0+ |
| [Telegram Notifications](https://github.com/m0rth1um/dokku-telegram) | [m0rth1um][] | 0.4.0+ |
| [Tor](https://github.com/michaelshobbs/dokku-tor) | [michaelshobbs][] | 0.4.0+ |
| [User ACL](https://github.com/dokku-community/dokku-acl) | [maciej łebkowski][] | 0.4.0+ |
| [Webhooks](https://github.com/nickstenning/dokku-webhooks) | [nickstenning][] | 0.3.x |
| [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][] | 0.4.0+ |
| [Dokku Nginx Trust Proxy](https://github.com/kingsquare/dokku-nginx-vhost-trustproxy) | [kingsquare][] | 0.4.0+ |
| [Fonts](https://github.com/ollej/dokku-fonts) | [ollej][] | 0.19.11+ |
| [Discourse](https://github.com/badsyntax/dokku-discourse) | [badsyntax][] | 0.21.4+ |
| [Wordpress](https://github.com/dokku-community/dokku-wordpress) | [dokku-community][] | 0.4.0+ |
### Deprecated Plugins
@@ -176,23 +159,41 @@ The following plugins have been removed as their functionality is now in Dokku C
| Plugin | Author | In Dokku Since |
| ------------------------------------------------------------------------------------------------- | --------------------- | ----------------------------------------- |
| [Airbrake deploy](https://github.com/Flink/dokku-airbrake-deploy) | [flink][] | v0.5.0 (deployment tasks) |
| [App User](https://github.com/michaelshobbs/dokku-app-user) | [michaelshobbs][] | v0.7.1 (herokuish 0.3.18) |
| [Custom Domains](https://github.com/neam/dokku-custom-domains) | [neam][] | v0.3.10 (domains plugin) |
| [Bower/Grunt](https://github.com/thrashr888/dokku-bower-grunt-build-plugin) | [thrashr888][] | v0.5.0 (deployment tasks and .buildpacks) |
| [Bower/Gulp](https://github.com/gdi2290/dokku-bower-gulp-build-plugin) | [gdi2290][] | v0.5.0 (deployment tasks and .buildpacks) |
| [Bower install](https://github.com/alexanderbeletsky/dokku-bower-install) | [alexanderbeletsky][] | v0.5.0 (deployment tasks and .buildpacks) |
| [Bower/Gulp](https://github.com/jagandecapri/dokku-bower-gulp-build-plugin) | [jagandecapri][] | v0.5.0 (deployment tasks and .buildpacks) |
| [Builders: bower, compass, gulp, grunt](https://github.com/ignlg/dokku-builders-plugin) | [ignlg][] | v0.5.0 (deployment tasks and .buildpacks) |
| [Custom Domains](https://github.com/neam/dokku-custom-domains) | [neam][] | v0.3.10 (domains plugin) |
| [Debug](https://github.com/josegonzalez/dokku-debug) | [josegonzalez][] | v0.3.9 (trace command) |
| [Dockerfile custom path](https://github.com/mimischi/dokku-dockerfile) | [mimischi][] | v0.25.0 (monorepo support) |
| [Docker Options](https://github.com/dyson/dokku-docker-options) | [dyson][] | v0.3.17 (docker-options plugin) |
| [Dokku Name](https://github.com/alex-sherwin/dokku-name) | [alex-sherwin][] | v0.4.2 (named containers plugin) |
| [Events Logger](https://github.com/alessio/dokku-events) | [alessio][] | v0.3.21 (events plugin) |
| [Fonts](https://github.com/ollej/dokku-fonts) | [ollej][] | v0.5.0 (deployment tasks) |
| [git rev-parse HEAD in env](https://github.com/dokku-community/dokku-git-rev) | [cjblomqvist][] | v0.12.0 (enhanced core git plugin) |
| [Host Port binding](https://github.com/stuartpb/dokku-bind-port) | [stuartpb][] | v0.3.17 (docker-options plugin) |
| [Link Containers](https://github.com/rlaneve/dokku-link) | [rlaneve][] | v0.3.17 (docker-options plugin) |
| [List Containers](https://github.com/josegonzalez/dokku-list) | [josegonzalez][] | v0.3.14 (ps plugin) |
| [Logspout](https://github.com/michaelshobbs/dokku-logspout) | [michaelshobbs][] | v0.22.6 (vector log shipping) |
| [Long Timeout](https://github.com/investtools/dokku-long-timeout-plugin) | [investtools][] | v0.21.0 (proxy-read-timeout nginx setting)|
| [Monorepo](https://github.com/iamale/dokku-monorepo) | [iamale][] | v0.25.0 (monorepo builder support) |
| [Multi-Buildpack](https://github.com/pauldub/dokku-multi-buildpack) | [pauldub][] | v0.4.0 (herokuish) |
| [Multiple Domains](https://github.com/wmluke/dokku-domains-plugin)<sup>1</sup> | [wmluke][] | v0.3.10 (domains plugin) |
| [Multi Dockerfile](https://github.com/artofrawr/dokku-multi-dockerfile) | [artofrawr][] | v0.25.0 (monorepo support) |
| [Named-containers](https://github.com/Flink/dokku-named-containers) | [flink][] | v0.4.2 (named-containers plugin) |
| [Nginx Trust Proxy](https://github.com/kingsquare/dokku-nginx-vhost-trustproxy) | [kingsquare][] | v0.23.0 (nginx x-forwarded-* properties) |
| [Node](https://github.com/ademuk/dokku-nodejs) | [ademuk][] | v0.5.0 (deployment tasks and .buildpacks) |
| [Node](https://github.com/pnegahdar/dokku-node) | [pnegahdar][] | v0.5.0 (deployment tasks and .buildpacks) |
| [Nginx-Alt](https://github.com/mikexstudios/dokku-nginx-alt) | [mikexstudios][] | v0.3.10 (domains plugin) |
| [Persistent Storage](https://github.com/dyson/dokku-persistent-storage) | [dyson][] | v0.3.17 (docker-options plugin) |
| [Pre-Deploy Tasks](https://github.com/michaelshobbs/dokku-app-predeploy-tasks) | [michaelshobbs][] | v0.5.0 (deployment tasks) |
| [PrimeCache](https://github.com/darkpixel/dokku-prime-cache) | [darkpixel][] | v0.3.0 (zero downtime deploys) |
| [Rollbar](https://github.com/iloveitaly/dokku-rollbar) | [iloveitaly][] | v0.5.0 (deployment tasks) |
| [Syslog](https://github.com/michaelshobbs/dokku-syslog) | [michaelshobbs][] | v0.22.6 (vector log shipping) |
| [Haproxy tcp load balancer](https://github.com/256dpi/dokku-haproxy) | [256dpi][] | v0.28.0 (haproxt plugin) |
| [Process Manager: Circus](https://github.com/apmorton/dokku-circus) | [apmorton][] | v0.3.14/0.7.0 (ps/restart policy plugin) |
| [Process Manager: Forego](https://github.com/Flink/dokku-forego) | [flink][] | v0.3.14/0.7.0 (ps plugin) |
| [Process Manager: Forego](https://github.com/iskandar/dokku-forego) | [iskandar][] | v0.3.14/0.7.0 (ps plugin) |
@@ -202,12 +203,16 @@ The following plugins have been removed as their functionality is now in Dokku C
| [Rebuild application](https://github.com/scottatron/dokku-rebuild) | [scottatron][] | v0.3.14 (ps plugin) |
| [Reset mtime](https://github.com/mixxorz/dokku-docker-reset-mtime) | [mixxorz][] | Docker 1.8+ |
| [Supply env vars to buildpacks](https://github.com/cameron-martin/dokku-build-env)<sup>2</sup> | [cameron-martin][] | v0.3.9 (build-env plugin) |
| [Slack Notifications](https://github.com/ribot/dokku-slack) | [ribot][] | v0.5.0 (deployment tasks) |
| [Telegram Notifications](https://github.com/m0rth1um/dokku-telegram) | [m0rth1um][] | v0.5.0 (deployment tasks) |
| [user-env-compile](https://github.com/motin/dokku-user-env-compile)<sup>2</sup> | [motin][] | v0.3.9 (build-env plugin) |
| [user-env-compile](https://github.com/musicglue/dokku-user-env-compile)<sup>2</sup> | [musicglue][] | v0.3.9 (build-env plugin) |
| [Volume (persistent storage)](https://github.com/ohardy/dokku-volume) | [ohardy][] | v0.5.0 (storage plugin) |
| [Webhooks](https://github.com/nickstenning/dokku-webhooks) | [nickstenning][] | v0.5.0 (deployment tasks) |
| [Wkhtmltopdf](https://github.com/mbriskar/dokku-wkhtmltopdf) | [mbriskar][] | v0.5.0 (deployment tasks) |
<sup>1</sup> Conflicts with [VHOSTS Custom Configuration](https://github.com/neam/dokku-nginx-vhosts-custom-configuration)
<sup>2</sup> Similar to the heroku-labs feature (see https://devcenter.heroku.com/articles/labs-user-env-compile)
<sup>2</sup> Similar to the [heroku-labs feature](https://devcenter.heroku.com/articles/labs-user-env-compile)
### Unmaintained Plugins
@@ -231,9 +236,9 @@ The following plugins are no longer maintained by their developers.
| [Neo4j](https://github.com/Aomitayo/dokku-neo4j-plugin) | [aomitayo][] | |
| [PostGIS](https://github.com/fermuch/dokku-pg-plugin) | [fermuch][] | |
| [PostgreSQL (single container)](https://github.com/jeffutter/dokku-postgresql-plugin) | [jeffutter][] | This plugin creates a single postgresql container that all your apps can use. Thus only one instance of postgresql running (good for servers without a ton of memory). |
| [RiakCS (single container)](https://github.com/jeffutter/dokku-riakcs-plugin) | [jeffutter][] | Incompatible with 0.2.0 |
| [Redis](https://github.com/luxifer/dokku-redis-plugin) | [luxifer][] | |
| [Redis](https://github.com/sekjun9878/dokku-redis-plugin) | [sekjun9878][] | 0.3.26+ |
| [RiakCS (single container)](https://github.com/jeffutter/dokku-riakcs-plugin) | [jeffutter][] | Incompatible with 0.2.0 |
<sup>1</sup> Forked from [jezdez/dokku-elasticsearch-plugin](https://github.com/jezdez/dokku-elasticsearch-plugin): uses Elasticsearch 1.2 (instead of 0.90), doesn't depend on dokku-link, runs as elasticsearch user instead of root, and turns off multicast autodiscovery for use in a VPS environment.
@@ -316,7 +321,6 @@ The following plugins are no longer maintained by their developers.
[wmluke]: https://github.com/wmluke
[zenedith]: https://github.com/zenedith
[fteychene]: https://github.com/fteychene
[sarendsen]: https://github.com/sarendsen
[baikunz]: https://github.com/baikunz
[lazyatom]: https://github.com/lazyatom
[ollej]: https://github.com/ollej

View File

@@ -1,5 +1,6 @@
# Domain Configuration
> [!IMPORTANT]
> New as of 0.3.10
```
@@ -65,6 +66,7 @@ dokku domains:set node-js-app dokku.me dokku.org
## Displaying domains reports for an app
> [!IMPORTANT]
> New as of 0.8.1
You can get a report about the app's domains status using the `domains:report` command:

View File

@@ -14,13 +14,15 @@ config:keys (<app>|--global) [--merged]
config:set [--encoded] [--no-restart] (<app>|--global) KEY1=VALUE1 [KEY2=VALUE2 ...] Set one or more config vars
config:unset [--no-restart] (<app>|--global) KEY1 [KEY2 ...] Unset one or more config vars
```
> For security reasons - and as per [docker recommendations](https://github.com/docker/docker/issues/13490) - Dockerfile-based deploys have variables available _only_ during runtime, as noted in [this issue](https://github.com/dokku/dokku/issues/1860). Consider using [build arguments](/docs/deployment/builders/dockerfiles.md#build-time-configuration-variables) to expose variables during build-time for Dockerfile apps.
Environment variables are available both at run time and during the application build/compilation step for buildpack-based deploys.
For buildpack deploys, Dokku will create a `/app/.env` file that can be used for legacy buildpacks. Note that this is _not_ updated when `config:set` or `config:unset` is called, and is only written during a `deploy` or `ps:rebuild`. Developers are encouraged to instead read from the application environment directly, as the proper values will be available then.
> Note: Global `ENV` files are sourced before app-specific `ENV` files. This means that app-specific variables will take precedence over global variables. Configuring your global `ENV` file is manual, and should be considered potentially dangerous as configuration applies to all applications.
> [!NOTE]
> Global `ENV` files are sourced before app-specific `ENV` files. This means that app-specific variables will take precedence over global variables. Configuring your global `ENV` file is manual, and should be considered potentially dangerous as configuration applies to all applications.
You can set multiple environment variables at once:
@@ -28,7 +30,8 @@ You can set multiple environment variables at once:
dokku config:set node-js-app ENV=prod COMPILE_ASSETS=1
```
> Note: Whitespace and special characters get tricky. If you are using dokku locally you don't need to do any special escaping. If you are using dokku over ssh you will need to backslash-escape spaces:
Whitespace and special characters get tricky. If you are using dokku locally you don't need to do any special escaping. If you are using dokku over ssh you will need to backslash-escape spaces:
```shell
dokku config:set node-js-app KEY="VAL\ WITH\ SPACES"
```
@@ -58,8 +61,7 @@ dokku config:export node-js-app
eval $(dokku config:export node-js-app)
```
You can control the format of the exported variables with the `--format` flag.
`--format=shell` will output the variables in a single-line for usage in command-line utilities:
You can control the format of the exported variables with the `--format` flag. `--format=shell` will output the variables in a single-line for usage in command-line utilities:
```shell
dokku config:export --format shell node-js-app
@@ -73,7 +75,8 @@ dokku config:export --format shell node-js-app
The following config variables have special meanings and can be set in a variety of ways. Unless specified via global app config, the values may not be passed into applications. Usage of these values within applications should be considered unsafe, as they are an internal configuration values that may be moved to the internal properties system in the future.
> Warning: This list is not exhaustive, and may vary from version to version.
> [!WARNING]
> This list is not exhaustive, and may vary from version to version.
| Name | Default | How to modify | Description |
| ------------------------------ | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------- |
@@ -111,12 +114,10 @@ The following config variables have special meanings and can be set in a variety
| `DOKKU_DISABLE_APP_AUTOCREATION` | none | `dokku config:set` | Disables automatic creation of a non-existent app on deploy. |
| `DOKKU_DOCKER_STOP_TIMEOUT` | `10` | `dokku config:set` | Configurable grace period given to the `docker stop` command. If a container has not stopped by this time, a `kill -9` signal or equivalent is sent in order to force-terminate the container. Both the `ps:stop` and `apps:destroy` commands _also_ respect this value. If not specified, the docker defaults for the [docker stop command](https://docs.docker.com/engine/reference/commandline/stop/) will be used.|
| `DOKKU_DOCKERFILE_CACHE_BUILD` | none | `dokku config:set` | |
| `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 | `/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` | |

View File

@@ -1,5 +1,6 @@
# SSL Configuration
> [!IMPORTANT]
> New as of 0.4.0
Dokku supports SSL/TLS certificate inspection and CSR/Self-signed certificate generation via the `certs` plugin. Note that whenever SSL/TLS support is enabled SPDY is also enabled.
@@ -33,7 +34,8 @@ tar cvf cert-key.tar server.crt server.key
dokku certs:add node-js-app < cert-key.tar
```
> Note: If your `.crt` file came alongside a `.ca-bundle`, you'll want to concatenate those into a single `.crt` file before adding it to the `.tar`.
> [!NOTE]
> If your `.crt` file came alongside a `.ca-bundle`, you'll want to concatenate those into a single `.crt` file before adding it to the `.tar`.
```shell
cat yourdomain_com.crt yourdomain_com.ca-bundle > server.crt
@@ -47,7 +49,8 @@ Note that with the default nginx template, requests will be redirected to the `h
### Certificate generation
> Note: Using this method will create a self-signed certificate, which is only recommended for development or staging use, not production environments.
> [!NOTE]
> Using this method will create a self-signed certificate, which is only recommended for development or staging use, not production environments.
The `certs:generate` command will walk you through the correct `openssl` commands to create a key, csr and a self-signed cert for a given app/domain. We automatically put the self-signed cert in place as well as add the specified domain to the application configuration.
@@ -69,6 +72,7 @@ dokku certs:show node-js-app key > server.key
### Displaying certificate reports for an app
> [!IMPORTANT]
> New as of 0.8.1
You can get a report about the apps ssl status using the `certs:report` command:
@@ -132,37 +136,12 @@ See the [NGINX HSTS documentation](/docs/networking/proxies/nginx.md#hsts-header
Certain versions of nginx have bugs that prevent [HTTP/2](https://nginx.org/en/docs/http/ngx_http_v2_module.html) from properly responding to all clients, thus causing applications to be unavailable. For HTTP/2 to be enabled in your applications' nginx configs, you need to have installed nginx 1.11.5 or higher. See [issue 2435](https://github.com/dokku/dokku/issues/2435) for more details.
## Running behind a load balancer
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 via `nginx:set`:
```shell
dokku nginx:set node-js-app x-forwarded-for-value "\$http_x_forwarded_for"
dokku nginx:set node-js-app x-forwarded-port-value "\$http_x_forwarded_port"
dokku nginx:set node-js-app x-forwarded-proto-value "\$http_x_forwarded_proto"
```
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.
The `x-forwarded-ssl` property may also be set for application frameworks that require this value. Note that this is a non-standard version of setting `x-forwarded-proto` to `https`, and should only be done as a last resort.
```shell
# force-setting value to `on`
dokku nginx:set node-js-app x-forwarded-ssl on
# force-setting value to `off`
dokku nginx:set node-js-app x-forwarded-ssl on
# removing the value from nginx.conf (default)
dokku nginx:set node-js-app x-forwarded-ssl
```
### SSL Port Exposure
When your app is served from port `80` then the `/home/dokku/APP/nginx.conf` file will automatically be updated to instruct nginx to respond to ssl on port 443 as a new cert is added. If your app uses a non-standard port (perhaps you have a dockerfile deploy exposing port `99999`) you may need to manually expose an ssl port via `dokku proxy:ports-add <APP> https:443:99999`.
When your app is served from port `80` then the `/home/dokku/APP/nginx.conf` file will automatically be updated to instruct nginx to respond to ssl on port 443 as a new cert is added. If your app uses a non-standard port (perhaps you have a dockerfile deploy exposing port `99999`) you may need to manually expose an ssl port via `dokku ports:add <APP> https:443:99999`.
## Other
### Running behind a proxy (`X-Forwarded-Ssl`, etc.)
See the [running behind another proxy documentation](/docs/networking/proxies/nginx.md#running-behind-another-proxy--configuring-x-forwarded--headers) for more information on how to configure your Nginx config when your server is running behind a proxy (e.g. load balancer, etc.).

View File

@@ -1,6 +1,7 @@
# Deploying an Application
> Note: This walkthrough uses the hostname `dokku.me` in commands. When deploying to your own server, you should substitute the domain `dokku.me` for the domain name or IP address associated with your server. Users of the Vagrant VM included with Dokku can use `dokku.me` which points to the IP of the VM.
> [!NOTE]
> This walkthrough uses the hostname `dokku.me` in commands. When deploying to your own server, you should substitute the domain `dokku.me` for the domain name or IP address associated with your server. Users of the Vagrant VM included with Dokku can use `dokku.me` which points to the IP of the VM.
## Deploy tutorial
@@ -8,7 +9,6 @@ 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 https://github.com/heroku/ruby-getting-started
```
@@ -53,7 +53,8 @@ Dokku supports linking a single service to multiple applications as well as link
### Deploy the app
> Warning: Your app should respect the `PORT` environment variable, otherwise it may not respond to web requests. You can find more information in the [port management documentation](/docs/networking/port-management.md).**
> [!WARNING]
> Your app should respect the `PORT` environment variable, otherwise it may not respond to web requests. You can find more information in the [port management documentation](/docs/networking/port-management.md).**
Now you can deploy the `ruby-getting-started` app to your Dokku server. All you have to do is add a remote to name the app. Applications are created on-the-fly on the Dokku server.
@@ -62,16 +63,18 @@ Now you can deploy the `ruby-getting-started` app to your Dokku server. All you
# the remote username *must* be dokku or pushes will fail
cd ruby-getting-started
git remote add dokku dokku@dokku.me:ruby-getting-started
git push dokku main:master
git push dokku main
```
> Note: Some tools may not support the short-upstream syntax referenced above, and you may need to prefix
> [!NOTE]
> Some tools may not support the short-upstream syntax referenced above, and you may need to prefix
> the upstream with the scheme `ssh://` like so: `ssh://dokku@dokku.me:ruby-getting-started`
> Please see the [Git](https://git-scm.com/docs/git-clone#_git_urls_a_id_urls_a) documentation for more details.
> Note: Your private key should be registered with `ssh-agent` in your local development environment. If you get a `permission denied` error when pushing, you can register your private key as follows: `ssh-add -k ~/<your private key>`.
> [!NOTE]
> Your private key should be registered with `ssh-agent` in your local development environment. If you get a `permission denied` error when pushing, you can register your private key as follows: `ssh-add -k ~/<your private key>`.
After running `git push dokku main:master`, you should have output similar to this in your terminal:
After running `git push dokku main`, you should have output similar to this in your terminal:
```
Counting objects: 231, done.
@@ -103,7 +106,7 @@ Once the deploy is complete, the application's web URL will be generated as abov
Dokku supports deploying applications in a few ways:
- [Heroku buildpacks](https://devcenter.heroku.com/articles/buildpacks) via [Herokuish](https://github.com/gliderlabs/herokuish#buildpacks): See the [herokuish buildpacks documentation](/docs/deployment/builders/herokuish-buildpacks.md) to learn about the different ways to specify a buildpack.
- This is the default method used by Dokku.
- This is the default method used by Dokku.
- [Dockerfile](https://docs.docker.com/reference/builder/): See the [dockerfile documentation](/docs/deployment/builders/dockerfiles.md) to learn about the different ways to configure Dockerfile-based deploys.
- [Docker Image](https://docs.docker.com/get-started/overview/#docker-objects): See the [docker image documentation](/docs/deployment/methods/git.md#initializing-an-app-repository-from-a-docker-image) to learn about how to deploy a Docker Image.
@@ -149,7 +152,7 @@ dokku config:set ruby-getting-started DOKKU_SKIP_DEPLOY=true
### Redeploying or restarting
If you need to redeploy or restart your app:
If you need to redeploy or restart your app:
```shell
# on the Dokku host
@@ -169,7 +172,8 @@ ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
ssh -T git@github.com
```
> Warning: if the buildpack or Dockerfile build process require SSH key access for other reasons, the above may not always apply.
> [!WARNING]
> if the buildpack or Dockerfile build process require SSH key access for other reasons, the above may not always apply.
## Deploying to subdomains
@@ -180,7 +184,7 @@ If you do not enter a fully qualified domain name when pushing your app, Dokku d
# the remote username *must* be dokku or pushes will fail
# the below example assumes your app server domain or IP is dokku.me. Push in the form of: dokku@{serveripordomain}:{dokkuappname}
git remote add dokku dokku@dokku.me:ruby-getting-started
git push dokku main:master
git push dokku main
```
```
@@ -194,7 +198,7 @@ You can also specify the fully qualified name as follows:
# from your local machine
# the remote username *must* be dokku or pushes will fail
git remote add dokku dokku@dokku.me:app.dokku.me
git push dokku main:master
git push dokku main
```
```
@@ -208,7 +212,7 @@ This is useful when you want to deploy to the root domain:
# from your local machine
# the remote username *must* be dokku or pushes will fail
git remote add dokku dokku@dokku.me:dokku.me
git push dokku main:master
git push dokku main
```
```

View File

@@ -1,5 +1,6 @@
# Application Management
> [!IMPORTANT]
> New as of 0.3.1
```
@@ -19,6 +20,7 @@ apps:unlock <app> # Unlocks an app for deployment
### Listing applications
> [!IMPORTANT]
> New as of 0.8.1. Use the `apps` command for older versions.
You can easily list all available applications using the `apps:list` command:
@@ -117,6 +119,7 @@ Destroying an application will unlink all linked services and destroy any config
### Renaming a deployed app
> [!IMPORTANT]
> New as of 0.4.7
You can rename a deployed app using the `apps:rename` command. Note that the application *must* have been deployed at least once, or the rename will not complete successfully:
@@ -150,7 +153,7 @@ By default, Dokku will deploy the renamed app, though you can skip the deploy by
dokku apps:rename --skip-deploy node-js-app io-js-app
```
Remember to also change your git remote on your local machine in order to make `git push dokku main:master` work again. For this you can use `git remote set-url`.
Remember to also change your git remote on your local machine in order to make `git push dokku main` work again. For this you can use `git remote set-url`.
```shell
git remote set-url dokku dokku@dokku.me:io-js-app
@@ -158,6 +161,7 @@ git remote set-url dokku dokku@dokku.me:io-js-app
### Cloning an existing app
> [!IMPORTANT]
> New as of 0.11.5
You can clone an existing app using the `apps:clone` command. Note that the application *must* have been deployed at least once, or cloning will not complete successfully:
@@ -177,7 +181,8 @@ This will copy all of your app's contents into a new app directory with the name
- SSL certificates will not be copied to the new app.
- Port mappings with the scheme `https` and host-port `443` will be skipped.
> 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.
> [!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 app, though you can skip the deploy by using the `--skip-deploy` flag:
@@ -193,6 +198,7 @@ dokku apps:clone --ignore-existing node-js-app io-js-app
### Locking app deploys
> [!IMPORTANT]
> New as of 0.11.6
If you wish to disable deploying for a period of time, this can be done via deploy locks. Normally, deploy locks exist only for the duration of a deploy so as to avoid deploys from colliding, but a deploy lock can be created by running the `apps:lock` command.
@@ -207,11 +213,13 @@ dokku apps:lock node-js-app
### Unlocking app deploys
> [!IMPORTANT]
> New as of 0.11.6
In some cases, it may be necessary to remove an existing deploy lock. This can be performed via the `apps:unlock` command.
> Warning: Removing the deploy lock *will not* stop in progress deploys. At this time, in progress deploys will need to be manually terminated by someone with server access.
> [!WARNING]
> Removing the deploy lock *will not* stop in progress deploys. At this time, in progress deploys will need to be manually terminated by someone with server access.
```shell
dokku apps:unlock node-js-app
@@ -225,6 +233,7 @@ dokku apps:unlock node-js-app
### Checking lock status
> [!IMPORTANT]
> New as of 0.13.0
In some cases, you may wish to inspect the state of an app lock. To do so, you can issue an `apps:lock` command. This will exit non-zero if there is no app lock in place.
@@ -239,6 +248,7 @@ Deploy lock does not exist
### Displaying reports for an app
> [!IMPORTANT]
> New as of 0.8.1
You can get a report about the deployed apps using the `apps:report` command:

View File

@@ -1,5 +1,6 @@
# Builder Management
> [!IMPORTANT]
> New as of 0.24.0
```
@@ -51,7 +52,8 @@ dokku builder:set --global selected
#### Changing the build directory
> Warning: Please keep in mind that setting a custom build directory will result in loss of any changes to the top-level directory, such as the `git.keep-git-dir` property.
> [!WARNING]
> Please keep in mind that setting a custom build directory will result in loss of any changes to the top-level directory, such as the `git.keep-git-dir` property.
When deploying a monorepo, it may be desirable to specify the specific build directory to use for a given app. This can be done via the `builder:set` command. If a value is specified and that directory does not exist within the repository, the build will fail.
@@ -131,14 +133,14 @@ dokku builder:report node-js-app --builder-selected
To create a custom builder, the following triggers must be implemented:
- `builder-build`:
- arguments: `BUILDER_TYPE` `APP` `SOURCECODE_WORK_DIR`
- description: Creates a docker image named with the output of `common#get_app_image_name $APP`.
- arguments: `BUILDER_TYPE` `APP` `SOURCECODE_WORK_DIR`
- description: Creates a docker image named with the output of `common#get_app_image_name $APP`.
- `builder-detect`:
- arguments: `APP` `SOURCECODE_WORK_DIR`
- description: Outputs the name of the builder (without the `builder-` prefix) to use to build the app.
- arguments: `APP` `SOURCECODE_WORK_DIR`
- description: Outputs the name of the builder (without the `builder-` prefix) to use to build the app.
- `builder-release`:
- arguments: `BUILDER_TYPE` `APP` `IMAGE_AG`
- description: A post-build, pre-release trigger that can be used to post-process the image. Usually simply tags and labels the image appropriately.
- arguments: `BUILDER_TYPE` `APP` `IMAGE_AG`
- description: A post-build, pre-release trigger that can be used to post-process the image. Usually simply tags and labels the image appropriately.
Custom plugins names _must_ have the prefix `builder-` or builder overriding via `builder:set` may not function as expected.

View File

@@ -1,5 +1,6 @@
# Cloud Native Buildpacks
> [!IMPORTANT]
> New as of 0.22.0
```
@@ -13,7 +14,8 @@ buildpacks:set-property [--global|<app>] <key> <value> # Set or clear a buildpa
Cloud Native Buildpacks are an evolution over the Buildpacks technology provided by the Herokuish builder. See the [herokuish buildpacks documentation](/docs/deployment/builders/herokuish-buildpacks.md) for more information on how to clear buildpack build cache for an application.
> Warning: This functionality uses the `pack` cli from the [Cloud Native Buildpacks](https://buildpacks.io) project to build apps. As the integration is experimental in Dokku, it is likely to change over time.
> [!WARNING]
> This functionality uses the `pack` cli from the [Cloud Native Buildpacks](https://buildpacks.io) project to build apps. As the integration is experimental in Dokku, it is likely to change over time.
## Usage
@@ -28,25 +30,27 @@ Builds will proceed with the `pack` cli for the app from then on.
As this functionality is highly experimental, there are a number of caveats. Please note that not all issuesare listed below.
- Specifying specific buildpacks is not currently possible.
- A future release will add support for specifying buildpacks via the `buildpacks` plugin.
- A future release will add support for specifying buildpacks via the `buildpacks` plugin.
- There is currently no way to specify extra arguments for `pack` cli invocations.
- A future release will add support for injecting extra arguments during the build process.
- A future release will add support for injecting extra arguments during the build process.
- The default process type is `web`.
- Build cache is stored in Docker volumes instead of on disk. As such, `repo:purge-cache` currently has no effect.
- A future version will add integration with the `repo` plugin.
- A future version will add integration with the `repo` plugin.
- `pack` is not currently included with Dokku, nor is it added as a package dependency.
- A future version will include it as a package dependency.
- A future version will include it as a package dependency.
### Detection
This builder will be auto-detected in either the following cases:
- The `DOKKU_CNB_EXPERIMENTAL` app environment variable is set to `1`.
```shell
dokku config:set --no-restart node-js-app DOKKU_CNB_EXPERIMENTAL=1
```
```shell
dokku config:set --no-restart node-js-app DOKKU_CNB_EXPERIMENTAL=1
```
- A `project.toml` file exists in the root of the app repository.
- This file is consumed by `pack-cli` and used to describe how the app is built.
- This file is consumed by `pack-cli` and used to describe how the app is built.
The builder can also be specified via the `builder:set` command:
@@ -60,8 +64,10 @@ dokku builder:set node-js-app selected pack
When deploying a monorepo, it may be desirable to specify the specific path of the `project.toml` file to use for a given app. This can be done via the `builder-pack:set` command. If a value other than `project.toml` is specified and that file does not exist in the app's build directory, Dokku will continue the build process as if the repository has no `project.toml`.
For deploys via the `git:from-image` and `git:load-image` commands, the `project.toml` is extracted from the configured `WORKDIR` property of the image. For all other deploys - git push, `git:from-archive`, `git:sync` - will have the `project.toml` extracted directly from the source code. Both cases will respect the configured `projecttoml-path` property value.
```shell
dokku builder-pack:set node-js-app projecttoml-path project2.toml
dokku builder-pack:set node-js-app projecttoml-path .dokku/project.toml
```
The default value may be set by passing an empty value for the option:
@@ -84,6 +90,7 @@ dokku builder-pack:set --global projecttoml-path
### Displaying builder-pack reports for an app
> [!IMPORTANT]
> New as of 0.25.0
You can get a report about the app's storage status using the `builder-pack:report` command:
@@ -132,9 +139,10 @@ project2.toml
### Customizing the Buildpack stack builder
> [!IMPORTANT]
> New as of 0.23.0
The default stack builder in use by CNB buildpacks in Dokku is based on `heroku/buildpacks`. Users may desire to switch the stack builder to a custom version, either to update the operating system or to customize packages included with the stack builder. This can be performed via the `buildpacks:set-property` command.
The default stack builder in use by CNB buildpacks in Dokku is based on `heroku/builder:22`. Users may desire to switch the stack builder to a custom version, either to update the operating system or to customize packages included with the stack builder. This can be performed via the `buildpacks:set-property` command.
```shell
dokku buildpacks:set-property node-js-app stack paketobuildpacks/build:base-cnb
@@ -148,7 +156,7 @@ dokku buildpacks:set-property node-js-app stack
A change in the stack builder value will execute the `post-stack-set` trigger.
Finally, stack builders can be set or unset globally as a fallback. This will take precedence over a globally set `DOKKU_CNB_BUILDER` environment variable (`heroku/buildpacks` by default).
Finally, stack builders can be set or unset globally as a fallback. This will take precedence over a globally set `DOKKU_CNB_BUILDER` environment variable (`heroku/builder:22` by default).
```shell
# set globally
@@ -157,3 +165,7 @@ dokku buildpacks:set-property --global stack paketobuildpacks/build:base-cnb
# unset globally
dokku buildpacks:set-property --global stack
```
### Specifying commands via Procfile
See the [Procfile documentation](/docs/processes/process-management.md#procfile) for more information on how to specify different processes for your app.

View File

@@ -1,5 +1,6 @@
# Dockerfile Deployment
> [!IMPORTANT]
> New as of 0.3.15
```
@@ -26,10 +27,10 @@ Dokku will only select the `dockerfile` builder if both the `herokuish` and `pac
### Switching from buildpack deployments
If an application was previously deployed via buildpacks, the following commands should be run before a Dockerfile deploy will succeed:
If an application was previously deployed via buildpacks and ports were customized, the following commands should be run prior to a deploy to ensure the Dockerfile ports are respected:
```shell
dokku config:unset --no-restart node-js-app DOKKU_PROXY_PORT_MAP
dokku ports:clear node-js-app
```
### Changing the `Dockerfile` location
@@ -38,6 +39,8 @@ dokku config:unset --no-restart node-js-app DOKKU_PROXY_PORT_MAP
When deploying a monorepo, it may be desirable to specify the specific path of the `Dockerfile` file to use for a given app. This can be done via the `builder-dockerfile:set` command. If a value is specified and that file does not exist in the app's build directory, then the build will fail.
For git push, `git:from-archive`, and `git:sync` workflows, the `Dockerfile` is extracted directly from the source code, respecting the configured `dockerfile-path` property value.
```shell
dokku builder-dockerfile:set node-js-app dockerfile-path Dockerfile2
```
@@ -62,6 +65,7 @@ dokku builder-dockerfile:set --global dockerfile-path
### Displaying builder-dockerfile reports for an app
> [!IMPORTANT]
> New as of 0.25.0
You can get a report about the app's storage status using the `builder-dockerfile:report` command:
@@ -112,10 +116,10 @@ Dockerfile2
For security reasons - and as per [Docker recommendations](https://github.com/docker/docker/issues/13490) - Dockerfile-based deploys have variables available only during runtime.
For users that require customization in the `build` phase, you may use build arguments via the [docker-options plugin](/docs/advanced-usage/docker-options.md):
For users that require customization in the `build` phase, you may use build arguments via the [docker-options plugin](/docs/advanced-usage/docker-options.md). All environment variables set by the `config` plugin are automatically exported during a docker build, and thus `--build-arg` only requires setting a key without a value.
```shell
dokku docker-options:add node-js-app build '--build-arg NODE_ENV=production'
dokku docker-options:add node-js-app build '--build-arg NODE_ENV'
```
Once set, the Dockerfile usage would be as follows:
@@ -148,18 +152,18 @@ ENV NODE_ENV ${NODE_ENV}
RUN echo $NODE_ENV
```
### Building images with Docker Buildkit
### Building images with Docker BuildKit
If your Dockerfile is using Docker engine's [buildkit](https://docs.docker.com/develop/develop-images/build_enhancements/) (not to be confused with buildpacks), then the `DOCKER_BUILDKIT=1` environment variable needs to be set. Additionally, complete build log output can be forced via `BUILDKIT_PROGRESS=plain`. Both of these environment variables can be set as follows:
If your Dockerfile is using Docker Engine's [BuildKit](https://docs.docker.com/develop/develop-images/build_enhancements/) (not to be confused with buildpacks), then the `DOCKER_BUILDKIT=1` environment variable needs to be set (unless you're using Docker Engine v24 or higher, which [uses BuildKit by default](https://docs.docker.com/build/buildkit/#getting-started)). Additionally, complete build log output can be forced via `BUILDKIT_PROGRESS=plain`. Both of these environment variables can be set as follows:
```shell
echo "export DOCKER_BUILDKIT=1" | sudo tee -a /etc/default/dokku
echo "export BUILDKIT_PROGRESS=plain" | sudo tee -a /etc/default/dokku
```
#### Buildkit directory caching
#### BuildKit directory caching
Buildkit implements the `RUN --mount` option, enabling mount directory caches for `RUN` directives. The following is an example that mounts debian packaging related directories, which can speed up fetching of remote package data.
BuildKit implements the `RUN --mount` option, enabling mount directory caches for `RUN` directives. The following is an example that mounts debian packaging related directories, which can speed up fetching of remote package data.
```Dockerfile
FROM debian:latest
@@ -194,34 +198,10 @@ Setting `$DOKKU_DOCKERFILE_CACHE_BUILD` to `true` or `false` will enable or disa
### Procfiles and multiple processes
> [!IMPORTANT]
> New as of 0.5.0
You can also customize the run command using a `Procfile`, much like you would on Heroku or
with a buildpack deployed app. The `Procfile` should contain one or more lines defining [process types and associated commands](https://devcenter.heroku.com/articles/procfile#declaring-process-types).
When you deploy your app, a Docker image will be built. The `Procfile` will be extracted from the image
(it must be in the folder defined in your `Dockerfile` as `WORKDIR` or `/app`) and the commands
in it will be passed to `docker run` to start your process(es). Here's an example `Procfile`:
```Procfile
web: bin/run-prod.sh
worker: bin/run-worker.sh
```
And `Dockerfile`:
```Dockerfile
FROM ubuntu:20.04
WORKDIR /app
COPY . ./
CMD ["bin/run-dev.sh"]
```
When you deploy this app the `web` process will automatically be scaled to 1 and your Docker container
will be started basically using the command `docker run bin/run-prod.sh`. If you want to also run
a worker container for this app, you can run `dokku ps:scale worker=1` and a new container will be
started by running `docker run bin/run-worker.sh` (the actual `docker run` commands are a bit more
complex, but this is the basic idea). If you use an `ENTRYPOINT` in your `Dockerfile`, the lines
in your `Procfile` will be passed as arguments to the `ENTRYPOINT` script instead of being executed.
See the [Procfile documentation](/docs/processes/process-management.md#procfile) for more information on how to specify different processes for your app.
### Exposed ports

View File

@@ -1,5 +1,6 @@
# Herokuish Buildpacks
> [!IMPORTANT]
> Subcommands new as of 0.15.0
```
@@ -17,14 +18,15 @@ builder-herokuish:report [<app>] [<flag>] # Displays a builder-herokuish repor
builder-herokuish:set <app> <key> (<value>) # Set or clear a builder-herokuish property for an app
```
> Warning: If using the `buildpacks` plugin, be sure to unset any `BUILDPACK_URL` and remove any such entries from a committed `.env` file. A specified `BUILDPACK_URL` will always override a `.buildpacks` file or the buildpacks plugin.
> [!WARNING]
> If using the `buildpacks` plugin, be sure to unset any `BUILDPACK_URL` and remove any such entries from a committed `.env` file. A specified `BUILDPACK_URL` will always override a `.buildpacks` file or the buildpacks plugin.
Dokku normally defaults to using [Heroku buildpacks](https://devcenter.heroku.com/articles/buildpacks) for deployment, though this may be overridden by committing a valid `Dockerfile` to the root of your repository and pushing the repository to your Dokku installation. To avoid this automatic `Dockerfile` deployment detection, you may do one of the following:
- Set a `BUILDPACK_URL` environment variable
- This can be done via `dokku config:set` or via a committed `.env` file in the root of the repository. See the [environment variable documentation](/docs/configuration/environment-variables.md) for more details.
- This can be done via `dokku config:set` or via a committed `.env` file in the root of the repository. See the [environment variable documentation](/docs/configuration/environment-variables.md) for more details.
- Create a `.buildpacks` file in the root of your repository.
- This can be via a committed `.buildpacks` file or managed via the `buildpacks` plugin commands.
- This can be via a committed `.buildpacks` file or managed via the `buildpacks` plugin commands.
This page will cover usage of the `buildpacks` plugin.
@@ -35,9 +37,9 @@ This page will cover usage of the `buildpacks` plugin.
This builder will be auto-detected in either the following cases:
- The `BUILDPACK_URL` app environment variable is set.
- This can be done via `dokku config:set` or via a committed `.env` file in the root of the repository. See the [environment variable documentation](/docs/configuration/environment-variables.md) for more details.
- This can be done via `dokku config:set` or via a committed `.env` file in the root of the repository. See the [environment variable documentation](/docs/configuration/environment-variables.md) for more details.
- A `.buildpacks` file exists in the root of the app repository.
- This can be via a committed `.buildpacks` file or managed via the `buildpacks` plugin commands.
- This can be via a committed `.buildpacks` file or managed via the `buildpacks` plugin commands.
The builder can also be specified via the `builder:set` command:
@@ -147,6 +149,7 @@ dokku buildpacks:clear node-js-app
### Customizing the Buildpack stack builder
> [!IMPORTANT]
> New as of 0.23.0
The default stack builder in use by Herokuish buildpacks in Dokku is based on `gliderlabs/herokuish:latest`. Typically, this is installed via an OS package which pulls the requisite Docker image. Users may desire to switch the stack builder to a custom version, either to update the operating system or to customize packages included with the stack builder. This can be performed via the `buildpacks:set-property` command.
@@ -163,7 +166,7 @@ dokku buildpacks:set-property node-js-app stack
A change in the stack builder value will execute the `post-stack-set` trigger.
Finally, stack builders can be set or unset globally as a fallback. This will take precedence over a globally set `DOKKU_IMAGE` environment variable (`gliderlabs/herokuish:latest-20` by default).
Finally, stack builders can be set or unset globally as a fallback. This will take precedence over a globally set `DOKKU_IMAGE` environment variable (`gliderlabs/herokuish:latest-22` by default).
```shell
# set globally
@@ -175,9 +178,10 @@ dokku buildpacks:set-property --global stack
### Allowing herokuish for non-amd64 platforms
> [!IMPORTANT]
> New as of 0.29.0
By default, the builder-herokuish plugin is not enabled for non-amd64 platforms, and attempting to use it is blocked. This is because the majority of buildpacks are not cross-platform compatible, and thus building apps will either be considerably slower - due to emulating the amd64 platform - or won't work - due to building amd64 packages on arm/arm64 platforms.
By default, the builder-herokuish plugin is not enabled for non-amd64 platforms, and attempting to use it is blocked. This is because the majority of buildpacks are not cross-platform compatible, and thus building apps will either be considerably slower - due to emulating the amd64 platform - or won't work - due to building amd64 packages on arm64 platforms.
To force-enable herokuish on non-amd64 platforms, the `allowed` property can be set via `builder-herokuish:set`. The default value depends on the host platform architecture (`true` on amd64, `false` otherwise).
@@ -213,18 +217,18 @@ dokku buildpacks:report
```
=====> node-js-app buildpacks information
Buildpacks computed stack: gliderlabs/herokuish:v0.5.23-20
Buildpacks global stack: gliderlabs/herokuish:latest-20
Buildpacks computed stack: gliderlabs/herokuish:v0.7.0-22
Buildpacks global stack: gliderlabs/herokuish:latest-22
Buildpacks list: https://github.com/heroku/heroku-buildpack-nodejs.git
Buildpacks stack: gliderlabs/herokuish:v0.5.23-20
Buildpacks stack: gliderlabs/herokuish:v0.7.0-20
=====> python-sample buildpacks information
Buildpacks computed stack: gliderlabs/herokuish:latest-20
Buildpacks global stack: gliderlabs/herokuish:latest-20
Buildpacks computed stack: gliderlabs/herokuish:latest-22
Buildpacks global stack: gliderlabs/herokuish:latest-22
Buildpacks list: https://github.com/heroku/heroku-buildpack-nodejs.git,https://github.com/heroku/heroku-buildpack-python.git
Buildpacks stack:
=====> ruby-sample buildpacks information
Buildpacks computed stack: gliderlabs/herokuish:latest-20
Buildpacks global stack: gliderlabs/herokuish:latest-20
Buildpacks computed stack: gliderlabs/herokuish:latest-22
Buildpacks global stack: gliderlabs/herokuish:latest-22
Buildpacks list:
Buildpacks stack:
```
@@ -248,6 +252,7 @@ dokku buildpacks:report node-js-app --buildpacks-list
### Displaying builder-herokuish reports for an app
> [!IMPORTANT]
> New as of 0.29.0
You can get a report about the app's storage status using the `builder-herokuish:report` command:
@@ -301,7 +306,7 @@ false
If an application was previously deployed via Dockerfile, the following commands should be run before a buildpack deploy will succeed:
```shell
dokku config:unset --no-restart node-js-app DOKKU_PROXY_PORT_MAP
dokku ports:clear node-js-app
```
### Using a specific buildpack version
@@ -322,31 +327,6 @@ This will use the latest commit on the `master` branch of the specified buildpac
dokku buildpacks:set node-js-app https://github.com/heroku/heroku-buildpack-nodejs#v87
```
### Specifying commands via Procfile
While many buildpacks have a default command that is run when a detected repository is pushed, it is possible to override this command via a Procfile. A Procfile can also be used to specify multiple commands, each of which is subject to process scaling. See the [process scaling documentation](/docs/processes/process-management.md) for more details around scaling individual processes.
A Procfile is a file named `Procfile`. It should be named `Procfile` exactly, and not anything else. For example, `Procfile.txt` is not valid. The file should be a simple text file.
The file must be placed in the root directory of your application. It will not function if placed in a subdirectory.
If the file exists, it should not be empty, as doing so may result in a failed deploy.
The syntax for declaring a `Procfile` is as follows. Note that the format is one process type per line, with no duplicate process types.
```
<process type>: <command>
```
If, for example, you have multiple queue workers and wish to scale them separately, the following would be a valid way to work around the requirement of not duplicating process types:
```Procfile
worker: env QUEUE=* bundle exec rake resque:work
importantworker: env QUEUE=important bundle exec rake resque:work
```
The `web` process type holds some significance in that it is the only process type that is automatically scaled to `1` on the initial application deploy. See the [process scaling documentation](/docs/processes/process-management.md) for more details around scaling individual processes.
### `curl` build timeouts
Certain buildpacks may time out in retrieving dependencies via `curl`. This can happen when your network connection is poor or if there is significant network congestion. You may see a message similar to `gzip: stdin: unexpected end of file` after a `curl` command.
@@ -361,3 +341,7 @@ dokku config:set --global CURL_CONNECT_TIMEOUT=180
### Clearing buildpack cache
See the [repository management documentation](/docs/advanced-usage/repository-management.md#clearing-app-cache) for more information on how to clear buildpack build cache for an application.
### Specifying commands via Procfile
See the [Procfile documentation](/docs/processes/process-management.md#procfile) for more information on how to specify different processes for your app.

View File

@@ -1,5 +1,6 @@
# Lambda Builder
> [!IMPORTANT]
> New as of 0.28.0
```
@@ -43,8 +44,10 @@ The `lambda` builder plugin delegates all build logic to [lambda-builder](https:
When deploying a monorepo, it may be desirable to specify the specific path of the `lambda.yml` file to use for a given app. This can be done via the `builder-lambda:set` command. If a value is specified and that file does not exist in the app's build directory, then the build will fail.
For deploys via the `git:from-image` and `git:load-image` commands, the `lambda.yml` is extracted from the configured `WORKDIR` property of the image. For all other deploys - git push, `git:from-archive`, `git:sync` - will have the `lambda.yml` extracted directly from the source code. Both cases will respect the configured `lambdayml-path` property value.
```shell
dokku builder-lambda:set node-js-app lambdayml-path lambda2.yml
dokku builder-lambda:set node-js-app lambdayml-path .dokku/lambda.yml
```
The default value may be set by passing an empty value for the option:

View File

@@ -0,0 +1,155 @@
# Nixpacks
> New as of 0.32.0
The `nixpacks` builder builds apps via [Nixpacks](https://nixpacks.com/), a buildpack alternative.
## Usage
### Requirements
The `nixpacks` cli tool is not included by default with Dokku or as a dependency. It must also be installed as shown on [this page](https://nixpacks.com/docs/install#debian-(and-derivatives-like-ubuntu)).
Builds will proceed with the `nixpacks` cli for the app from then on.
### Detection
This builder will be auto-detected in the following case:
- A `nixpacks.toml` exists in the root of the app repository.
The builder may also be selected via the `builder:set` command
```shell
dokku builder:set node-js-app selected nixpacks
```
### Supported languages
See the [upstream nixpacks documentation](https://nixpacks.com/docs) for further information on what languages and frameworks are supported.
### Build-time configuration variables
For security reasons - and as per [Docker recommendations](https://github.com/docker/docker/issues/13490) - nixpacks-based deploys have variables available only during runtime.
For users that require customization in the `build` phase, you may use build arguments via the [docker-options plugin](/docs/advanced-usage/docker-options.md). All environment variables set by the `config` plugin are automatically exported within the nixpacks build environment, and thus `--env` only requires setting a key without a value.
```shell
dokku docker-options:add node-js-app build '--env NODE_ENV'
```
Alternatively, a full value may be provided in the form of `--env KEY=VALUE`:
```shell
dokku docker-options:add node-js-app build '--env NODE_ENV=production'
```
### Changing the `nixpacks.toml` location
When deploying a monorepo, it may be desirable to specify the specific path of the `nixpacks.toml` file to use for a given app. This can be done via the `builder-nixpacks:set` command. If a value is specified and that file does not exist in the app's build directory, then the build will fail.
```shell
dokku builder-nixpacks:set node-js-app nixpackstoml-path nixpacks2.toml
```
The default value may be set by passing an empty value for the option:
```shell
dokku builder-nixpacks:set node-js-app nixpackstoml-path
```
The `nixpackstoml-path` property can also be set globally. The global default is `nixpacks.toml`, and the global value is used when no app-specific value is set.
```shell
dokku builder-nixpacks:set --global nixpackstoml-path nixpacks2.toml
```
The default value may be set by passing an empty value for the option.
```shell
dokku builder-nixpacks:set --global nixpackstoml-path
```
### Disabling cache
Cache is enabled by default, but can be disabled by setting the `no-cache` property to `true`:
```shell
dokku builder-nixpacks:set node-js-app no-cache true
```
The default value may be set by passing an empty value for the option:
```shell
dokku builder-nixpacks:set node-js-app no-cache
```
The `no-cache` property can also be set globally. The global default is `false`, and the global value is used when no app-specific value is set.
```shell
dokku builder-nixpacks:set --global no-cache true
```
The default value may be set by passing an empty value for the option.
```shell
dokku builder-nixpacks:set --global no-cache
```
### Displaying builder-nixpacks reports for an app
You can get a report about the app's storage status using the `builder-nixpacks:report` command:
```shell
dokku builder-nixpacks:report
```
```
=====> node-js-app builder-nixpacks information
Builder-nixpacks computed nixpackstoml path: nixpacks2.toml
Builder-nixpacks global nixpackstoml path: nixpacks.toml
Builder-nixpacks nixpackstoml path: nixpacks2.toml
Builder-nixpacks computed no cache: true
Builder-nixpacks global no cache: false
Builder-nixpacks no cache: true
=====> python-sample builder-nixpacks information
Builder-nixpacks computed nixpackstoml path: nixpacks.toml
Builder-nixpacks global nixpackstoml path: nixpacks.toml
Builder-nixpacks nixpackstoml path:
Builder-nixpacks computed no cache: false
Builder-nixpacks global no cache: false
Builder-nixpacks no cache:
=====> ruby-sample builder-nixpacks information
Builder-nixpacks computed nixpackstoml path: nixpacks.toml
Builder-nixpacks global nixpackstoml path: nixpacks.toml
Builder-nixpacks nixpackstoml path:
Builder-nixpacks computed no cache: false
Builder-nixpacks global no cache: false
Builder-nixpacks no cache:
```
You can run the command for a specific app also.
```shell
dokku builder-nixpacks:report node-js-app
```
```
=====> node-js-app builder-nixpacks information
Builder-nixpacks computed nixpackstoml path: nixpacks2.toml
Builder-nixpacks global nixpackstoml path: nixpacks.toml
Builder-nixpacks nixpackstoml path: nixpacks2.toml
Builder-nixpacks computed no cache: true
Builder-nixpacks global no cache: false
Builder-nixpacks no cache: true
```
You can pass flags which will output only the value of the specific information you want. For example:
```shell
dokku builder-nixpacks:report node-js-app --builder-nixpacks-no-cache
```
```
true
```

View File

@@ -1,5 +1,6 @@
# Null Builder
> [!IMPORTANT]
> New as of 0.25.0
The `null` builder does nothing, and is useful for routing to services not managed by Dokku. It should not be used in normal operation. Please see the [network documentation](/docs/networking/network.md#routing-an-app-to-a-known-ip:port-combination) for more information on the aforementioned use case.

View File

@@ -43,7 +43,8 @@ The above command will show logs continually from the web process.
### Failed deploy logs
> Warning: The default [docker-local scheduler](/docs/deployment/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.
> [!WARNING]
> The default [docker-local scheduler](/docs/deployment/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.
@@ -89,13 +90,15 @@ dokku logs:set --global max-size
### Vector Logging Shipping
> [!IMPORTANT]
> New as of 0.22.6
Vector is an open-source, lightweight and ultra-fast tool for building observability pipelines. Dokku integrates with it for shipping container logs for the `docker-local` scheduler. Users may configure log-shipping on a per-app or global basis, neither of which interfere with the `dokku logs` commands.
#### Starting the Vector container
> Warning: While the default vector image may be updated over time, this will not impact running vector containers. Users are encouraged to view any Dokku and Vector changelogs to ensure their system will continue running as expected.
> [!WARNING]
> While the default vector image may be updated over time, this will not impact running vector containers. Users are encouraged to view any Dokku and Vector changelogs to ensure their system will continue running as expected.
Vector may be started via the `logs:vector-start` command.

View File

@@ -1,5 +1,6 @@
# Git Deployment
> [!IMPORTANT]
> Subcommands new as of 0.12.0
```
@@ -25,7 +26,8 @@ Git-based deployment has been the traditional method of deploying applications i
## Usage
> Warning: Pushing from a shallow clone is not currently supported and may have undefined behavior. Please unshallow your local repository before pushing to a Dokku app to avoid potential errors in the deployment process.
> [!WARNING]
> Pushing from a shallow clone is not currently supported and may have undefined behavior. Please unshallow your local repository before pushing to a Dokku app to avoid potential errors in the deployment process.
### Initializing an application
@@ -38,9 +40,10 @@ When an application is created via `git push`, Dokku will create the proper `pre
dokku git:initialize node-js-app
```
In order for the above command to succeed, the application _must_ already exist.
In order for the above command to succeed, the application _must_ already exist.
> Warning: If the `pre-receive` hook was customized in any way, this will overwrite that hook with the current defaults for Dokku.
> [!WARNING]
> If the `pre-receive` hook was customized in any way, this will overwrite that hook with the current defaults for Dokku.
### Changing the deploy branch
@@ -72,6 +75,7 @@ Pushing multiple branches can also be supported by creating a [receive-branch](/
### Configuring the `GIT_REV` environment variable
> [!IMPORTANT]
> New as of 0.12.0
Application deployments will include a special `GIT_REV` environment variable containing the current deployment sha being deployed. For rebuilds, this SHA will remain the same.
@@ -123,6 +127,7 @@ Please keep in mind that setting `keep-git-dir` to `true` may result in unstaged
### Initializing an app repository from a docker image
> [!IMPORTANT]
> New as of 0.24.0
A Dokku app repository can be initialized or updated from a Docker image via the `git:from-image` command. This command will either initialize the app repository or update it to include the specified Docker image via a `FROM` stanza. This is an excellent way of tracking changes when deploying only a given docker image, especially if deploying an image from a remote CI/CD pipeline.
@@ -142,7 +147,12 @@ If the specified image already exists on the Dokku host, it will not be pulled a
Triggering a build with the same arguments multiple times will result in Dokku exiting `0` early as there will be no changes detected. If the image tag is reused but the underlying image is different, it is recommended to use the image digest instead of the tag. This can be retrieved via the following command:
```shell
# for images pushed to a remote registry
docker inspect --format='{{index .RepoDigests 0}}' $IMAGE_NAME
# for images built locally and not pushed to a registry
# use when the previous command output is empty
docker images --no-trunc --quiet $IMAGE_NAME
```
The resulting `git:from-image` call would then be:
@@ -160,19 +170,6 @@ dokku git:from-image node-js-app dokku/node-js-getting-started:latest "Camila" "
If the image is a private image that requires a docker login to access, the `registry:login` command should be used to log into the registry. See the [registry documentation](/docs/advanced-usage/registry-management.md#logging-into-a-registry) for more details on this process.
Building an app from an image will result in the following files being extracted from the source image (with all custom paths specified for each file being respected):
- `app.json`
- `nginx.conf.sigil`
- `Procfile`
In the case where the repository is later modified to manually add any of the above files and deployed via `git push`, the files will still be extracted from the initial source image. To avoid this, please clear the `source-image` git property. It will be set back to the original source image on any subsequent `git:from-image` calls.
```shell
# sets an empty value
dokku git:set node-js-app source-image
```
Finally, certain images may require a custom build context in order for `ONBUILD ADD` and `ONBUILD COPY` statements to succeed. A custom build context can be specified via the `--build-dir` flag. All files in the specified `build-dir` will be copied into the repository for use within the `docker build` process. The build context _must_ be specified on each deploy, and is not otherwise persisted between builds.
```shell
@@ -183,6 +180,7 @@ See the [dockerfile documentation](/docs/deployment/builders/dockerfiles.md) to
### Initializing an app repository from an archive file
> [!IMPORTANT]
> New as of 0.24.0
A Dokku app repository can be initialized or updated from the contents of an archive file via the `git:from-archive` command. This is an excellent way of tracking changes when deploying pre-built binary archives, such as java jars or go binaries. This can also be useful when deploying directly from a GitHub repository at a specific commit.
@@ -215,6 +213,7 @@ curl -sSL https://github.com/dokku/smoke-test-app/releases/download/2.0.0/smoke-
### Initializing an app repository from a remote image without a registry
> [!IMPORTANT]
> New as of 0.30.0
A Dokku app repository can be initialized or updated from the contents of an image archive tar file via the `git:load-image` command. This method can be used when a Docker Registry is unavailable to act as an intermediary for storing an image, such as when building an image in CI and deploying directly from that image.
@@ -232,7 +231,13 @@ FROM dokku/node-js-getting-started:latest
When deploying an app via `git:load-image`, it is highly recommended to use a unique image tag when building the image. Not doing so will result in Dokku exiting `0` early as there will be no changes detected. If the image tag is reused but the underlying image is different, it is recommended to use the image digest instead of the tag. This can be retrieved via the following command:
```shell
# for images pushed to a remote registry
docker inspect --format='{{index .RepoDigests 0}}' $IMAGE_NAME
# for images built locally and not pushed to a registry
# use when the previous command output is empty
docker images --no-trunc --quiet $IMAGE_NAME
```
The resulting `git:load-image` call would then be:
@@ -248,19 +253,6 @@ The `git:load-image` command can optionally take a git `user.name` and `user.ema
docker image save dokku/node-js-getting-started:latest | ssh dokku@dokku.me git:load-image node-js-app dokku/node-js-getting-started:latest "Camila" "camila@example.com"
```
Building an app from an image will result in the following files being extracted from the source image (with all custom paths specified for each file being respected):
- `app.json`
- `nginx.conf.sigil`
- `Procfile`
In the case where the repository is later modified to manually add any of the above files and deployed via `git push`, the files will still be extracted from the initial source image. To avoid this, please clear the `source-image` git property. It will be set back to the original source image on any subsequent `git:load-image` calls.
```shell
# sets an empty value
dokku git:set node-js-app source-image
```
Finally, certain images may require a custom build context in order for `ONBUILD ADD` and `ONBUILD COPY` statements to succeed. A custom build context can be specified via the `--build-dir` flag. All files in the specified `build-dir` will be copied into the repository for use within the `docker build` process. The build context _must_ be specified on each deploy, and is not otherwise persisted between builds.
```shell
@@ -271,6 +263,7 @@ See the [dockerfile documentation](/docs/deployment/builders/dockerfiles.md) to
### Initializing an app repository from a remote repository
> [!IMPORTANT]
> New as of 0.23.0
A Dokku app repository can be initialized or updated from a remote git repository via the `git:sync` command. This command will either clone or fetch updates from a remote repository and has undefined behavior if the history cannot be fast-fowarded to the referenced repository reference. Any repository that can be cloned by the `dokku` user can be specified.
@@ -302,6 +295,7 @@ dokku git:sync --build node-js-app https://github.com/heroku/node-js-getting-sta
### Initializing from private repositories
> [!IMPORTANT]
> New as of 0.24.0
Initializing from a private repository requires one of the following:

View File

@@ -91,7 +91,7 @@ In addition, the following commands have special local side-effects:
#### Specifying a remote
While many users will only ever push to a single dokku remote from a given repository, it may be useful to point the same repository at multiple remotes, especially in the case of pre-production environments. This can be done via the `remote` commands. These commands are _only_ available within the official remote client, and are not server-side commands.
While many users will only ever push to a single dokku remote from a given repository, it may be useful to point the same repository at multiple remotes, especially in the case of pre-production environments. This can be done via the `remote` commands. These commands are *only* available within the official remote client, and are not server-side commands.
To see your currently configured remote, run `dokku remote`. This will respect the `--remote` flag.
@@ -101,7 +101,7 @@ To add a remote, run `dokku remote:add $REMOTE_NAME dokku@dokku.me:$APP_NAME`, r
To remove a remote, run `dokku remote:remove $REMOTE_NAME`. This is equivalent to running `git remote remove $REMOTE_NAME`.
By default, the remote in use is `dokku`. To change the remote the client uses by default, run `dokku remote:set $REMOTE_NAME`, where `$REMOTE_NAME` is the name of your desired remote. This will not check the value specified, so that remote _must_ be available or errors will occur when running normal client commands. Note that specifying `--remote` when running dokku commands will override this configuration value.
By default, the remote in use is `dokku`. To change the remote the client uses by default, run `dokku remote:set $REMOTE_NAME`, where `$REMOTE_NAME` is the name of your desired remote. This will not check the value specified, so that remote *must* be available or errors will occur when running normal client commands. Note that specifying `--remote` when running dokku commands will override this configuration value.
To clear the configured remote, run `dokku remote:unset`. The client will unset the configured remote, and will default back to `dokku`, or the value of `--remote` if specified.

View File

@@ -1,5 +1,6 @@
# Docker Local Scheduler
> [!IMPORTANT]
> Subcommands new as of 0.12.12
```
@@ -7,6 +8,7 @@ scheduler-docker-local:report [<app>] [<flag>] # Displays a schedul
scheduler-docker-local:set <app> <key> (<value>) # Set or clear a scheduler-docker-local property for an app
```
> [!IMPORTANT]
> New as of 0.12.0
Dokku natively includes functionality to manage application lifecycles for a single server using the `scheduler-docker-local` plugin. It is the default scheduler, but as with all schedulers, it is set on a per-application basis. The scheduler can currently be overridden by running the following command:
@@ -55,6 +57,7 @@ All image containers with the label `org.opencontainers.image.vendor=linuxserver
### Deploying Process Types in Parallel
> [!IMPORTANT]
> New as of 0.25.5
By default, Dokku deploys an app's processes one-by-one in order, with the `web` process being deployed first. Deployment parallelism may be achieved by setting the `parallel-schedule-count` property, which defaults to `1`. Increasing this number increases the number of process types that may be deployed in parallel (with the web process being the exception).
@@ -78,19 +81,14 @@ Note that increasing the value of `parallel-schedule-count` may significantly im
#### Increasing parallelism within a process deploy
> [!IMPORTANT]
> New as of 0.26.0
By default, Dokku will deploy one instance of a given process type at a time. This can be increased by customizing the `app.json` `formation` key to include a `max_parallel` key for the given process type.
An `app.json` file can be committed to the root of the pushed app repository, and must be within the built image artifact in the image's working directory as shown below.
- Buildpacks: `/app/app.json`
- Dockerfile: `WORKDIR/app.json` or `/app.json` (if no working directory specified)
- Docker Image: `WORKDIR/app.json` or `/app.json` (if no working directory specified)
The `formation` key should be specified as follows in the `app.json` file:
```Procfile
```json
{
"formation": {
"web": {
@@ -107,6 +105,8 @@ Omitting or removing the entry will result in parallelism for that process type
Note that increasing the value of `max_parallel` may significantly impact CPU utilization on your host as your app containers - and their respective processes - start up. Setting a value higher than the number of available CPUs is discouraged. It is recommended that users carefully set this value so as not to overburden their server.
See the [app.json location documentation](/docs/advanced-usage/deployment-tasks.md#changing-the-appjson-location) for more information on where to place your `app.json` file.
## Scheduler Interface
The following sections describe implemented scheduler functionality for the `docker-local` scheduler.
@@ -125,7 +125,6 @@ This plugin implements various functionality through `plugn` triggers to integra
- `ps:stop`
- `run`
### Logging support
App logs for the `logs` command are fetched from running containers via the `docker` cli. To persist logs across deployments, consider using Dokku's [vector integration](/docs/deployment/logs.md#vector-logging-shipping) to ship logs to another service or a third-party platform.
@@ -137,15 +136,15 @@ The `docker-local` scheduler supports a minimal list of resource _limits_ and _r
#### Resource Limits
- cpu: (docker option: `--cpus`), is specified in number of CPUs a process can access.
- See the ["CPU" section](https://docs.docker.com/config/containers/resource_constraints/#cpu) of the Docker Runtime Options documentation for more information.
- 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`) should be specified with a suffix of `b` (bytes), `k` (kilobytes), `m` (megabytes), `g` (gigabytes). Default unit is `m` (megabytes).
- See the ["Memory" section](https://docs.docker.com/config/containers/resource_constraints/#memory) of the Docker Runtime Options documentation for more information.
- 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`) 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.
- See the ["Memory" section](https://docs.docker.com/config/containers/resource_constraints/#memory) of the Docker Runtime Options documentation for more information.
- nvidia-gpus: (docker option: `--gpus`), is specified in number of Nvidia GPUs a process can access.
- See the ["GPU" section](https://docs.docker.com/config/containers/resource_constraints/#gpu) of the Docker Runtime Options documentation for more information.
- See the ["GPU" section](https://docs.docker.com/config/containers/resource_constraints/#gpu) of the Docker Runtime Options documentation for more information.
#### Resource Reservations
- memory: (docker option: `--memory-reservation`) should be specified with a suffix of `b` (bytes), `k` (kilobytes), `m` (megabytes), `g` (gigabytes). Default unit is `m` (megabytes).
- See the ["Memory" section](https://docs.docker.com/config/containers/resource_constraints/#memory) of the Docker Runtime Options documentation for more information.
- See the ["Memory" section](https://docs.docker.com/config/containers/resource_constraints/#memory) of the Docker Runtime Options documentation for more information.

View File

@@ -1,6 +1,7 @@
# Kubernetes Scheduler
> Warning: This scheduler is not in Dokku core and thus functionality may change over time as the API stabilizes.
> [!WARNING]
> This scheduler is not in Dokku core and thus functionality may change over time as the API stabilizes.
The [Kubernetes Scheduler Plugin](https://github.com/dokku/dokku-scheduler-kubernetes) is available free as an external plugin. Please see the plugin's [issue tracker](https://github.com/dokku/dokku-scheduler-kubernetes/issues) for more information on the status of the plugin.

View File

@@ -1,6 +1,7 @@
# Nomad Scheduler
> Warning: This scheduler is not in Dokku core and thus functionality may change over time as the API stabilizes.
> [!WARNING]
> This scheduler is not in Dokku core and thus functionality may change over time as the API stabilizes.
The [Nomad Scheduler Plugin](https://github.com/dokku/dokku-scheduler-nomad) is available free as an external plugin. Please see the plugin's [issue tracker](https://github.com/dokku/dokku-scheduler-nomad/issues) for more information on the status of the plugin.
@@ -20,4 +21,5 @@ This plugin implements various functionality through `plugn` triggers to integra
### Logging support
> Warning: Fetching app logs for the `logs` command is currently not implemented. Please consider using [Vector](https://vector.dev/docs/setup/installation/platforms/kubernetes/) or a similar tool to ship logs to another service or a third-party platform.
> [!WARNING]
> Fetching app logs for the `logs` command is currently not implemented. Please consider using [Vector](https://vector.dev/docs/setup/installation/platforms/kubernetes/) or a similar tool to ship logs to another service or a third-party platform.

View File

@@ -1,5 +1,6 @@
# Null Scheduler
> [!IMPORTANT]
> New as of 0.25.0
The `null` scheduler does nothing, and is useful for routing to services not managed by Dokku. It should not be used in normal operation. Please see the [network documentation](/docs/networking/network.md#routing-an-app-to-a-known-ip:port-combination) for more information on the aforementioned use case.

View File

@@ -1,5 +1,6 @@
# Scheduler Management
> [!IMPORTANT]
> New as of 0.26.0
```
@@ -91,23 +92,23 @@ Custom plugins names _must_ have the prefix `scheduler-` or scheduler overriding
At this time, the following dokku commands are used to implement a complete scheduler.
- `apps:destroy`: stops the app processes on the scheduler
- triggers: post-delete, scheduler-register-retired, scheduler-retire
- triggers: post-delete, scheduler-register-retired, scheduler-retire
- `apps:rename`: handles app renaming
- triggers: post-app-rename-setup
- triggers: post-app-rename-setup
- `apps:clone`: handles app cloning
- triggers: post-app-clone-setup
- triggers: post-app-clone-setup
- `deploy`: deploys app proceses and checks the status of a deploy
- triggers: scheduler-app-status, scheduler-deploy, scheduler-is-deployed, scheduler-logs-failed
- triggers: scheduler-app-status, scheduler-deploy, scheduler-is-deployed, scheduler-logs-failed
- `enter`: enters a running container
- triggers: scheduler-enter
- triggers: scheduler-enter
- `logs`: fetches app logs
- triggers: scheduler-logs
- triggers: scheduler-logs
- `run`: starts one-off run containers (detached and non-detached) as well as listing run processes
- triggers: scheduler-run, scheduler-run-list
- triggers: scheduler-run, scheduler-run-list
- `ps:stop`: stops app processes
- triggers: scheduler-stop
- triggers: scheduler-stop
- `ps:inspect`: outputs inspect output for processes in an app
- triggers: scheduler-inspect
- triggers: scheduler-inspect
Schedulers may decide to omit some functionality here, or use plugin triggers to supplement config with information from other plugins. Additionally, a scheduler may implement other triggers in order handle any extra processes needed during a deploy.

View File

@@ -1,5 +1,6 @@
# User Management
> [!IMPORTANT]
> New as of 0.7.0
```
@@ -34,6 +35,7 @@ The output contains the following information:
- The `KEY_NAME`.
- A comma separated list of SSH options under the `SSHCOMMAND_ALLOWED_KEYS` name.
> [!IMPORTANT]
> 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:
@@ -42,6 +44,7 @@ The keys for a specific user may be listed by specifying a second argument to th
dokku ssh-keys:list admin
```
> [!IMPORTANT]
> New as of 0.22.3
The output format may be specified via the `--format` flag. Supported values include `json` and `text`.
@@ -58,7 +61,7 @@ dokku ssh-keys:list --format json 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:
You can add your public key to Dokku with the `ssh-keys:add` command. The path specified must contain your desired public ssh key contents and must exist on the server. Any special characters - such as `~` - are interpreted under the `dokku` user context. The output will be the fingerprint of the SSH key:
```shell
dokku ssh-keys:add KEY_NAME path/to/id_rsa.pub
@@ -72,6 +75,24 @@ SHA256:ABC123ABC123+abc123abc123Zabc123abcZ123abc
> `KEY_NAME` is a unique name which is used to identify public keys. Attempting to re-use a key name will result in an error. The SSH (Git) user is *always* `dokku`, as this is the system user that the `dokku` binary uses to perform all its actions.
Alternatively, you may pipe the contents of your ssh key via `cat` or `echo` into the `ssh-keys:add` command instead of specifying a path to the ssh key:
```shell
echo "$CONTENTS_OF_YOUR_PUBLIC_SSH_KEY_HERE" | dokku ssh-keys:add KEY_NAME
```
```
SHA256:ABC123ABC123+abc123abc123Zabc123abcZ123abc
```
```shell
cat path/to/id_rsa.pub | dokku ssh-keys:add KEY_NAME
```
```
SHA256:ABC123ABC123+abc123abc123Zabc123abcZ123abc
```
Admin users and root can add keys remotely by specifying the `dokku` bin on their `ssh` command:
```shell

View File

@@ -1,5 +1,6 @@
# Zero Downtime Deploy Checks
> [!IMPORTANT]
> New as of 0.5.0
```
@@ -13,7 +14,7 @@ checks:skip <app> [process-type(s)] Skip zero-downtime checks for all proc
By default, Dokku will wait `10` seconds after starting each container before assuming it is up and proceeding with the deploy. Once this has occurred for all containers started by an application, traffic will be switched to point to your new containers. Dokku will also wait a further `60` seconds *after* the deploy is complete before terminating old containers in order to give time for long running connections to terminate. In either case, you may have more than one container running for a given application.
You may both create user-defined checks for web processes using a `CHECKS` file, as well as customize any and all parts of this experience using the checks plugin.
You may both create user-defined checks for web processes using the `healthchecks` key in the `app.json` file, as well as customize any and all parts of this experience using the checks plugin.
> Web checks are performed via `curl` on Dokku host. Some application code - such
> as the Django framework - checks for specific hostnames or header values, these
@@ -42,7 +43,7 @@ There are certain settings that can be configured via environment variables:
- `DOKKU_DEFAULT_CHECKS_WAIT`: (default: `10`) If no user-defined checks are specified - or if the process being checked is not a `web` process - this is the period of time Dokku will wait before checking that a container is still running.
- `DOKKU_DOCKER_STOP_TIMEOUT`: (default: `10`) Configurable grace period given to the `docker stop` command. If a container has not stopped by this time, a `kill -9` signal or equivalent is sent in order to force-terminate the container. Both the `ps:stop` and `apps:destroy` commands *also* respect this value. If not specified, the Docker defaults for the [`docker stop` command](https://docs.docker.com/engine/reference/commandline/stop/) will be used.
The following settings may also be specified in the `CHECKS` file, though are available as environment variables in order to ease application reuse.
The following settings may also be specified in the `app.json` file, though are available as environment variables in order to ease application reuse.
- `DOKKU_CHECKS_WAIT`: (default: `5`) Wait this many seconds for the container to start before running checks.
- `DOKKU_CHECKS_TIMEOUT`: (default: `30`) Wait this many seconds for each response before marking it as a failure.
@@ -83,6 +84,7 @@ dokku checks:disable node-js-app worker
### Displaying checks reports for an app
> [!IMPORTANT]
> New as of 0.8.1
You can get a report about the app's checks status using the `checks:report` command:
@@ -135,97 +137,48 @@ dokku checks:report node-js-app --checks-disabled-list
## Customizing checks
> [!IMPORTANT]
> New as of 0.31.0
If your application needs a longer period to boot up - perhaps to load data into memory, or because of slow boot time - you may also use Dokku's `checks` functionality to more precisely check whether an application can serve traffic or not.
Checks are run against the detected `web` process from your application's `Procfile`. For non-web processes, Dokku will fallback to the aforementioned process uptime check.
Healthchecks are run against all process from your application's `Procfile`. When no healthcheck is defined, Dokku will fallback to a process uptime check.
To specify checks, add a `CHECKS` file to the root of your project directory. The `CHECKS` file should be plain text and may contain:
One or more healthchecks can be defined in the `app.json` file - see the [deployment task documentation](/docs/advanced-usage/deployment-tasks.md) for more information on how this is extracted - under the `healthchecks.web` path:
- check instructions
- settings (NAME=VALUE)
- comments (lines starting with #)
- empty lines
> 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
The format of a check instruction is a path or relative URL, optionally followed by the expected content:
```
/about Our Amazing Team
```json
{
"healthchecks": {
"web": [
{
"type": "startup",
"name": "web check",
"description": "Checking if the app responds to the /health/ready endpoint",
"path": "/health/ready",
"attempts": 3
}
]
}
}
```
The `CHECKS` file can contain multiple checks:
A healthcheck entry takes the following properties:
```
/ My Amazing App
/stylesheets/index.css .body
/scripts/index.js $(function()
/images/logo.png
```
- `attempts`: (default: `3` seconds) Number of retry attempts to perform on failure.
- `command`: (default `''` - empty string) Command to execute within container.
- `content`: (default: `''` - empty string) Content to search in http path check output.
- `initialDelay`: (default: 0, unit: seconds) Number of seconds to wait after a container has started before triggering the healthcheck.
- `name`: (default: autogenerated) The name of the healthcheck. If unspecified, it will be autogenerated from the rest of the healthcheck information.
- `path`: (default: `/` - for http checks): An http path to check.
- `timeout`: (default: `5` seconds): Number of seconds to wait before timing out a healthcheck.
- `type`: (default: `""` - none): Type of the healthcheck. Options: liveness, readiness, startup.
- `uptime`: (default: `""` - none): Amount of time the container must be alive before the container is considered healthy. Any restarts will cause this to check to fail, and this check does not respect retries.
- `wait`: (default: `5` seconds): Number of seconds to wait between healthcheck attempts.
To check an application that supports multiple hostnames, use relative URLs that include the hostname:
> [!WARNING]
> Healthchecks are implemented by specific scheduler plugins, and not all plugins support all options. Please consult the scheduler documentation for further details on what is supported.
```
//admin.dokku.me Admin Dashboard
//static.dokku.me/logo.png
```
You can also specify the protocol to explicitly check HTTPS requests:
```
https://admin.dokku.me Admin Dashboard
https://static.dokku.me/logo.png
```
While a full URL may be used in order to invoke checks, if you are using relative URLs, the port *must* be omitted.
> Changed as of 0.22.5
Please note that dollar sign bracket characters (`{` and `}`) must be escaped when used within a `CHECKS` file. Escaping follows golang template rules. The proper way to do this is via one of the following methods:
```
# escaping the `{` character
# using double-quotes
{{"{"}}
# using raw string constants
{{`{`}}
# escaping the `}` character
# using double-quotes
{{"}"}}
# using raw string constants
{{`}`}}
```
### Templating Checks Files
> New as of 0.22.5
An app's `CHECKS` file is sent through a single pass of the [`sigil`](https://github.com/gliderlabs/sigil/) templating tool. This enables usage of Golang templating within application `CHECKS` files. In addition to general templating access, access to app environment variables is also allowed via the `var` function:
```
{{ var "SOME_ENV_VAR" }}
```
This may be useful if certain zero-downtime checks require access to an app-specific value, such as a domain name.
### Check settings
The default behavior is to wait for `5` seconds before running the checks, to timeout the checks after `30` seconds, and to attempt the checks `5` times. If the checks fail `5` times, the deployment is considered failed and the old container will continue serving traffic.
You can change the default behavior by setting `WAIT`, `TIMEOUT`, and `ATTEMPTS` to different values in the `CHECKS` file:
```
WAIT=30 # Wait 1/2 minute
TIMEOUT=60 # Timeout after a minute
ATTEMPTS=10 # Attempt checks 10 times
/ My Amazing App
```
See the [docker-container-healthchecker](https://github.com/dokku/docker-container-healthchecker) documentation for more details on how healthchecks are interpreted.
## Manually invoking checks
@@ -312,182 +265,3 @@ dokku checks:run node-js-app web.3
-----> Running pre-flight checks
Invalid container id specified (APP.web.3)
```
## Example: Successful Rails deployment
In this example, a Rails application is successfully deployed to Dokku. The initial round of checks fails while the server is starting, but once it starts they succeed and the deployment is successful. `WAIT` is set to `10` because our application takes a while to boot up. `ATTEMPTS` is set to `6`, but the third attempt succeeds.
### Successful `CHECKS` file
```
WAIT=10
ATTEMPTS=6
/check.txt simple_check
```
For this check to work, we've added a line to `config/routes.rb` that simply returns a string:
```
get '/check.txt', to: proc {[200, {}, ['simple_check']]}
```
### Successful deploy output
> Note: The output has been trimmed for brevity.
```shell
git push dokku master
```
```
-----> Cleaning up...
-----> Building node-js-app from herokuish...
-----> Adding BUILD_ENV to build environment...
-----> Ruby app detected
-----> Compiling Ruby/Rails
-----> Using Ruby version: ruby-2.0.0
.....
-----> Discovering process types
Procfile declares types -> web
-----> Releasing node-js-app...
-----> Deploying node-js-app...
-----> Running pre-flight checks
-----> Attempt 1/6 Waiting for 10 seconds ...
CHECKS expected result:
http://localhost/check.txt => "simple_check"
!
curl: (7) Failed to connect to 172.17.0.155 port 5000: Connection refused
! Check attempt 1/6 failed.
-----> Attempt 2/6 Waiting for 10 seconds ...
CHECKS expected result:
http://localhost/check.txt => "simple_check"
!
curl: (7) Failed to connect to 172.17.0.155 port 5000: Connection refused
! Check attempt 2/6 failed.
-----> Attempt 3/6 Waiting for 10 seconds ...
CHECKS expected result:
http://localhost/check.txt => "simple_check"
-----> All checks successful!
=====> node-js-app container output:
=> Booting Thin
=> Rails 4.2.0 application starting in production on http://0.0.0.0:5000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
Thin web server (v1.6.3 codename Protein Powder)
Maximum connections set to 1024
Listening on 0.0.0.0:5000, CTRL+C to stop
=====> end node-js-app container output
-----> Running post-deploy
-----> Configuring myapp.dokku.me...
-----> Creating http nginx.conf
Reloading nginx
-----> Shutting down old container in 60 seconds
=====> Application deployed:
http://myapp.dokku.me
```
## Example: Failing Rails deployment
In this example, a Rails application fails to deploy. The reason for the failure is that the PostgreSQL database connection fails. The initial checks will fail while we wait for the server to start up, just like in the above example. However, once the server does start accepting connections, we will see an error 500 due to the PostgreSQL database connection failure.
Once the attempts have been exceeded, the deployment fails and we see the container output, which shows the PostgreSQL connection errors.
### Failing `CHECKS` file
```
WAIT=10
ATTEMPTS=6
/
```
> The check to the root url `/` would normally access the database.
### Failing deploy output
> Note: The output has been trimmed for brevity.
```shell
git push dokku master
```
```
-----> Cleaning up...
-----> Building node-js-app from herokuish...
-----> Adding BUILD_ENV to build environment...
-----> Ruby app detected
-----> Compiling Ruby/Rails
-----> Using Ruby version: ruby-2.0.0
.....
Discovering process types
Procfile declares types -> web
Releasing node-js-app...
Deploying node-js-app...
Running pre-flight checks
-----> Attempt 1/6 Waiting for 10 seconds ...
CHECKS expected result:
http://localhost/ => ""
!
curl: (7) Failed to connect to 172.17.0.188 port 5000: Connection refused
! Check attempt 1/6 failed.
-----> Attempt 2/6 Waiting for 10 seconds ...
CHECKS expected result:
http://localhost/ => ""
!
curl: (7) Failed to connect to 172.17.0.188 port 5000: Connection refused
! Check attempt 2/6 failed.
-----> Attempt 3/6 Waiting for 10 seconds ...
CHECKS expected result:
http://localhost/ => ""
!
curl: (22) The requested URL returned error: 500 Internal Server Error
! Check attempt 3/6 failed.
-----> Attempt 4/6 Waiting for 10 seconds ...
CHECKS expected result:
http://localhost/ => ""
!
curl: (22) The requested URL returned error: 500 Internal Server Error
! Check attempt 4/6 failed.
-----> Attempt 5/6 Waiting for 10 seconds ...
CHECKS expected result:
http://localhost/ => ""
!
curl: (22) The requested URL returned error: 500 Internal Server Error
! Check attempt 5/6 failed.
-----> Attempt 6/6 Waiting for 10 seconds ...
CHECKS expected result:
http://localhost/ => ""
!
curl: (22) The requested URL returned error: 500 Internal Server Error
Could not start due to 1 failed checks.
! Check attempt 6/6 failed.
=====> node-js-app container output:
=> Booting Thin
=> Rails 4.2.0 application starting in production on http://0.0.0.0:5000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
Thin web server (v1.6.3 codename Protein Powder)
Maximum connections set to 1024
Listening on 0.0.0.0:5000, CTRL+C to stop
Started GET "/" for 172.17.42.1 at 2015-03-26 21:36:47 +0000
Is the server running on host "172.17.42.1" and accepting
TCP/IP connections on port 5431?
PG::ConnectionBad (could not connect to server: Connection refused
Is the server running on host "172.17.42.1" and accepting
TCP/IP connections on port 5431?
):
vendor/bundle/ruby/2.0.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/postgresql_adapter.rb:651:in `initialize'
vendor/bundle/ruby/2.0.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/postgresql_adapter.rb:651:in `new'
vendor/bundle/ruby/2.0.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/postgresql_adapter.rb:651:in `connect'
vendor/bundle/ruby/2.0.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/postgresql_adapter.rb:242:in `initialize'
vendor/bundle/ruby/2.0.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/postgresql_adapter.rb:44:in `new'
vendor/bundle/ruby/2.0.0/gems/activerecord-4.2.0/lib/active_record/connection_adapters/postgresql_adapter.rb:44:in `postgresql_connection
=====> end node-js-app container output
/usr/bin/dokku: line 49: 23409 Killed dokku deploy "$APP"
To dokku@dokku.me:myapp
! [remote rejected] dokku -> master (pre-receive hook declined)
error: failed to push some refs to 'dokku@dokku.me:myapp'
```

View File

@@ -103,7 +103,7 @@ if ! command -v "nginx" &>/dev/null; then
fi
# `which` example
if ! which nginx >/dev/null 2>&1; then
if ! which nginx &>/dev/null; then
dokku_log_fail "Missing nginx, install it"
fi
```
@@ -145,6 +145,7 @@ Any functions that must be kept private should reside in the plugin's `trigger/`
### Use helper functions to fetch app images
> [!IMPORTANT]
> New as of 0.4.0
Dokku allows image tagging and deployment of tagged images. This means hard-coding the `$IMAGE` as `dokku/$APP` is no longer sufficient.
@@ -155,6 +156,7 @@ Plugins should use `get_running_image_tag()` and `get_app_image_name()` as sourc
### Use `$DOCKER_BIN` instead of `docker` directly
> [!IMPORTANT]
> New as of 0.17.5
Certain systems may require a wrapper function around the `docker` binary for proper execution. Utilizing the `$DOCKER_BIN` environment variable when calling docker for those functions is preferred.
@@ -169,6 +171,7 @@ docker run -d $IMAGE /bin/bash -e -c "$COMMAND"
### Include labels for all temporary containers and images
> [!IMPORTANT]
> New as of 0.5.0
As of 0.5.0, labels are used to help cleanup intermediate containers with `dokku cleanup`. Plugins that create containers and images should add the correct labels to the `build`, `commit`, and `run` docker commands.
@@ -197,7 +200,7 @@ Avoid copying files from running containers as these files may change over time.
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
local TMP_FILE=$(mktemp "/tmp/dokku-${DOKKU_PID}-${FUNCNAME[0]}.XXXXXX")
trap "rm -rf '$TMP_FILE' >/dev/null" RETURN INT TERM
trap "rm -rf '$TMP_FILE' >/dev/null" RETURN INT TERM EXIT
local IMAGE_TAG="$(get_running_image_tag "$APP")"
local IMAGE=$(get_deploying_app_image_name "$APP" "$IMAGE_TAG")
@@ -208,6 +211,7 @@ Files are copied from the `/app` directory - for images built via buildpacks - o
### Avoid calling the `dokku` binary directly
> [!IMPORTANT]
> New as of 0.6.0
Plugins should **not** call the `dokku` binary directly from within plugins because clients using the `--app` argument are potentially broken when doing so.

View File

@@ -104,6 +104,21 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `app-json-get-content`
- Description: Outputs the contents of the app-json file, if any
- Invoked by: Deployment checks
- 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)
@@ -237,6 +252,21 @@ APP="$1"; PROPERTY="$2"
# TODO
```
### `builder-herokuish-allowed`
- Description: Checks if herokuish is allowed to run on non-amd64 hosts
- Invoked by: unit tests
- Arguments: `$APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `builder-image-is-cnb`
- Description: Checks if an image is cnb-based
@@ -282,6 +312,36 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `buildpack-stack-name`
- Description: Retrieves the configured buildpack stack for the pack and herokuish builders
- Invoked by: builder-herokuish and builder-pack
- Arguments: `$APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `caddy-template-source`
- Description: Retrieves an alternative template for the caddy compose config
- Invoked by: caddy-vhosts
- Arguments: `$APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `certs-exists`
- Description: Echos `true` if certs exists for the app, `false` otherwise
@@ -297,6 +357,21 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `certs-force`
- Description: Echos `true` if a cert should be simulated for the app, no output otherwise
- Invoked by:
- Arguments: `$APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `check-deploy`
- Description: Allows you to run checks on a deploy before Dokku allows the container to handle requests.
@@ -474,18 +549,18 @@ echo "clock: some-command" >> Procfile
popd &>/dev/null
```
### `cron-write`
### `cron-get-property`
- Description: Force triggers writing out cron entries
- Description: Return the value for an app's cron property
- Invoked by:
- Arguments:
- Arguments: `$APP $KEY`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
APP="$1"; PROPERTY="$2"
# TODO
```
@@ -508,6 +583,22 @@ DOKKU_SCHEDULER="$1"
# TODO
```
### `cron-write`
- Description: Force triggers writing out cron entries
- Invoked by:
- Arguments:
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
# TODO
```
### `dependencies`
- Description: Used to install system-level dependencies.
@@ -599,9 +690,25 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
echo 'derp.dkr.ecr.us-east-1.amazonaws.com'
```
### `deploy-source-set`
- Description: Used to set metadata about how the app is being deployed
- Invoked by: `git:from-archive`, `git:from-image`, `git:load-image`, `git:sync`, and all git push commands
- Arguments: `$APP $SOURCE_TYPE $METADATA`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `docker-args-build`
> Warning: Deprecated, please use `docker-args-process-build` instead
> [!WARNING]
> Deprecated, please use `docker-args-process-build` instead
- Description:
- Invoked by: `internal function dokku_build() (build phase)`
@@ -626,7 +733,8 @@ echo -n "$STDIN$output"
### `docker-args-deploy`
> Warning: Deprecated, please use `docker-args-process-deploy` instead
> [!WARNING]
> Deprecated, please use `docker-args-process-deploy` instead
- Description:
- Invoked by: `dokku deploy`
@@ -697,7 +805,8 @@ APP="$1"; IMAGE_SOURCE_TYPE="$3"; IMAGE_TAG="$2"; IMAGE=$(get_app_image_name $AP
### `docker-args-run`
> Warning: Deprecated, please use `docker-args-process-run` instead
> [!WARNING]
> Deprecated, please use `docker-args-process-run` instead
- Description:
- Invoked by: `dokku run`
@@ -924,7 +1033,8 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
> Warning: The `git-pre-pull` trigger should _not_ be used for authentication since it does not get called for commands that use `git-upload-archive` such as `git archive`. Instead, use the [`user-auth`](#user-auth) trigger.
> [!WARNING]
> The `git-pre-pull` trigger should _not_ be used for authentication since it does not get called for commands that use `git-upload-archive` such as `git archive`. Instead, use the [`user-auth`](#user-auth) trigger.
### `git-revision`
@@ -960,6 +1070,21 @@ if [[ ! -f "$DOKKU_ROOT/VHOST" ]]; then
fi
```
### `haproxy-template-source`
- Description: Retrieves an alternative template for the haproxy compose config
- Invoked by: haproxy-vhosts
- Arguments: `$APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `logs-get-property`
- Description: Return the value for an app's log property
@@ -1006,21 +1131,6 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `network-compute-ports`
- Description: Computes the ports for a given app container
- Invoked by: `internally triggered by proxy-build-config within proxy implementations`
- Arguments: `$APP $PROC_TYPE $IS_HEROKUISH_CONTAINER $CONTAINER_INDEX`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `network-config-exists`
- Description: Returns whether the network configuration for a given app exists
@@ -1066,21 +1176,6 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `network-get-port`
- Description: Return the port for a given app container
- Invoked by: `internally triggered by a deploy`
- Arguments: `$APP $PROCESS_TYPE $CONTAINER_ID $IS_HEROKUISH_CONTAINER`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `network-get-property`
- Description: Return the value for an app's network property
@@ -1146,7 +1241,7 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
- Description: Return the path to a `sigil` template that should be used to generate a given nginx configuration file.
- Invoked by: `nginx-vhosts#build-config`
- Arguments: `$APP $TEMPLATE_TYPE`
- The `TEMPLATE_TYPE` argument can be one of: `[app-config, hsts-config, validate-config]`
- The `TEMPLATE_TYPE` argument can be one of: `[app-config, hsts-config, validate-config]`
- Example:
```shell
@@ -1209,7 +1304,8 @@ echo "$NEW_SUBDOMAIN.$VHOST"
### `nginx-pre-reload`
> Warning: The arguments INTERNAL_PORT and INTERNAL_IP_ADDRESS are no longer sufficient to retrieve all app listeners. Please run `plugn trigger network-get-listeners APP` within any implementation of `nginx-pre-reload` in order to retrieve all application listeners.
> [!WARNING]
> The arguments INTERNAL_PORT and INTERNAL_IP_ADDRESS are no longer sufficient to retrieve all app listeners. Please run `plugn trigger network-get-listeners APP` within any implementation of `nginx-pre-reload` in order to retrieve all application listeners.
- Description: Run before nginx reloads hosts
- Invoked by: `dokku proxy:build-config`
@@ -1226,6 +1322,112 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
nginx -t
```
### `openresty-template-source`
- Description: Retrieves an alternative template for the openresty compose config
- Invoked by: openresty-vhosts
- Arguments: `$APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `ports-clear`
- Description: Clears the ports for a given app without triggering further restarts or rebuilds
- Invoked by: internally
- Arguments: `$APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `ports-configure`
- Description: Configures the initial proxy ports
- Invoked by: `internally triggered by proxy plugins`
- Arguments: `$APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `ports-get`
- Description: Returns a list of port mappings, newline delimited
- Invoked by: Various networking plugins
- Arguments: `$APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `ports-get-available`
- Description: Prints out an available port greater than 1024
- Invoked by: Various networking plugins
- Arguments: `$APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `ports-get-property`
- Description: Return the value for an app's ports property
- Invoked by:
- Arguments: `$APP $KEY`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
APP="$1"; PROPERTY="$2"
# TODO
```
### `ports-set-detected`
- Description: Allows builders to specify detected port mappings for a given app
- Invoked by: Builder plugins
- Arguments: `$APP [$PORT_MAPPING...]`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `post-app-clone`
- Description: Allows you to run commands after an app was cloned.
@@ -1287,8 +1489,26 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
```
### `post-build`
- Description: Allows you to run commands after the build image is create for a given app.
- Invoked by: `internal function dokku_build() (build phase)`
- Arguments: `$BUILDER_TYPE $APP $SOURCECODE_WORK_DIR`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `post-build-buildpack`
> [!WARNING]
> Deprecated, please use `post-build` instead
- 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` `$SOURCECODE_WORK_DIR`
@@ -1302,12 +1522,30 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `post-build-pack`
### `post-build-dockerfile`
> Warning: The pack plugin trigger apis are under development and may change
> between minor releases until the 1.0 release.
> [!WARNING]
> Deprecated, please use `post-build` instead
- Description: Allows you to run commands after the build image is create for a given app. Only applies to apps using pack.
- Description: Allows you to run commands after the build image is create for a given app. Only applies to apps using a dockerfile.
- Invoked by: `internal function dokku_build() (build phase)`
- Arguments: `$APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `post-build-lambda`
> [!WARNING]
> Deprecated, please use `post-build` instead
- Description: Allows you to run commands after the build image is create for a given app. Only applies to apps using lambda.
- Invoked by: `internal function dokku_build() (build phase)`
- Arguments: `$APP` `$SOURCECODE_WORK_DIR`
- Example:
@@ -1320,11 +1558,14 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `post-build-dockerfile`
### `post-build-pack`
- Description: Allows you to run commands after the build image is create for a given app. Only applies to apps using a dockerfile.
> [!WARNING]
> Deprecated, please use `post-build` instead
- Description: Allows you to run commands after the build image is create for a given app. Only applies to apps using pack.
- Invoked by: `internal function dokku_build() (build phase)`
- Arguments: `$APP`
- Arguments: `$APP` `$SOURCECODE_WORK_DIR`
- Example:
```shell
@@ -1371,7 +1612,7 @@ APP="$1"
### `post-config-update`
- Description: Allows you to get notified when one or more configs is added or removed. Action can be `set` or `unset`.
- Description: Allows you to get notified when one or more configs is added or removed. Action can be `set` or `unset`.
- Invoked by: `dokku config:set`, `dokku config:unset`
- Arguments: `$APP` `set|unset` `key1=VALUE1 key2=VALUE2`
- Example:
@@ -1388,7 +1629,7 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
- 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"
- Arguments: "app|service" "$CONTAINER_ID" "$APP|$SERVICE" "$PHASE"
```shell
#!/usr/bin/env bash
@@ -1498,8 +1739,8 @@ popd &>/dev/null
### `post-proxy-ports-update`
- Description: Allows you to run commands once the proxy port mappings for an app have been updated. It also sends the invoking command. This can be "add", "clear" or "remove".
- Invoked by: `dokku proxy:ports-add`, `dokku proxy:ports-clear`, `dokku proxy:ports-remove`
- Description: Allows you to run commands once the port mappings for an app have been updated. It also sends the invoking command. This can be "add", "clear" or "remove".
- Invoked by: `dokku ports:add`, `dokku ports:clear`, `dokku ports:remove`
- Arguments: `$APP` `action name`
- Example:
@@ -1518,7 +1759,8 @@ haproxy-build-config "$APP"
### `post-release-builder`
> Warning: Image mutation in this trigger may result in an invalid run state, and is heavily discouraged.
> [!WARNING]
> Image mutation in this trigger may result in an invalid run state, and is heavily discouraged.
- Description: Invokes a command after the build process is complete.
- Invoked by: builder plugins
@@ -1535,6 +1777,21 @@ BUILDER_TYPE="$1"; APP="$2"; IMAGE=$3
# TODO
```
### `post-stack-set` TODO
- Description: Allows you to run commands after changing the stack
- Invoked by: buildpacks plugin
- Arguments: `$APP` `$VALUE`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `post-stop`
- Description: Can be used to run commands after an app is manually stopped
@@ -1553,8 +1810,26 @@ APP="$1";
dokku config:set --no-restart $APP MANUALLY_STOPPED=1
```
### `pre-build`
- 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.
- Invoked by: `internal function dokku_build() (build phase)`
- Arguments: `$BUILDER_TYPE $APP $SOURCECODE_WORK_DIR`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `pre-build-buildpack`
> [!WARNING]
> Deprecated, please use `pre-build` instead
- 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` `$SOURCECODE_WORK_DIR`
@@ -1568,12 +1843,30 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `pre-build-pack`
### `pre-build-dockerfile`
> Warning: The pack plugin trigger apis are under development and may change
> between minor releases until the 1.0 release.
> [!WARNING]
> Deprecated, please use `pre-build` instead
- 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 pack.
- 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 a dockerfile.
- Invoked by: `internal function dokku_build() (build phase)`
- Arguments: `$APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `pre-build-lambda`
> [!WARNING]
> Deprecated, please use `pre-build` instead
- 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 lambda.
- Invoked by: `internal function dokku_build() (build phase)`
- Arguments: `$APP` `$SOURCECODE_WORK_DIR`
- Example:
@@ -1586,11 +1879,14 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `pre-build-dockerfile`
### `pre-build-pack`
- 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 a dockerfile.
> [!WARNING]
> Deprecated, please use `pre-build` instead
- 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 pack.
- Invoked by: `internal function dokku_build() (build phase)`
- Arguments: `$APP`
- Arguments: `$APP` `$SOURCECODE_WORK_DIR`
- Example:
```shell
@@ -1697,8 +1993,28 @@ APP="$1"; IMAGE_SOURCE_TYPE="$2"; TMP_WORK_DIR="$3"; REV="$4"
echo "$APP" > "$TMP_WORK_DIR/dokku-is-awesome"
```
### `pre-release-builder`
- Description: Allows you to run commands before environment variables are set for the release step of the deploy.
- Invoked by: `internal function dokku_release() (release phase)`
- Arguments: `$BUILDER_TYPE $APP $IMAGE`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
BUILDER_TYPE="$1"; APP="$2"; IMAGE_TAG="$3";
# TODO
```
### `pre-release-buildpack`
> [!WARNING]
> Deprecated, please use `pre-release-builder` instead
- Description: Allows you to run commands before 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`
@@ -1715,7 +2031,7 @@ APP="$1"; IMAGE_TAG="$2"; IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
dokku_log_info1 "Installing GraphicsMagick..."
CMD="cat > gm && \
dpkg -s graphicsmagick >/dev/null 2>&1 || \
dpkg -s graphicsmagick &>/dev/null || \
(apt-get update -qq && apt-get -qq -y --no-install-recommends install graphicsmagick && apt-get clean)"
CID=$(docker run $DOKKU_GLOBAL_RUN_ARGS -i -a stdin $IMAGE /bin/bash -c "$CMD")
@@ -1724,10 +2040,30 @@ DOCKER_COMMIT_LABEL_ARGS=("--change" "LABEL org.label-schema.schema-version=1.0"
docker commit "${DOCKER_COMMIT_LABEL_ARGS[@]}" $CID $IMAGE >/dev/null
```
### `pre-release-lambda`
> [!WARNING]
> Deprecated, please use `pre-release-builder` instead
- Description: Allows you to run commands before environment variables are set for the release step of the deploy. Only applies to apps using lambda.
- Invoked by: `internal function dokku_release() (release phase)`
- Arguments: `$APP $IMAGE_TAG`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
APP="$1"; IMAGE_TAG="$2";
# TODO
```
### `pre-release-pack`
> Warning: The pack plugin trigger apis are under development and may change
> between minor releases until the 1.0 release.
> [!WARNING]
> Deprecated, please use `pre-release-builder` instead
- Description: Allows you to run commands before environment variables are set for the release step of the deploy. Only applies to apps using pack.
- Invoked by: `internal function dokku_release() (release phase)`
@@ -1746,6 +2082,9 @@ APP="$1"; IMAGE_TAG="$2";
### `pre-release-dockerfile`
> [!WARNING]
> Deprecated, please use `pre-release-builder` instead
- Description: Allows you to run commands before 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`
@@ -1810,6 +2149,21 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `procfile-exists`
- Description: Checks if a procfile exists for the specified app
- Invoked by: `internally`
- Arguments: `$APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `proxy-build-config`
- Description: Builds the proxy implementation configuration for a given app
@@ -1840,21 +2194,6 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `proxy-configure-ports`
- Description: Configures the proxy port mapping
- Invoked by: `internally triggered by proxy plugins`
- Arguments: `$APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `proxy-disable`
- Description: Disables the configured proxy implementation for an app
@@ -1929,6 +2268,7 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `ps-current-scale`
- Description: Prints out the current scale contents (process-type=quantity) delimited by newlines.
@@ -2068,7 +2408,8 @@ mail -s "$APP containers on $HOSTNAME failed to retire" ops@dokku.me
### `scheduler-app-status`
> Warning: The scheduler plugin trigger apis are under development and may change
> [!WARNING]
> The scheduler plugin trigger apis are under development and may change
> between minor releases until the 1.0 release.
- Description: Fetch the status of an app
@@ -2087,7 +2428,8 @@ DOKKU_SCHEDULER="$1"; APP="$2";
### `scheduler-deploy`
> Warning: The scheduler plugin trigger apis are under development and may change
> [!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 when an app is deployed
@@ -2106,7 +2448,8 @@ DOKKU_SCHEDULER="$1"; APP="$2"; IMAGE_TAG="$3";
### `scheduler-detect`
> Warning: The scheduler plugin trigger apis are under development and may change
> [!WARNING]
> The scheduler plugin trigger apis are under development and may change
> between minor releases until the 1.0 release.
- Description: Allows you to check which scheduler is in use for an app
@@ -2125,7 +2468,8 @@ APP="$1"
### `scheduler-enter`
> Warning: The scheduler plugin trigger apis are under development and may change
> [!WARNING]
> The scheduler plugin trigger apis are under development and may change
> between minor releases until the 1.0 release.
- Description: Allows you to enter a running container for a given app
@@ -2144,7 +2488,8 @@ DOKKU_SCHEDULER="$1"; APP="$2"; ARGS="$@"
### `scheduler-inspect`
> Warning: The scheduler plugin trigger apis are under development and may change
> [!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 inspect commands for all containers for a given app
@@ -2161,9 +2506,30 @@ DOKKU_SCHEDULER="$1"; APP="$2";
# TODO
```
### `scheduler-is-deployed`
> [!WARNING]
> The scheduler plugin trigger apis are under development and may change
> between minor releases until the 1.0 release.
- Description: Allows you to check if the scheduler has deployed the app
- Invoked by: Various plugins
- Arguments: `$DOKKU_SCHEDULER $APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
DOKKU_SCHEDULER="$1"; APP="$2";
# TODO
```
### `scheduler-logs`
> Warning: The scheduler plugin trigger apis are under development and may change
> [!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 when retrieving container logs
@@ -2182,7 +2548,8 @@ DOKKU_SCHEDULER="$1"; APP="$2"; PROCESS_TYPE="$3"; TAIL="$4"; PRETTY_PRINT="$5";
### `scheduler-logs-failed`
> Warning: The scheduler plugin trigger apis are under development and may change
> [!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 when retrieving failed container logs
@@ -2201,7 +2568,8 @@ DOKKU_SCHEDULER="$1"; APP="$2";
### `scheduler-pre-restore`
> Warning: The scheduler plugin trigger apis are under development and may change
> [!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 commands before an app is restored
@@ -2220,7 +2588,8 @@ DOKKU_SCHEDULER="$1"; APP="$2";
### `scheduler-post-delete`
> Warning: The scheduler plugin trigger apis are under development and may change
> [!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 when an app is deleted
@@ -2237,9 +2606,30 @@ DOKKU_SCHEDULER="$1"; APP="$2"; IMAGE_TAG="$3";
# TODO
```
### `scheduler-post-deploy-process`
> [!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 a command after a process has been started
- Invoked by: scheduler-docker-local
- Arguments: `$APP $PROCESS_TYPE`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
APP="$1"; PROCESS_TYPE="$2";
# TODO
```
### `scheduler-post-run`
> Warning: The scheduler plugin trigger apis are under development and may change
> [!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
@@ -2258,7 +2648,8 @@ DOKKU_SCHEDULER="$1"; APP="$2"; CONTAINER_ID="$3";
### `scheduler-register-retired`
> Warning: The scheduler plugin trigger apis are under development and may change
> [!WARNING]
> The scheduler plugin trigger apis are under development and may change
> between minor releases until the 1.0 release.
- Description: Allows scheduling retiring a local container and any related images
@@ -2278,7 +2669,8 @@ CONTAINER_ID="$2";
### `scheduler-retire`
> Warning: The scheduler plugin trigger apis are under development and may change
> [!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 when containers should be force retired from the system
@@ -2297,7 +2689,8 @@ DOKKU_SCHEDULER="$1"; APP="$2";
### `scheduler-run`
> Warning: The scheduler plugin trigger apis are under development and may change
> [!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 when a command is executed for your app
@@ -2316,7 +2709,8 @@ DOKKU_SCHEDULER="$1"; APP="$2"; ARGS="${@:3}";
### `scheduler-run-list`
> Warning: The scheduler plugin trigger apis are under development and may change
> [!WARNING]
> The scheduler plugin trigger apis are under development and may change
> between minor releases until the 1.0 release.
- Description: Lists all run containers for a given app
@@ -2335,7 +2729,8 @@ DOKKU_SCHEDULER="$1"; APP="$2"; FORMAT="$3";
### `scheduler-run-logs`
> Warning: The scheduler plugin trigger apis are under development and may change
> [!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 when retrieving one-off container logs
@@ -2352,9 +2747,30 @@ DOKKU_SCHEDULER="$1"; APP="$2"; CONTAINER="$3"; TAIL="$4"; PRETTY_PRINT="$5"; NU
# TODO
```
### `scheduler-run-stop`
> [!WARNING]
> The scheduler plugin trigger apis are under development and may change
> between minor releases until the 1.0 release.
- Description: Allows a scheduler to stop all "run" containers or a specified container
- Invoked by: `dokku run:stop`
- Arguments: `$DOKKU_SCHEDULER $APP $CONTAINER_NAME`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
DOKKU_SCHEDULER="$1"; APP="$2"; CONTAINER_NAME="$3";
# TODO
```
### `scheduler-stop`
> Warning: The scheduler plugin trigger apis are under development and may change
> [!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 when a tag is destroyed
@@ -2387,6 +2803,21 @@ APP="$1"
# TODO
```
### `traefik-template-source`
- Description: Retrieves an alternative template for the traefik compose config
- Invoked by: traefik-vhosts
- Arguments: `$APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `uninstall`
- Description: Used to cleanup after itself.

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.30.4-2 (Mon Feb 22 23:20:37 CET 2016)"
# wait for "==> build-arch: ==> Finished making: dokku 0.32.0-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

@@ -29,4 +29,4 @@ Dokku Pro has the following functionality:
- Authenticated HTTP(S) endpoints for git push functionality
- Single Page App (SPA) Web UI exposing app, datastore, and ssh key management
While each release is fairly feature complete, individual features and documentation will expand over time. Feature development follows a monthly release cadence, with individual bug fixes released on an as needed basis.
While each release is fairly feature complete, individual features and documentation will expand over time. Feature development follows a monthly release cadence, with individual bug fixes released on an as needed basis.

View File

@@ -78,7 +78,7 @@ Follow the [user management documentation](/docs/deployment/user-management.md)
## VMs with less than 1 GB of memory
Having less than 1 GB of system memory available for Dokku and its containers may result in unexpected errors, such as `! [remote rejected] master -> master (pre-receive hook declined)` during installation of NPM dependencies (https://github.com/npm/npm/issues/3867).
Having less than 1 GB of system memory available for Dokku and its containers may result in unexpected errors, such as `! [remote rejected] master -> master (pre-receive hook declined)` [during installation of NPM dependencies](https://github.com/npm/npm/issues/3867).
To work around this issue, it might suffice to augment the Linux swap file size to a maximum of twice the physical memory size.

View File

@@ -3,7 +3,7 @@
Pull the dokku/dokku image:
```shell
docker pull dokku/dokku:0.30.4
docker pull dokku/dokku:0.32.0
```
Next, run the image.
@@ -19,7 +19,7 @@ docker container run \
--publish 8443:443 \
--volume /var/lib/dokku:/mnt/dokku \
--volume /var/run/docker.sock:/var/run/docker.sock \
dokku/dokku:0.30.4
dokku/dokku:0.32.0
```
The above command will start a new docker container that is ready when a message similar to `Runit started as PID 12345` appears.
@@ -61,7 +61,7 @@ redis: https://github.com/dokku/dokku-redis.git
The alternative is to build a custom docker image via a custom Dockerfile. This Dockerfile can run any `plugin:install` command. Note that the version installed at that time will be the one that persists. Below is an example Dockerfile showing this method.
```Dockerfile
FROM dokku/dokku:0.30.4
FROM dokku/dokku:0.32.0
RUN dokku plugin:install https://github.com/dokku/dokku-postgres.git postgres
RUN dokku plugin:install https://github.com/dokku/dokku-redis.git redis
```

View File

@@ -36,7 +36,7 @@
Port 22
```
> For users that have customized the IP address of their VM - either in a custom `Vagrantfile` or via the `DOKKU_IP` environment variable - and are not using `10.0.0.2` for the Vagrant IP, you'll need to instead use the output of `vagrant ssh-config dokku` for your `~/.ssh/config` entry.
> For users that have customized the IP address of their VM - either in a custom `Vagrantfile` or via the `DOKKU_IP` environment variable - and are not using `10.0.0.2` for the Vagrant IP, you'll need to instead use the output of `vagrant ssh-config dokku` for your `~/.ssh/config` entry.
6. Connect to the server via `vagrant ssh` and add your ssh key to the install. Additionally, set the global domain name to `dokku.me`.

View File

@@ -1,10 +1,10 @@
# Getting Started with Dokku
### What is Dokku?
## What is Dokku?
Dokku is an extensible, open source Platform as a Service that runs on a single server of your choice. Dokku supports building apps on the fly from a `git push` via either Dockerfile or by auto-detecting the language with Buildpacks, and then starts containers based on your built image. Using technologies such as nginx and cron, Web processes are automatically routed to, while background processes and automated cron tasks are also managed by Dokku.
### System Requirements
## System Requirements
To start using Dokku, you'll need a system that meets the following minimum requirements:
@@ -12,8 +12,7 @@ To start using Dokku, you'll need a system that meets the following minimum requ
- [Ubuntu 20.04/22.04](https://www.ubuntu.com/download)
- [Debian 10+ x64](https://www.debian.org/distrib/)
- A server with one of the following architectures
- AMD64 (alternatively known as `x86_64`), commonly used for Intel cloud servers
- ARMV7 (alternatively known as `armhf`), commonly used for Raspberry PI
- AMD64 (alternatively known as `x86_64`), commonly used for Intel cloud servers
- ARMV8 (alternatively known as `arm64`), commonly used for Raspberry PI and AWS Graviton
To avoid memory pressure during builds or runtime of your applications, we suggest the following:
@@ -28,23 +27,23 @@ Finally, we recommend attaching at least one domain name to your server. This is
Please see the [dns documentation](/docs/networking/dns.md) and [domains documentation](/docs/configuration/domains.md) for more details.
### Installing the latest stable version
## Installing the latest stable version
This is the simple method of installing Dokku. For alternative methods of installation, see the [advanced install guide](/docs/getting-started/advanced-installation.md#configuring).
This is the simple method of installing Dokku. For alternative methods of installation, see the [advanced install guide](/docs/getting-started/advanced-installation.md#configuring).
#### 1. Install Dokku
### 1. Install Dokku
To install the latest stable version of Dokku, you can run the following shell commands:
```shell
# for debian systems, installs Dokku via apt-get
wget -NP . https://dokku.com/install/v0.30.4/bootstrap.sh
sudo DOKKU_TAG=v0.30.4 bash bootstrap.sh
wget -NP . https://dokku.com/install/v0.32.0/bootstrap.sh
sudo DOKKU_TAG=v0.32.0 bash bootstrap.sh
```
The installation process takes about 5-10 minutes, depending upon internet connection speed.
#### 2. Setup SSH key and Virtualhost Settings
### 2. Setup SSH key and Virtualhost Settings
Once the installation is complete, you should configure an ssh key and set your global domain.
@@ -67,6 +66,6 @@ dokku domains:set-global 10.0.0.2.sslip.io
See the [user management](/docs/deployment/user-management.md#adding-ssh-keys) and [domains documentation](/docs/configuration/domains.md#customizing-hostnames) for more information.
#### 3. Deploy your first application
### 3. Deploy your first application
At this point, you should be able to [deploy to the Dokku installation](/docs/deployment/application-deployment.md).

View File

@@ -1,5 +1,6 @@
# Troubleshooting
> [!IMPORTANT]
> New as of 0.17.0
```
@@ -33,7 +34,7 @@ dokku trace:off
## Common Problems
### I deployed my app but I am getting the default nginx page.
### I deployed my app but I am getting the default nginx page
Most of the time it's caused by some defaults newer versions of nginx set. To make sure that's the issue you're having run the following:
@@ -58,10 +59,8 @@ A value of 64 would allow domains with up to 64 characters. Set it to 128 if you
Save the file and try stopping nginx and starting it again:
```shell
/etc/init.d/nginx stop
## * Stopping nginx nginx [ OK ]
/etc/init.d/nginx start
## * Starting nginx nginx [ OK ]
dokku nginx:stop
dokku nginx:start
```
---
@@ -74,12 +73,12 @@ For example, if you have an `EXPOSE` directive like so:
EXPOSE 8000
```
The proxy port mapping will be `http:8000:8000`.
The port mapping will be `http:8000:8000`.
To avoid this issue, either of the following can be done:
- Remove `EXPOSE` directive: This will require respecting the `$PORT` environment variable (automatically set by Dokku). Once that change is deployed, the port mapping should be cleared via the `dokku proxy:ports-clear $APP` command (where `$APP` is your app name).
- Update the port mapping: Updating the port mapping to redirect port `80` to your app's exposed port via `dokku proxy:ports-set $APP http:80:$EXPOSED_PORT` can also fix the issue. This will also allow certificate management and the letsencrypt plugin to work correctly.
- Remove `EXPOSE` directive: This will require respecting the `$PORT` environment variable (automatically set by Dokku). Once that change is deployed, the port mapping should be cleared via the `dokku ports:clear $APP` command (where `$APP` is your app name).
- Update the port mapping: Updating the port mapping to redirect port `80` to your app's exposed port via `dokku ports:set $APP http:80:$EXPOSED_PORT` can also fix the issue. This will also allow certificate management and the letsencrypt plugin to work correctly.
See the [port management documentation](/docs/networking/port-management.md) for more information on how Dokku exposes ports for applications and how you can configure these for your app.
@@ -93,7 +92,7 @@ The following error may be emitted from a deploy:
The `remote rejected` error does not give enough information. Anything could have failed. Enable trace mode and begin debugging. If this does not help you, create a [gist](https://gist.github.com) containing the full log, and create an issue.
One the reasons why you may get this error is because the command that is run in the container exited (without errors). For example, (in Procfile) when you define a new worker container to run Delayed Job and use the bin/delayed_job start command. This command deamonizes the process and exists. The container thinks it's done so it closes itself. The error you get is the one above. To fix the above problem for Delayed Job, you must define the worker to user rake jobs:work, which doesn't deamonize the process.
One the reasons why you may get this error is because the command that is run in the container exited (without errors). For example, (in Procfile) when you define a new worker container to run Delayed Job and use the bin/delayed_job start command. This command deamonizes the process and exists. The container thinks it's done so it closes itself. The error you get is the one above. To fix the above problem for Delayed Job, you must define the worker to user rake jobs:work, which doesn't deamonize the process.
### I get the aforementioned error in the build phase (after turning on Dokku tracing)
@@ -123,7 +122,7 @@ Sometimes (especially on DigitalOcean) deploying again seems to get past these s
resolvconf -u
```
Please see https://github.com/dokku/dokku/issues/841 and https://github.com/dokku/dokku/issues/649.
Please see [#841](https://github.com/dokku/dokku/issues/841) and [#649](https://github.com/dokku/dokku/issues/649).
### After adding an SSH key, I am told I cannot read from the remote repository on push
@@ -157,7 +156,7 @@ Host DOKKU_HOSTNAME
Also see [issue #116](https://github.com/dokku/dokku/issues/116).
### I successfully deployed my application with no deployment errors and receiving **Bad Gateway** when attempting to access the application.
### I successfully deployed my application with no deployment errors and receiving **Bad Gateway** when attempting to access the application
In many cases the application will require the a `process.env.PORT` port opposed to a specified port.
@@ -173,7 +172,7 @@ Additionally, your application should listen/bind to all interfaces (`0.0.0.0`).
Please see [#5798](https://github.com/dokku/dokku/issues/5798).
### Deployment fails because of slow internet connection, messages shows `gzip: stdin: unexpected end of file`.
### Deployment fails because of slow internet connection, messages shows `gzip: stdin: unexpected end of file`
If you see output similar this when deploying:
@@ -193,11 +192,11 @@ dokku config:set --global CURL_TIMEOUT=1200
dokku config:set --global CURL_CONNECT_TIMEOUT=180
```
Please see https://github.com/dokku/dokku/issues/509.
Please see [#509](https://github.com/dokku/dokku/issues/509).
Another reason for this error (although it may respond immediately ruling out a timeout issue) may be because you've set the config setting `SSL_CERT_FILE`. Using a config setting with this key interferes with the buildpack's ability to download its dependencies, so you must rename the config setting to something else, e.g. `MY_APP_SSL_CERT_FILE`.
### Build fails with `Killed` message.
### Build fails with `Killed` message
This generally occurs when the server runs out of memory. You can either add more RAM to your server or setup swap space. The follow script will create 2 GB of swap space.
@@ -211,7 +210,7 @@ sudo sysctl -w vm.swappiness=10
echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf
```
### I successfully deployed my application with no deployment errors but I'm receiving Connection Timeout when attempting to access the application.
### I successfully deployed my application with no deployment errors but I'm receiving Connection Timeout when attempting to access the application
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:
@@ -225,7 +224,7 @@ If the previous script returned `Status: active` and a list of ports, UFW is ena
sudo ufw disable
```
### I can't connect to my application because the server is sending an invalid response, or can't provide a secure connection.
### I can't connect to my application because the server is sending an invalid response, or can't provide a secure connection
This isn't usually an issue with Dokku, but rather an app config problem. This can happen when your application is configured to enforce secure connections/HSTS, but you don't have SSL set up for the app.
@@ -235,16 +234,14 @@ If this solves the issue temporarily, longer term you should consider [configuri
### My application deploys properly, but won't load in browser "connection refused"
This could be a result of a bad proxy configuration (`http:5000:5000` may be incorrect). Run `dokku proxy:report myapp` to check if your app has the correct proxy configuration. It should show something like the following.
This could be a result of a bad proxy configuration (`http:5000:5000` may be incorrect). Run `dokku ports:report node-js-app` to check if your app has the correct proxy configuration. It should show something like the following.
```
=====> myapp proxy information
Proxy enabled: true
Proxy port map: http:80:5000 https:443:5000
Proxy type: nginx
=====> node-js-app ports information
Port map: http:80:5000 https:443:5000
```
Set `dokku proxy:ports-set front http:80:5000` to get proxy correctly configured for http endpoint.
Set `dokku ports:set node-js-app http:80:5000` to get proxy correctly configured for http endpoint.
### I deployed a new app but now subdomains are miss-routed

View File

@@ -18,6 +18,8 @@ Docker releases updates periodically to their engine. We recommend reading their
Before upgrading, check the migration guides to get comfortable with new features and prepare your deployment to be upgraded.
- [Upgrading to 0.32](/docs/appendices/0.32.0-migration-guide.md)
- [Upgrading to 0.31](/docs/appendices/0.31.0-migration-guide.md)
- [Upgrading to 0.30](/docs/appendices/0.30.0-migration-guide.md)
- [Upgrading to 0.29](/docs/appendices/0.29.0-migration-guide.md)
- [Upgrading to 0.28](/docs/appendices/0.28.0-migration-guide.md)
@@ -61,7 +63,7 @@ dokku ps:stopall
# for versions between 0.8.1 and 0.11.3, use
dokku --quiet apps:list | xargs -L1 dokku ps:stop
# for versions versions older than 0.8.1, use
# for versions older than 0.8.1, use
dokku --quiet apps | xargs -L1 dokku ps:stop
```

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