Compare commits

...

891 Commits

Author SHA1 Message Date
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
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
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
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
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
Dokku Bot
e72f5b1d90 Release 0.30.4
# History

## 0.30.4

Install/update via the bootstrap script:

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

### Bug Fixes

- #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

- #5851: @josegonzalez Allow setting _ as domain name for default nginx routing

### Documentation

- #5853: @josegonzalez Always overwrite bootstrap install file
- #5828: @josegonzalez Add a note to the troubleshooting docs pointing developers to bind to all interfaces
- #5827: @josegonzalez Add permalink support to headers

### Tests

- #5850: @josegonzalez Only run packer validation if any packer-related files were changed

### Dependencies

- #5837: @dependabot[bot] chore(deps): bump golang from 1.20.3 to 1.20.4 in /tests/apps/zombies-dockerfile-tini
- #5836: @dependabot[bot] chore(deps): bump golang from 1.20.3 to 1.20.4 in /tests/apps/gogrpc
- #5832: @dependabot[bot] chore(deps): bump flask from 2.3.1 to 2.3.2 in /tests/apps/multi
- #5831: @dependabot[bot] chore(deps): bump flask from 2.3.1 to 2.3.2 in /tests/apps/python-flask
- #5839: @dependabot[bot] chore(deps): bump mkdocs from 1.4.2 to 1.4.3 in /docs/_build
- #5835: @dependabot[bot] chore(deps): bump golang from 1.20.3 to 1.20.4 in /tests/apps/zombies-dockerfile-no-tini
- #5838: @dependabot[bot] chore(deps): bump golang from 1.20.3 to 1.20.4 in /tests/apps/go-fail-predeploy
- #5841: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.9.0 to 0.10.0 in /tests/apps/gogrpc
- #5842: @dependabot[bot] chore(deps): bump werkzeug from 2.3.1 to 2.3.4 in /tests/apps/python-flask
- #5844: @dependabot[bot] chore(deps): bump django from 4.1.7 to 4.1.9 in /tests/apps/dockerfile-release
- #5848: @dependabot[bot] chore(deps): bump mkdocs-material from 9.1.8 to 9.1.12 in /docs/_build
- #5840: @dependabot[bot] chore(deps): bump golang from 1.20.3 to 1.20.4 in /tests/apps/go-fail-postdeploy
- #5823: @dependabot[bot] chore(deps): bump flask from 2.2.3 to 2.3.1 in /tests/apps/python-flask
- #5825: @dependabot[bot] chore(deps): bump flask from 2.2.3 to 2.3.1 in /tests/apps/multi
- #5826: @dependabot[bot] chore(deps): bump werkzeug from 2.2.3 to 2.3.1 in /tests/apps/python-flask
2023-05-13 19:38:52 +00:00
josegonzalez
713cc3033a Merge pull request #5851 from dokku/5845-default-nginx-domain
Allow setting _ as domain name for default nginx routing
2023-05-13 15:30:11 -04:00
josegonzalez
621204069e Merge pull request #5786 from obrienmd/add-ed25519-pubkey-check
Detect id_ed25519.pub in git:public-key command
2023-05-13 14:25:18 -04:00
josegonzalez
fb764bfd48 Merge pull request #5853 from dokku/5766-overwrite-bootstrap
Always overwrite bootstrap install file
2023-05-13 14:24:33 -04:00
Jose Diaz-Gonzalez
aa323f7439 docs: always overwrite bootstrap install file
Closes #5766
2023-05-13 14:24:04 -04:00
josegonzalez
2cd028e577 tests: add test for default _ domain usage 2023-05-13 13:57:27 -04:00
josegonzalez
fd1f80c485 feat: allow setting _ as domain name for default nginx routing
Closes #5845
2023-05-13 13:56:23 -04:00
josegonzalez
ea910d38d3 Merge pull request #5837 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.20.4
chore(deps): bump golang from 1.20.3 to 1.20.4 in /tests/apps/zombies-dockerfile-tini
2023-05-13 02:19:29 -04:00
josegonzalez
1f1dea4341 Merge pull request #5836 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.20.4
chore(deps): bump golang from 1.20.3 to 1.20.4 in /tests/apps/gogrpc
2023-05-13 02:19:02 -04:00
josegonzalez
523fd5b674 Merge pull request #5832 from dokku/dependabot/pip/tests/apps/multi/flask-2.3.2
chore(deps): bump flask from 2.3.1 to 2.3.2 in /tests/apps/multi
2023-05-13 02:18:50 -04:00
josegonzalez
b5a41b1412 Merge pull request #5831 from dokku/dependabot/pip/tests/apps/python-flask/flask-2.3.2
chore(deps): bump flask from 2.3.1 to 2.3.2 in /tests/apps/python-flask
2023-05-13 02:18:45 -04:00
josegonzalez
2e1121e1d8 Merge pull request #5839 from dokku/dependabot/pip/docs/_build/mkdocs-1.4.3
chore(deps): bump mkdocs from 1.4.2 to 1.4.3 in /docs/_build
2023-05-13 02:18:25 -04:00
dependabot[bot]
ec757a5d5a chore(deps): bump golang from 1.20.3 to 1.20.4 in /tests/apps/gogrpc
Bumps golang from 1.20.3 to 1.20.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-13 03:43:10 +00:00
dependabot[bot]
4f4854ecf8 chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.20.3 to 1.20.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-13 03:42:54 +00:00
josegonzalez
c5f6e24877 Merge pull request #5850 from dokku/josegonzalez-patch-1
Only run packer validation if any packer-related files were changed
2023-05-12 23:42:42 -04:00
josegonzalez
25a96c295b Merge pull request #5835 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.20.4
chore(deps): bump golang from 1.20.3 to 1.20.4 in /tests/apps/zombies-dockerfile-no-tini
2023-05-12 23:42:10 -04:00
dependabot[bot]
5826f0dffd chore(deps): bump mkdocs from 1.4.2 to 1.4.3 in /docs/_build
Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.4.2 to 1.4.3.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.4.2...1.4.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-05-13 03:42:08 +00:00
dependabot[bot]
1d4c263ed8 chore(deps): bump flask from 2.3.1 to 2.3.2 in /tests/apps/python-flask
Bumps [flask](https://github.com/pallets/flask) from 2.3.1 to 2.3.2.
- [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.1...2.3.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-13 03:42:00 +00:00
dependabot[bot]
f5e167e318 chore(deps): bump flask from 2.3.1 to 2.3.2 in /tests/apps/multi
Bumps [flask](https://github.com/pallets/flask) from 2.3.1 to 2.3.2.
- [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.1...2.3.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-13 03:41:42 +00:00
josegonzalez
443014004d Merge pull request #5838 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.20.4
chore(deps): bump golang from 1.20.3 to 1.20.4 in /tests/apps/go-fail-predeploy
2023-05-12 23:41:42 -04:00
josegonzalez
936adb20b2 Merge pull request #5841 from dokku/dependabot/go_modules/tests/apps/gogrpc/golang.org/x/net-0.10.0
chore(deps): bump golang.org/x/net from 0.9.0 to 0.10.0 in /tests/apps/gogrpc
2023-05-12 23:41:28 -04:00
josegonzalez
7293d1dec3 Merge pull request #5842 from dokku/dependabot/pip/tests/apps/python-flask/werkzeug-2.3.4
chore(deps): bump werkzeug from 2.3.1 to 2.3.4 in /tests/apps/python-flask
2023-05-12 23:41:14 -04:00
josegonzalez
d224785d8c Merge pull request #5844 from dokku/dependabot/pip/tests/apps/dockerfile-release/django-4.1.9
chore(deps): bump django from 4.1.7 to 4.1.9 in /tests/apps/dockerfile-release
2023-05-12 23:41:02 -04:00
josegonzalez
e6695a147a Merge pull request #5848 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.1.12
chore(deps): bump mkdocs-material from 9.1.8 to 9.1.12 in /docs/_build
2023-05-12 23:40:52 -04:00
josegonzalez
c43c404e68 Merge pull request #5840 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.20.4
chore(deps): bump golang from 1.20.3 to 1.20.4 in /tests/apps/go-fail-postdeploy
2023-05-12 23:40:40 -04:00
josegonzalez
1535549a8f fix: only run packer validation if any packer-related files were changed.
These files rarely change - and usually by me - so it shouldn't impact PRs from other collaborators very often.
2023-05-12 23:40:19 -04:00
dependabot[bot]
be67490f23 chore(deps): bump mkdocs-material from 9.1.8 to 9.1.12 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.8 to 9.1.12.
- [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.8...9.1.12)

---
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-12 14:04:35 +00:00
dependabot[bot]
e68e1425a6 chore(deps): bump django in /tests/apps/dockerfile-release
Bumps [django](https://github.com/django/django) from 4.1.7 to 4.1.9.
- [Commits](https://github.com/django/django/compare/4.1.7...4.1.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-09 22:46:54 +00:00
dependabot[bot]
6105a01c0e chore(deps): bump werkzeug in /tests/apps/python-flask
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 2.3.1 to 2.3.4.
- [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.1...2.3.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-09 13:57:35 +00:00
dependabot[bot]
ef73bc55ba chore(deps): bump golang.org/x/net in /tests/apps/gogrpc
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.9.0 to 0.10.0.
- [Commits](https://github.com/golang/net/compare/v0.9.0...v0.10.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-05-09 13:57:32 +00:00
dependabot[bot]
6a0451ba6d chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.20.3 to 1.20.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-03 14:12:41 +00:00
dependabot[bot]
fcac34e7b5 chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.20.3 to 1.20.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-03 14:03:06 +00:00
dependabot[bot]
e2557e948d chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.20.3 to 1.20.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-03 14:02:48 +00:00
josegonzalez
ca04c2dc48 fix: return after showing the contents of the public key file 2023-04-27 22:54:14 -04:00
josegonzalez
1cfaa6c942 Merge pull request #5758 from dokku/5753-support-procfile-less-pack-images
Support pack-based images that do not have a Procfile
2023-04-27 22:46:48 -04:00
josegonzalez
24a5beaf66 Merge pull request #5828 from dokku/5798-docs
Add a note to the troubleshooting docs pointing developers to bind to all interfaces
2023-04-27 21:37:30 -04:00
josegonzalez
36985c24f2 docs: add a note to the troubleshooting docs pointing developers to bind to all interfaces
Closes #5798
2023-04-27 21:37:11 -04:00
josegonzalez
7adc06926e Merge pull request #5827 from dokku/5817-header-links
Add permalink support to headers
2023-04-27 20:58:21 -04:00
josegonzalez
85f4bb4182 feat: add permalink support to headers
Closes dokku/dokku#5817
2023-04-27 20:58:09 -04:00
Jose Diaz-Gonzalez
03da8462f7 fix: support pack-based images that do not have a Procfile
If no Procfile is set, we'll leave the entrypoint alone, resulting in the default launcher for the web process (or whatever pack decided was default) executing.

Closes #5753
2023-04-27 20:15:27 -04:00
josegonzalez
756f8f26b8 Merge pull request #5823 from dokku/dependabot/pip/tests/apps/python-flask/flask-2.3.1
chore(deps): bump flask from 2.2.3 to 2.3.1 in /tests/apps/python-flask
2023-04-27 19:36:55 -04:00
dependabot[bot]
cb55bac476 chore(deps): bump flask from 2.2.3 to 2.3.1 in /tests/apps/python-flask
Bumps [flask](https://github.com/pallets/flask) from 2.2.3 to 2.3.1.
- [Release notes](https://github.com/pallets/flask/releases)
- [Changelog](https://github.com/pallets/flask/blob/2.3.1/CHANGES.rst)
- [Commits](https://github.com/pallets/flask/compare/2.2.3...2.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-27 23:27:43 +00:00
josegonzalez
42701f6cd9 Merge pull request #5825 from dokku/dependabot/pip/tests/apps/multi/flask-2.3.1
chore(deps): bump flask from 2.2.3 to 2.3.1 in /tests/apps/multi
2023-04-27 19:26:48 -04:00
dependabot[bot]
9aa93949f5 chore(deps): bump flask from 2.2.3 to 2.3.1 in /tests/apps/multi
Bumps [flask](https://github.com/pallets/flask) from 2.2.3 to 2.3.1.
- [Release notes](https://github.com/pallets/flask/releases)
- [Changelog](https://github.com/pallets/flask/blob/2.3.1/CHANGES.rst)
- [Commits](https://github.com/pallets/flask/compare/2.2.3...2.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-27 23:25:56 +00:00
josegonzalez
eb1c4001af Merge pull request #5826 from dokku/dependabot/pip/tests/apps/python-flask/werkzeug-2.3.1
chore(deps): bump werkzeug from 2.2.3 to 2.3.1 in /tests/apps/python-flask
2023-04-27 19:25:16 -04:00
dependabot[bot]
032eed49a0 chore(deps): bump werkzeug in /tests/apps/python-flask
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 2.2.3 to 2.3.1.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/2.3.1/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/2.2.3...2.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-27 13:57:31 +00:00
Dokku Bot
e9429c5c09 Release 0.30.3
# History

## 0.30.3

Install/update via the bootstrap script:

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

### Bug Fixes

- #5763: @josegonzalez Set dokku version correctly for digitalocean image build

### New Features

- #5799: @josegonzalez Add ability to run dokku report without downloading herokuish image

### Documentation

- #5810: @strugee Fix typo in 0.30.x migration guide
- #5820: @tylercrumpton Fix "cotainer" typo in one-off tasks docs page.
- #5800: @josegonzalez Fix indentation in registry configuration documentation

### Dependencies

- #5809: @dependabot[bot] chore(deps): bump pygments from 2.15.0 to 2.15.1 in /docs/_build
- #5811: @dependabot[bot] chore(deps): bump node from 19-alpine to 20-alpine in /tests/apps/dockerfile-noexpose
- #5812: @dependabot[bot] chore(deps): bump node from 19-alpine to 20-alpine in /tests/apps/dockerfile-procfile
- #5813: @dependabot[bot] chore(deps): bump node from 19-alpine to 20-alpine in /tests/apps/dockerfile-procfile-bad
- #5814: @dependabot[bot] chore(deps): bump node from 19-alpine to 20-alpine in /tests/apps/dockerfile
- #5815: @dependabot[bot] chore(deps): bump node from 19-alpine to 20-alpine in /tests/apps/dockerfile-app-json-formations
- #5816: @dependabot[bot] chore(deps): bump sqlparse from 0.4.3 to 0.4.4 in /tests/apps/dockerfile-release
- #5818: @dependabot[bot] chore(deps): bump importlib-metadata from 6.5.0 to 6.6.0 in /docs/_build
- #5821: @dependabot[bot] chore(deps): bump mkdocs-material from 9.1.6 to 9.1.8 in /docs/_build
- #5805: @dependabot[bot] chore(deps): bump jetty-servlet from 11.0.14 to 11.0.15 in /tests/apps/java
- #5808: @dependabot[bot] chore(deps): bump importlib-metadata from 6.3.0 to 6.5.0 in /docs/_build
- #5802: @dependabot[bot] chore(deps): bump packaging from 23.0 to 23.1 in /docs/_build
- #5806: @dependabot[bot] chore(deps): bump soupsieve from 2.4 to 2.4.1 in /docs/_build
- #5779: @dependabot[bot] chore(deps): bump golang from 1.20.2 to 1.20.3 in /tests/apps/gogrpc
- #5782: @dependabot[bot] chore(deps): bump golang from 1.20.2 to 1.20.3 in /tests/apps/go-fail-postdeploy
- #5788: @dependabot[bot] chore(deps): bump python from 3.11.2-alpine to 3.11.3-alpine in /docs/_build
- #5795: @dependabot[bot] chore(deps): bump pygments from 2.14.0 to 2.15.0 in /docs/_build
- #5796: @dependabot[bot] chore(deps): bump beautifulsoup4 from 4.12.0 to 4.12.2 in /docs/_build
- #5797: @dependabot[bot] chore(deps): bump mkdocs-material from 9.1.4 to 9.1.6 in /docs/_build
- #5801: @dependabot[bot] chore(deps): bump sinatra from 3.0.5 to 3.0.6 in /tests/apps/ruby
- #5794: @dependabot[bot] chore(deps): bump pymdown-extensions from 9.10 to 9.11 in /docs/_build
- #5793: @dependabot[bot] chore(deps): bump importlib-metadata from 6.1.0 to 6.3.0 in /docs/_build
- #5791: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.8.0 to 0.9.0 in /tests/apps/gogrpc
- #5789: @dependabot[bot] chore(deps): bump python from 3.11.2-buster to 3.11.3-buster in /tests/apps/dockerfile-release
- #5783: @dependabot[bot] chore(deps): bump golang from 1.20.2 to 1.20.3 in /tests/apps/zombies-dockerfile-tini
- #5781: @dependabot[bot] chore(deps): bump golang from 1.20.2 to 1.20.3 in /tests/apps/zombies-dockerfile-no-tini
- #5780: @dependabot[bot] chore(deps): bump golang from 1.20.2 to 1.20.3 in /tests/apps/go-fail-predeploy
- #5775: @dependabot[bot] chore(deps): bump ruby from 3.2.1 to 3.2.2 in /tests/apps/dockerfile-entrypoint
- #5774: @dependabot[bot] chore(deps): bump thin from 1.8.1 to 1.8.2 in /tests/apps/ruby
- #5765: @dependabot[bot] chore(deps): bump mkdocs-material from 9.1.3 to 9.1.4 in /docs/_build
2023-04-25 15:52:32 +00:00
josegonzalez
2c7823a34a Merge pull request #5810 from strugee/patch-1
Fix typo in 0.30.x migration guide
2023-04-25 11:48:58 -04:00
josegonzalez
89e88f1d1c Merge pull request #5809 from dokku/dependabot/pip/docs/_build/pygments-2.15.1
chore(deps): bump pygments from 2.15.0 to 2.15.1 in /docs/_build
2023-04-25 11:48:15 -04:00
josegonzalez
ff6a3437b0 Merge pull request #5811 from dokku/dependabot/docker/tests/apps/dockerfile-noexpose/node-20-alpine
chore(deps): bump node from 19-alpine to 20-alpine in /tests/apps/dockerfile-noexpose
2023-04-25 11:47:56 -04:00
josegonzalez
ffb747e318 Merge pull request #5812 from dokku/dependabot/docker/tests/apps/dockerfile-procfile/node-20-alpine
chore(deps): bump node from 19-alpine to 20-alpine in /tests/apps/dockerfile-procfile
2023-04-25 11:47:48 -04:00
dependabot[bot]
29e7d234f1 chore(deps): bump node in /tests/apps/dockerfile-noexpose
Bumps node from 19-alpine to 20-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-25 15:47:47 +00:00
josegonzalez
28d5cbfe46 Merge pull request #5813 from dokku/dependabot/docker/tests/apps/dockerfile-procfile-bad/node-20-alpine
chore(deps): bump node from 19-alpine to 20-alpine in /tests/apps/dockerfile-procfile-bad
2023-04-25 11:47:40 -04:00
dependabot[bot]
3503217f55 chore(deps): bump pygments from 2.15.0 to 2.15.1 in /docs/_build
Bumps [pygments](https://github.com/pygments/pygments) from 2.15.0 to 2.15.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.0...2.15.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-25 15:47:36 +00:00
josegonzalez
82e3863796 Merge pull request #5814 from dokku/dependabot/docker/tests/apps/dockerfile/node-20-alpine
chore(deps): bump node from 19-alpine to 20-alpine in /tests/apps/dockerfile
2023-04-25 11:47:31 -04:00
josegonzalez
d38820472e Merge pull request #5815 from dokku/dependabot/docker/tests/apps/dockerfile-app-json-formations/node-20-alpine
chore(deps): bump node from 19-alpine to 20-alpine in /tests/apps/dockerfile-app-json-formations
2023-04-25 11:47:23 -04:00
josegonzalez
868ee5f758 Merge pull request #5816 from dokku/dependabot/pip/tests/apps/dockerfile-release/sqlparse-0.4.4
chore(deps): bump sqlparse from 0.4.3 to 0.4.4 in /tests/apps/dockerfile-release
2023-04-25 11:47:12 -04:00
josegonzalez
c7f81d806b Merge pull request #5818 from dokku/dependabot/pip/docs/_build/importlib-metadata-6.6.0
chore(deps): bump importlib-metadata from 6.5.0 to 6.6.0 in /docs/_build
2023-04-25 11:46:49 -04:00
josegonzalez
b6083b9834 Merge pull request #5821 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.1.8
chore(deps): bump mkdocs-material from 9.1.6 to 9.1.8 in /docs/_build
2023-04-25 11:46:36 -04:00
josegonzalez
c658aac5a7 Merge pull request #5820 from tylercrumpton/master
Fix "cotainer" typo in one-off tasks docs page.
2023-04-25 11:46:17 -04:00
dependabot[bot]
4499c9190c chore(deps): bump mkdocs-material from 9.1.6 to 9.1.8 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.6 to 9.1.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.1.6...9.1.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-04-25 14:04:12 +00:00
Tyler Crumpton
8efb02827f Fix "cotainer" typo in one-off page. 2023-04-24 22:19:56 -04:00
dependabot[bot]
7d9ad8f285 chore(deps): bump importlib-metadata from 6.5.0 to 6.6.0 in /docs/_build
Bumps [importlib-metadata](https://github.com/python/importlib_metadata) from 6.5.0 to 6.6.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.5.0...v6.6.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-04-24 14:12:08 +00:00
dependabot[bot]
0d73bc19fc chore(deps): bump sqlparse in /tests/apps/dockerfile-release
Bumps [sqlparse](https://github.com/andialbrecht/sqlparse) from 0.4.3 to 0.4.4.
- [Release notes](https://github.com/andialbrecht/sqlparse/releases)
- [Changelog](https://github.com/andialbrecht/sqlparse/blob/master/CHANGELOG)
- [Commits](https://github.com/andialbrecht/sqlparse/compare/0.4.3...0.4.4)

---
updated-dependencies:
- dependency-name: sqlparse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-21 22:31:17 +00:00
dependabot[bot]
017e155941 chore(deps): bump node in /tests/apps/dockerfile-app-json-formations
Bumps node from 19-alpine to 20-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-21 14:02:46 +00:00
dependabot[bot]
bb4cb727f2 chore(deps): bump node in /tests/apps/dockerfile
Bumps node from 19-alpine to 20-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-21 14:01:57 +00:00
dependabot[bot]
6b47699dd1 chore(deps): bump node in /tests/apps/dockerfile-procfile-bad
Bumps node from 19-alpine to 20-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-21 14:01:43 +00:00
dependabot[bot]
000e5b08de chore(deps): bump node in /tests/apps/dockerfile-procfile
Bumps node from 19-alpine to 20-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-21 14:01:32 +00:00
AJ Jordan
17f3bc17d9 Fix typo 2023-04-19 20:25:05 -04:00
josegonzalez
7eb90da14b Merge pull request #5805 from dokku/dependabot/maven/tests/apps/java/org.eclipse.jetty-jetty-servlet-11.0.15
chore(deps): bump jetty-servlet from 11.0.14 to 11.0.15 in /tests/apps/java
2023-04-18 19:29:32 -04:00
josegonzalez
ad438fbe19 Merge pull request #5808 from dokku/dependabot/pip/docs/_build/importlib-metadata-6.5.0
chore(deps): bump importlib-metadata from 6.3.0 to 6.5.0 in /docs/_build
2023-04-18 19:22:01 -04:00
josegonzalez
99b4cf91dd Merge pull request #5802 from dokku/dependabot/pip/docs/_build/packaging-23.1
chore(deps): bump packaging from 23.0 to 23.1 in /docs/_build
2023-04-18 19:21:50 -04:00
josegonzalez
194bd7c72c Merge pull request #5806 from dokku/dependabot/pip/docs/_build/soupsieve-2.4.1
chore(deps): bump soupsieve from 2.4 to 2.4.1 in /docs/_build
2023-04-18 19:21:24 -04:00
dependabot[bot]
459a8c437b chore(deps): bump importlib-metadata from 6.3.0 to 6.5.0 in /docs/_build
Bumps [importlib-metadata](https://github.com/python/importlib_metadata) from 6.3.0 to 6.5.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.3.0...v6.5.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-04-18 14:05:20 +00:00
dependabot[bot]
5787fd0750 chore(deps): bump soupsieve from 2.4 to 2.4.1 in /docs/_build
Bumps [soupsieve](https://github.com/facelessuser/soupsieve) from 2.4 to 2.4.1.
- [Release notes](https://github.com/facelessuser/soupsieve/releases)
- [Commits](https://github.com/facelessuser/soupsieve/compare/2.4...2.4.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-17 14:10:14 +00:00
dependabot[bot]
fe24ce3276 chore(deps): bump jetty-servlet in /tests/apps/java
Bumps [jetty-servlet](https://github.com/eclipse/jetty.project) from 11.0.14 to 11.0.15.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-11.0.14...jetty-11.0.15)

---
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-04-17 13:58:12 +00:00
dependabot[bot]
6305947991 chore(deps): bump packaging from 23.0 to 23.1 in /docs/_build
Bumps [packaging](https://github.com/pypa/packaging) from 23.0 to 23.1.
- [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.0...23.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-13 14:06:10 +00:00
josegonzalez
e2064e9e47 Merge pull request #5779 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.20.3
chore(deps): bump golang from 1.20.2 to 1.20.3 in /tests/apps/gogrpc
2023-04-12 10:59:14 -04:00
josegonzalez
3da43da8db Merge pull request #5782 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.20.3
chore(deps): bump golang from 1.20.2 to 1.20.3 in /tests/apps/go-fail-postdeploy
2023-04-12 10:58:40 -04:00
josegonzalez
f319102931 Merge pull request #5788 from dokku/dependabot/docker/docs/_build/python-3.11.3-alpine
chore(deps): bump python from 3.11.2-alpine to 3.11.3-alpine in /docs/_build
2023-04-12 10:58:30 -04:00
josegonzalez
bacf4dd1f2 Merge pull request #5795 from dokku/dependabot/pip/docs/_build/pygments-2.15.0
chore(deps): bump pygments from 2.14.0 to 2.15.0 in /docs/_build
2023-04-12 10:58:19 -04:00
josegonzalez
cf10ee598a Merge pull request #5796 from dokku/dependabot/pip/docs/_build/beautifulsoup4-4.12.2
chore(deps): bump beautifulsoup4 from 4.12.0 to 4.12.2 in /docs/_build
2023-04-12 10:58:09 -04:00
josegonzalez
bd1be293e4 Merge pull request #5797 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.1.6
chore(deps): bump mkdocs-material from 9.1.4 to 9.1.6 in /docs/_build
2023-04-12 10:57:59 -04:00
josegonzalez
4ff159c897 Merge pull request #5801 from dokku/dependabot/bundler/tests/apps/ruby/sinatra-3.0.6
chore(deps): bump sinatra from 3.0.5 to 3.0.6 in /tests/apps/ruby
2023-04-12 10:57:48 -04:00
josegonzalez
8a74a0070d Merge pull request #5799 from dokku/5792-warn-when-missing-herokuish
Add ability to run dokku report without downloading herokuish image
2023-04-12 10:57:29 -04:00
dependabot[bot]
933a3e802c chore(deps): bump sinatra from 3.0.5 to 3.0.6 in /tests/apps/ruby
Bumps [sinatra](https://github.com/sinatra/sinatra) from 3.0.5 to 3.0.6.
- [Release notes](https://github.com/sinatra/sinatra/releases)
- [Changelog](https://github.com/sinatra/sinatra/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sinatra/sinatra/compare/v3.0.5...v3.0.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-12 13:57:02 +00:00
josegonzalez
68e78f114e Merge pull request #5800 from dokku/josegonzalez-patch-1
Fix indentation in registry configuration documentation
2023-04-11 23:18:46 -04:00
josegonzalez
12feec5562 docs: fix indentation in registry configuration documentation 2023-04-11 23:18:32 -04:00
josegonzalez
b11d9bc3a0 fix: correct shfmt issue and fallback to default case 2023-04-11 22:43:37 -04:00
Jose Diaz-Gonzalez
3a4365baf4 feat: add ability to run dokku report without downloading herokuish image
Closes #5792
2023-04-11 22:30:24 -04:00
dependabot[bot]
f6b35bfc14 chore(deps): bump python in /docs/_build
Bumps python from 3.11.2-alpine to 3.11.3-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-04-12 02:30:09 +00:00
dependabot[bot]
698ce64a33 chore(deps): bump pygments from 2.14.0 to 2.15.0 in /docs/_build
Bumps [pygments](https://github.com/pygments/pygments) from 2.14.0 to 2.15.0.
- [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.14.0...2.15.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-12 02:29:06 +00:00
dependabot[bot]
1eb122be85 chore(deps): bump mkdocs-material from 9.1.4 to 9.1.6 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.4 to 9.1.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.1.4...9.1.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-04-12 02:29:03 +00:00
dependabot[bot]
d738aa49dc chore(deps): bump beautifulsoup4 from 4.12.0 to 4.12.2 in /docs/_build
Bumps [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) from 4.12.0 to 4.12.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-12 02:29:00 +00:00
josegonzalez
d13ddb74c0 Merge pull request #5794 from dokku/dependabot/pip/docs/_build/pymdown-extensions-9.11
chore(deps): bump pymdown-extensions from 9.10 to 9.11 in /docs/_build
2023-04-11 22:28:29 -04:00
josegonzalez
a86e82353e Merge pull request #5793 from dokku/dependabot/pip/docs/_build/importlib-metadata-6.3.0
chore(deps): bump importlib-metadata from 6.1.0 to 6.3.0 in /docs/_build
2023-04-11 22:28:21 -04:00
dependabot[bot]
7ab55e111e chore(deps): bump golang from 1.20.2 to 1.20.3 in /tests/apps/gogrpc
Bumps golang from 1.20.2 to 1.20.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-04-12 02:28:20 +00:00
dependabot[bot]
9c6fc8a81c chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.20.2 to 1.20.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-04-12 02:28:19 +00:00
josegonzalez
f6919ee252 Merge pull request #5791 from dokku/dependabot/go_modules/tests/apps/gogrpc/golang.org/x/net-0.9.0
chore(deps): bump golang.org/x/net from 0.8.0 to 0.9.0 in /tests/apps/gogrpc
2023-04-11 22:28:13 -04:00
josegonzalez
334cf430cb Merge pull request #5789 from dokku/dependabot/docker/tests/apps/dockerfile-release/python-3.11.3-buster
chore(deps): bump python from 3.11.2-buster to 3.11.3-buster in /tests/apps/dockerfile-release
2023-04-11 22:28:04 -04:00
josegonzalez
5a13128c36 Merge pull request #5783 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.20.3
chore(deps): bump golang from 1.20.2 to 1.20.3 in /tests/apps/zombies-dockerfile-tini
2023-04-11 22:27:54 -04:00
josegonzalez
a60e65c824 Merge pull request #5781 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.20.3
chore(deps): bump golang from 1.20.2 to 1.20.3 in /tests/apps/zombies-dockerfile-no-tini
2023-04-11 22:27:42 -04:00
josegonzalez
6aa3583416 Merge pull request #5780 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.20.3
chore(deps): bump golang from 1.20.2 to 1.20.3 in /tests/apps/go-fail-predeploy
2023-04-11 22:27:33 -04:00
josegonzalez
e4059fc848 Merge pull request #5775 from dokku/dependabot/docker/tests/apps/dockerfile-entrypoint/ruby-3.2.2
chore(deps): bump ruby from 3.2.1 to 3.2.2 in /tests/apps/dockerfile-entrypoint
2023-04-11 22:27:19 -04:00
josegonzalez
62acbc4ffe Merge pull request #5774 from dokku/dependabot/bundler/tests/apps/ruby/thin-1.8.2
chore(deps): bump thin from 1.8.1 to 1.8.2 in /tests/apps/ruby
2023-04-11 22:27:07 -04:00
dependabot[bot]
bfea0fbdc4 chore(deps): bump pymdown-extensions from 9.10 to 9.11 in /docs/_build
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.10 to 9.11.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.10...9.11)

---
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-04-10 14:08:47 +00:00
dependabot[bot]
06fe283bc5 chore(deps): bump importlib-metadata from 6.1.0 to 6.3.0 in /docs/_build
Bumps [importlib-metadata](https://github.com/python/importlib_metadata) from 6.1.0 to 6.3.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.1.0...v6.3.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-04-10 14:08:40 +00:00
dependabot[bot]
c15e4ee8bc chore(deps): bump golang.org/x/net in /tests/apps/gogrpc
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.8.0 to 0.9.0.
- [Release notes](https://github.com/golang/net/releases)
- [Commits](https://github.com/golang/net/compare/v0.8.0...v0.9.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-04-07 13:57:40 +00:00
dependabot[bot]
f8c8031ded chore(deps): bump python in /tests/apps/dockerfile-release
Bumps python from 3.11.2-buster to 3.11.3-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-04-06 14:04:32 +00:00
Michael OBrien
2cac8718dd Improve ed25519 + rsa ssh key search and presentation 2023-04-05 18:52:36 -07:00
Michael OBrien
343a98560b Check for both default rsa and ed25519 ssh public key files 2023-04-05 15:34:57 -07:00
dependabot[bot]
17b3e4f078 chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.20.2 to 1.20.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-04-05 14:12:57 +00:00
dependabot[bot]
c135d205d6 chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.20.2 to 1.20.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-04-05 14:03:33 +00:00
dependabot[bot]
d539ceed0c chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.20.2 to 1.20.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-04-05 14:03:33 +00:00
dependabot[bot]
30a0c864e2 chore(deps): bump ruby in /tests/apps/dockerfile-entrypoint
Bumps ruby from 3.2.1 to 3.2.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-31 14:03:56 +00:00
dependabot[bot]
9e00d8738c chore(deps): bump thin from 1.8.1 to 1.8.2 in /tests/apps/ruby
Bumps [thin](https://github.com/macournoyer/thin) from 1.8.1 to 1.8.2.
- [Release notes](https://github.com/macournoyer/thin/releases)
- [Changelog](https://github.com/macournoyer/thin/blob/master/CHANGELOG)
- [Commits](https://github.com/macournoyer/thin/commits)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-31 13:57:30 +00:00
josegonzalez
06ebf84943 Merge pull request #5763 from dokku/josegonzalez-patch-1
Set dokku version correctly for digitalocean image build
2023-03-24 23:38:33 -04:00
josegonzalez
9068fe8bd5 Merge pull request #5765 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.1.4
chore(deps): bump mkdocs-material from 9.1.3 to 9.1.4 in /docs/_build
2023-03-24 18:15:34 -04:00
dependabot[bot]
dbe856eafb chore(deps): bump mkdocs-material from 9.1.3 to 9.1.4 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.3 to 9.1.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.1.3...9.1.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-03-24 14:08:17 +00:00
josegonzalez
facf2f2f53 fix: set dokku version correctly for digitalocean image buld 2023-03-21 15:57:13 -04:00
Dokku Bot
35a9036f79 Release 0.30.2
# History

## 0.30.2

Install/update via the bootstrap script:

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

### Bug Fixes

- #5749: @josegonzalez Keep image specified by git:from-image on app rebuild
- #5750: @josegonzalez Return an error when an invalid scale count is encountered
- #5748: @josegonzalez Correct set source type and source metadata

### New Features

- #5754: @josegonzalez Ignore release branches in changelog output

### Removals

- #5756: @josegonzalez Drop code supporting git versions without worktree support

### Documentation

- #5744: @josegonzalez Add DOKKU_LIB_HOST_ROOT to docker usage docs
- #5740: @josegonzalez Add a note about how running plugin:install does not apply for docker-based installs
- #5719: @TkTech Give a quick example of what to do after disabling the proxy to expose a UDP port
- #5737: @Samuelodan Update instructions for setting letsencrypt global email
- #5736: @josegonzalez Remove extra backtick from nginx docs
- #5725: @IgnisDa Add surrealdb community plugin

### Tests

- #5755: @josegonzalez Ignore issue where errors are required to be lowercased

### Dependencies

- #5762: @dependabot[bot] chore(deps): bump watchdog from 2.3.1 to 3.0.0 in /docs/_build
- #5760: @dependabot[bot] chore(deps): bump importlib-metadata from 6.0.0 to 6.1.0 in /docs/_build
- #5761: @dependabot[bot] chore(deps): bump beautifulsoup4 from 4.11.2 to 4.12.0 in /docs/_build
- #5745: @dependabot[bot] chore(deps): bump mkdocs-material from 9.1.2 to 9.1.3 in /docs/_build
- #5746: @dependabot[bot] chore(deps): bump rack from 2.2.6.3 to 2.2.6.4 in /tests/apps/ruby
- #5732: @dependabot[bot] chore(deps): bump github.com/golang/protobuf from 1.5.2 to 1.5.3 in /tests/apps/gogrpc
- #5727: @dependabot[bot] chore(deps): bump golang from 1.20.1 to 1.20.2 in /tests/apps/zombies-dockerfile-tini
- #5708: @dependabot[bot] chore(deps): bump zipp from 3.14.0 to 3.15.0 in /docs/_build
- #5734: @dependabot[bot] chore(deps): bump mkdocs-material from 9.1.0 to 9.1.2 in /docs/_build
- #5731: @dependabot[bot] chore(deps): bump rack from 2.2.6.2 to 2.2.6.3 in /tests/apps/ruby
- #5730: @dependabot[bot] chore(deps): bump golang from 1.20.1 to 1.20.2 in /tests/apps/go-fail-predeploy
- #5729: @dependabot[bot] chore(deps): bump golang from 1.20.1 to 1.20.2 in /tests/apps/zombies-dockerfile-no-tini
- #5728: @dependabot[bot] chore(deps): bump golang from 1.20.1 to 1.20.2 in /tests/apps/gogrpc
- #5726: @dependabot[bot] chore(deps): bump golang from 1.20.1 to 1.20.2 in /tests/apps/go-fail-postdeploy
- #5723: @dependabot[bot] chore(deps): bump pymdown-extensions from 9.9.2 to 9.10 in /docs/_build
- #5722: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.7.0 to 0.8.0 in /tests/apps/gogrpc
- #5721: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.0.0-20220225172249-27dd8689420f to 0.7.0 in /plugins/common
- #5715: @dependabot[bot] chore(deps): bump luizm/action-sh-checker from 0.5.0 to 0.7.0
- #5712: @dependabot[bot] chore(deps): bump jetty-servlet from 11.0.13 to 11.0.14 in /tests/apps/java
- #5713: @dependabot[bot] chore(deps): bump watchdog from 2.3.0 to 2.3.1 in /docs/_build
- #5717: @dependabot[bot] chore(deps): bump mkdocs-material from 9.0.14 to 9.1.0 in /docs/_build
- #5703: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.0.0-20190813141303-74dc4d7220e7 to 0.7.0 in /tests/apps/gogrpc
- #5705: @dependabot[bot] chore(deps): bump mkdocs-material from 9.0.13 to 9.0.14 in /docs/_build
- #5704: @dependabot[bot] chore(deps): bump watchdog from 2.2.1 to 2.3.0 in /docs/_build
- #5698: @dependabot[bot] chore(deps): bump golang.org/x/text from 0.3.7 to 0.3.8 in /plugins/common
- #5697: @dependabot[bot] chore(deps): bump golang.org/x/text from 0.3.2 to 0.3.8 in /tests/apps/gogrpc

### Other

- #5751: @josegonzalez Update all golang dependencies to fix go.0 tests
2023-03-21 08:49:13 +00:00
josegonzalez
eee934cf23 Merge pull request #5762 from dokku/dependabot/pip/docs/_build/watchdog-3.0.0
chore(deps): bump watchdog from 2.3.1 to 3.0.0 in /docs/_build
2023-03-20 18:10:07 -04:00
josegonzalez
6b95edbe3b Merge pull request #5760 from dokku/dependabot/pip/docs/_build/importlib-metadata-6.1.0
chore(deps): bump importlib-metadata from 6.0.0 to 6.1.0 in /docs/_build
2023-03-20 13:51:41 -04:00
josegonzalez
414821f5d0 Merge pull request #5761 from dokku/dependabot/pip/docs/_build/beautifulsoup4-4.12.0
chore(deps): bump beautifulsoup4 from 4.11.2 to 4.12.0 in /docs/_build
2023-03-20 13:51:30 -04:00
dependabot[bot]
ddfb03b581 chore(deps): bump watchdog from 2.3.1 to 3.0.0 in /docs/_build
Bumps [watchdog](https://github.com/gorakhargosh/watchdog) from 2.3.1 to 3.0.0.
- [Release notes](https://github.com/gorakhargosh/watchdog/releases)
- [Changelog](https://github.com/gorakhargosh/watchdog/blob/master/changelog.rst)
- [Commits](https://github.com/gorakhargosh/watchdog/compare/v2.3.1...v3.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-20 14:12:27 +00:00
dependabot[bot]
6dcccc6a51 chore(deps): bump beautifulsoup4 from 4.11.2 to 4.12.0 in /docs/_build
Bumps [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) from 4.11.2 to 4.12.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-20 14:12:16 +00:00
dependabot[bot]
d65e5ccfd3 chore(deps): bump importlib-metadata from 6.0.0 to 6.1.0 in /docs/_build
Bumps [importlib-metadata](https://github.com/python/importlib_metadata) from 6.0.0 to 6.1.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.0.0...v6.1.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-03-20 14:12:10 +00:00
josegonzalez
5af750b469 Merge pull request #5756 from dokku/5662-drop-unused-git-code
Drop code supporting git versions without worktree support
2023-03-20 03:03:08 -04:00
Jose Diaz-Gonzalez
98970a597c chore: drop code supporting git versions without worktree support
This was necessary on Ubuntu 14.04 (and maybe 16.04) due to using a version of Dokku older than #2699, so we can safely drop the support here as we haven't supported either in a few years.
2023-03-20 00:51:50 -04:00
josegonzalez
fad774f2f2 Merge pull request #5755 from dokku/ignore-staticcheck
Ignore issue where errors are required to be lowercased
2023-03-20 00:27:54 -04:00
Jose Diaz-Gonzalez
ac47a2e425 feat: ignore issue where errors are required to be lowercased
For aesthetic reasons, error messages start with an uppercase character. This allows us to print them as is.
2023-03-20 00:27:23 -04:00
josegonzalez
9276e95d51 Merge pull request #5754 from dokku/release-branches
Ignore release branches in changelog output
2023-03-19 23:50:43 -04:00
Jose Diaz-Gonzalez
ea89fb5810 feat: ignore release branches in changelog output
This change allows us to have an integration branch for each release that contains tested changes for each minor. Rather than have to block merging until a minor is ready for release - and subsequently have to deal with constant rebase issues - we will now have an integration branch per-release. This will be the target for minor-related changes - mostly new features, but also refactors and bc-breaks - while the trunk branch will stay safe for merging patch changes.

Note that we'll still need to rebase the integration branch every so often, but at least this allows us to avoid many long-running MRs.
2023-03-19 23:42:22 -04:00
josegonzalez
4e55f7186c Merge pull request #5751 from dokku/fix-go-0-tests
Update all golang dependencies to fix go.0 tests
2023-03-19 19:17:54 -04:00
Jose Diaz-Gonzalez
6499fc29a0 chore: update all golang dependencies to fix go.0 tests 2023-03-19 16:37:50 -04:00
josegonzalez
45ae68bfbf Merge pull request #5749 from dokku/5702-keep-image-on-rebuild
Keep image specified by git:from-image on app rebuild
2023-03-18 14:10:44 -04:00
josegonzalez
b77d7a10aa Merge pull request #5750 from dokku/5710-return-scale-error
Return an error when an invalid scale count is encountered
2023-03-18 14:10:28 -04:00
josegonzalez
d1a4e7cb33 Merge pull request #5748 from dokku/josegonzalez-patch-1
Correct set source type and source metadata
2023-03-18 05:15:57 -04:00
Jose Diaz-Gonzalez
07e0eb4e50 feat: return an error when an invalid scale count is encountered
Closes #5710
2023-03-18 05:07:03 -04:00
Jose Diaz-Gonzalez
510cbd2d34 fix: keep image specified by git:from-image on app rebuild
Rather than always delete the image, we will now check if the alt image tag is equivalent to the source-image specified by the git:from-image command. If it is, we will ignore deletion.

Closes #5702
2023-03-18 04:55:54 -04:00
josegonzalez
b8bbf10f90 fix: correct set source type and source metadata 2023-03-18 04:19:19 -04:00
josegonzalez
c8abd803bd Merge pull request #5745 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.1.3
chore(deps): bump mkdocs-material from 9.1.2 to 9.1.3 in /docs/_build
2023-03-18 01:15:27 -04:00
josegonzalez
aadce9e220 Merge pull request #5746 from dokku/dependabot/bundler/tests/apps/ruby/rack-2.2.6.4
chore(deps): bump rack from 2.2.6.3 to 2.2.6.4 in /tests/apps/ruby
2023-03-18 01:15:05 -04:00
dependabot[bot]
4876d12898 chore(deps): bump rack from 2.2.6.3 to 2.2.6.4 in /tests/apps/ruby
Bumps [rack](https://github.com/rack/rack) from 2.2.6.3 to 2.2.6.4.
- [Release notes](https://github.com/rack/rack/releases)
- [Changelog](https://github.com/rack/rack/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rack/rack/compare/v2.2.6.3...v2.2.6.4)

---
updated-dependencies:
- dependency-name: rack
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-16 12:14:56 +00:00
dependabot[bot]
06a2ec3d7d chore(deps): bump mkdocs-material from 9.1.2 to 9.1.3 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.2 to 9.1.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.1.2...9.1.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-03-15 14:07:45 +00:00
josegonzalez
7e7c476736 Merge pull request #5744 from dokku/5739-plugin-env-var
Add DOKKU_LIB_HOST_ROOT to docker usage docs
2023-03-15 04:07:20 -04:00
josegonzalez
bcab9ee2c5 docs: add DOKKU_LIB_HOST_ROOT to docker usage docs
This is necessary to fix certain plugins that need to be aware of host paths for volume mounting.
2023-03-15 04:07:07 -04:00
josegonzalez
be8bb4fcfd Merge pull request #5740 from dokku/5739-docs
Add a note about how running plugin:install does not apply for docker-based installs
2023-03-14 07:38:50 -04:00
josegonzalez
9f410a1a5a docs: add a note about alternative method for plugin installation for docker-based installs 2023-03-14 07:38:40 -04:00
josegonzalez
b31dda1348 docs: add a note about how running plugin:install does not apply for docker-based installs
Refs #5739
2023-03-14 07:35:27 -04:00
josegonzalez
11ab7e4442 Merge pull request #5719 from TkTech/udp_example
Give a quick example of what to do after disabling the proxy to expos…
2023-03-14 02:17:44 -04:00
josegonzalez
88efbadf17 Merge pull request #5732 from dokku/dependabot/go_modules/tests/apps/gogrpc/github.com/golang/protobuf-1.5.3
chore(deps): bump github.com/golang/protobuf from 1.5.2 to 1.5.3 in /tests/apps/gogrpc
2023-03-14 01:09:13 -04:00
josegonzalez
259243008c Merge pull request #5727 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.20.2
chore(deps): bump golang from 1.20.1 to 1.20.2 in /tests/apps/zombies-dockerfile-tini
2023-03-14 01:08:59 -04:00
josegonzalez
5f54356876 Merge pull request #5737 from Samuelodan/patch-1
Update instructions for setting letsencrypt global email
2023-03-14 01:08:43 -04:00
Samuelodan
a7695170a6 Update instructions for setting letsencrypt global email
Since there's no instruction for how to use the DOKKU_LETSENCRYPT_EMAIL env variable, I'm not sure why it's included here.
So, instead, I'm proposing to include the step for directly setting the global email for `dokku-letsencrypt`.

(It'll be nice to also get some explanation behind creating that env variable)
2023-03-13 05:03:58 +01:00
josegonzalez
e947ba6b57 Merge pull request #5708 from dokku/dependabot/pip/docs/_build/zipp-3.15.0
chore(deps): bump zipp from 3.14.0 to 3.15.0 in /docs/_build
2023-03-11 14:21:24 -05:00
dependabot[bot]
d8fab78967 chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.20.1 to 1.20.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-03-11 19:21:21 +00:00
josegonzalez
292483eb7b Merge pull request #5734 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.1.2
chore(deps): bump mkdocs-material from 9.1.0 to 9.1.2 in /docs/_build
2023-03-11 14:21:08 -05:00
josegonzalez
b4012b80cc Merge pull request #5731 from dokku/dependabot/bundler/tests/apps/ruby/rack-2.2.6.3
chore(deps): bump rack from 2.2.6.2 to 2.2.6.3 in /tests/apps/ruby
2023-03-11 14:20:52 -05:00
dependabot[bot]
fca30a3d59 chore(deps): bump github.com/golang/protobuf in /tests/apps/gogrpc
Bumps [github.com/golang/protobuf](https://github.com/golang/protobuf) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/golang/protobuf/releases)
- [Commits](https://github.com/golang/protobuf/compare/v1.5.2...v1.5.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-11 19:20:47 +00:00
josegonzalez
9289c0f0b5 Merge pull request #5730 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.20.2
chore(deps): bump golang from 1.20.1 to 1.20.2 in /tests/apps/go-fail-predeploy
2023-03-11 14:20:43 -05:00
josegonzalez
2f64dfedf1 Merge pull request #5729 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.20.2
chore(deps): bump golang from 1.20.1 to 1.20.2 in /tests/apps/zombies-dockerfile-no-tini
2023-03-11 14:20:30 -05:00
josegonzalez
f99f9d39cc Merge pull request #5728 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.20.2
chore(deps): bump golang from 1.20.1 to 1.20.2 in /tests/apps/gogrpc
2023-03-11 14:20:23 -05:00
josegonzalez
6224dc636a Merge pull request #5726 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.20.2
chore(deps): bump golang from 1.20.1 to 1.20.2 in /tests/apps/go-fail-postdeploy
2023-03-11 14:20:07 -05:00
josegonzalez
6587b2967f Merge pull request #5723 from dokku/dependabot/pip/docs/_build/pymdown-extensions-9.10
chore(deps): bump pymdown-extensions from 9.9.2 to 9.10 in /docs/_build
2023-03-11 14:20:00 -05:00
josegonzalez
ef5a40d954 Merge pull request #5722 from dokku/dependabot/go_modules/tests/apps/gogrpc/golang.org/x/net-0.8.0
chore(deps): bump golang.org/x/net from 0.7.0 to 0.8.0 in /tests/apps/gogrpc
2023-03-11 14:19:52 -05:00
josegonzalez
457d223696 Merge pull request #5721 from dokku/dependabot/go_modules/plugins/common/golang.org/x/net-0.7.0
chore(deps): bump golang.org/x/net from 0.0.0-20220225172249-27dd8689420f to 0.7.0 in /plugins/common
2023-03-11 14:19:43 -05:00
josegonzalez
9d6e8a6424 Merge pull request #5736 from dokku/josegonzalez-patch-1
Remove extra backtick from nginx docs
2023-03-11 14:18:55 -05:00
josegonzalez
12f0498af8 docs: remove extra backtick from nginx docs 2023-03-11 14:18:45 -05:00
dependabot[bot]
477b3f1b73 chore(deps): bump mkdocs-material from 9.1.0 to 9.1.2 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.0 to 9.1.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.0...9.1.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-03-10 14:08:24 +00:00
dependabot[bot]
2dcb81e566 chore(deps): bump rack from 2.2.6.2 to 2.2.6.3 in /tests/apps/ruby
Bumps [rack](https://github.com/rack/rack) from 2.2.6.2 to 2.2.6.3.
- [Release notes](https://github.com/rack/rack/releases)
- [Changelog](https://github.com/rack/rack/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rack/rack/compare/v2.2.6.2...v2.2.6.3)

---
updated-dependencies:
- dependency-name: rack
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-09 02:43:12 +00:00
dependabot[bot]
8aab04c0cf chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.20.1 to 1.20.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-03-08 14:07:34 +00:00
dependabot[bot]
ed230de38d chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.20.1 to 1.20.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-03-08 14:07:19 +00:00
dependabot[bot]
e2246e0d21 chore(deps): bump golang from 1.20.1 to 1.20.2 in /tests/apps/gogrpc
Bumps golang from 1.20.1 to 1.20.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-03-08 14:07:01 +00:00
dependabot[bot]
5ffa9d08f4 chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.20.1 to 1.20.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-03-08 14:06:41 +00:00
josegonzalez
1f981893f6 Merge pull request #5725 from IgnisDa/master
Add surrealdb community plugin
2023-03-07 12:19:15 -05:00
Diptesh Choudhuri
04fec4a442 fix(plugins-docs): put surrealdb under correct header 2023-03-07 14:49:25 +05:30
Diptesh Choudhuri
17ac16eddf docs(plugins): add dokku-surrealdb 2023-03-07 14:46:43 +05:30
dependabot[bot]
801b59944e chore(deps): bump pymdown-extensions from 9.9.2 to 9.10 in /docs/_build
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.9.2 to 9.10.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.9.2...9.10)

---
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-03-06 14:25:50 +00:00
dependabot[bot]
671e95bdf2 chore(deps): bump golang.org/x/net in /tests/apps/gogrpc
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.7.0 to 0.8.0.
- [Release notes](https://github.com/golang/net/releases)
- [Commits](https://github.com/golang/net/compare/v0.7.0...v0.8.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-03-06 14:01:35 +00:00
dependabot[bot]
c051517a1a chore(deps): bump zipp from 3.14.0 to 3.15.0 in /docs/_build
Bumps [zipp](https://github.com/jaraco/zipp) from 3.14.0 to 3.15.0.
- [Release notes](https://github.com/jaraco/zipp/releases)
- [Changelog](https://github.com/jaraco/zipp/blob/main/CHANGES.rst)
- [Commits](https://github.com/jaraco/zipp/compare/v3.14.0...v3.15.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-03-06 00:45:58 +00:00
josegonzalez
9f399387a5 Merge pull request #5715 from dokku/dependabot/github_actions/luizm/action-sh-checker-0.7.0
chore(deps): bump luizm/action-sh-checker from 0.5.0 to 0.7.0
2023-03-05 19:45:52 -05:00
dependabot[bot]
6040024110 chore(deps): bump golang.org/x/net in /plugins/common
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20220225172249-27dd8689420f to 0.7.0.
- [Release notes](https://github.com/golang/net/releases)
- [Commits](https://github.com/golang/net/commits/v0.7.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-06 00:45:49 +00:00
josegonzalez
0642379858 Merge pull request #5712 from dokku/dependabot/maven/tests/apps/java/org.eclipse.jetty-jetty-servlet-11.0.14
chore(deps): bump jetty-servlet from 11.0.13 to 11.0.14 in /tests/apps/java
2023-03-05 19:45:21 -05:00
josegonzalez
5730bf7722 Merge pull request #5713 from dokku/dependabot/pip/docs/_build/watchdog-2.3.1
chore(deps): bump watchdog from 2.3.0 to 2.3.1 in /docs/_build
2023-03-05 19:45:09 -05:00
josegonzalez
3ed39c8396 Merge pull request #5717 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.1.0
chore(deps): bump mkdocs-material from 9.0.14 to 9.1.0 in /docs/_build
2023-03-05 19:44:36 -05:00
Tyler Kennedy
b229065fc5 Give a quick example of what to do after disabling the proxy to expose a UDP port. 2023-03-03 12:43:38 -05:00
dependabot[bot]
ad54537443 chore(deps): bump mkdocs-material from 9.0.14 to 9.1.0 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.0.14 to 9.1.0.
- [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.0.14...9.1.0)

---
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-03-02 14:25:45 +00:00
dependabot[bot]
302c70bfe2 chore(deps): bump luizm/action-sh-checker from 0.5.0 to 0.7.0
Bumps [luizm/action-sh-checker](https://github.com/luizm/action-sh-checker) from 0.5.0 to 0.7.0.
- [Release notes](https://github.com/luizm/action-sh-checker/releases)
- [Commits](edd0e45ecf...76ab0b22e1)

---
updated-dependencies:
- dependency-name: luizm/action-sh-checker
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-01 14:07:29 +00:00
dependabot[bot]
8ca709604a chore(deps): bump watchdog from 2.3.0 to 2.3.1 in /docs/_build
Bumps [watchdog](https://github.com/gorakhargosh/watchdog) from 2.3.0 to 2.3.1.
- [Release notes](https://github.com/gorakhargosh/watchdog/releases)
- [Changelog](https://github.com/gorakhargosh/watchdog/blob/master/changelog.rst)
- [Commits](https://github.com/gorakhargosh/watchdog/compare/v2.3.0...v2.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-28 14:11:43 +00:00
dependabot[bot]
a2a4465df4 chore(deps): bump jetty-servlet in /tests/apps/java
Bumps [jetty-servlet](https://github.com/eclipse/jetty.project) from 11.0.13 to 11.0.14.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-11.0.13...jetty-11.0.14)

---
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-02-28 13:58:11 +00:00
josegonzalez
50201a5457 Merge pull request #5703 from dokku/dependabot/go_modules/tests/apps/gogrpc/golang.org/x/net-0.7.0
chore(deps): bump golang.org/x/net from 0.0.0-20190813141303-74dc4d7220e7 to 0.7.0 in /tests/apps/gogrpc
2023-02-25 00:31:16 -05:00
dependabot[bot]
22a1366b2a chore(deps): bump golang.org/x/net in /tests/apps/gogrpc
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20190813141303-74dc4d7220e7 to 0.7.0.
- [Release notes](https://github.com/golang/net/releases)
- [Commits](https://github.com/golang/net/commits/v0.7.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-02-25 03:35:38 +00:00
josegonzalez
53be102a16 Merge pull request #5705 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.0.14
chore(deps): bump mkdocs-material from 9.0.13 to 9.0.14 in /docs/_build
2023-02-24 22:35:05 -05:00
josegonzalez
e88424ed9f Merge pull request #5704 from dokku/dependabot/pip/docs/_build/watchdog-2.3.0
chore(deps): bump watchdog from 2.2.1 to 2.3.0 in /docs/_build
2023-02-24 22:34:45 -05:00
josegonzalez
c79abd9d64 Merge pull request #5698 from dokku/dependabot/go_modules/plugins/common/golang.org/x/text-0.3.8
chore(deps): bump golang.org/x/text from 0.3.7 to 0.3.8 in /plugins/common
2023-02-24 22:34:36 -05:00
josegonzalez
606f69b01e Merge pull request #5697 from dokku/dependabot/go_modules/tests/apps/gogrpc/golang.org/x/text-0.3.8
chore(deps): bump golang.org/x/text from 0.3.2 to 0.3.8 in /tests/apps/gogrpc
2023-02-24 22:34:28 -05:00
dependabot[bot]
c7e0e80181 chore(deps): bump mkdocs-material from 9.0.13 to 9.0.14 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.0.13 to 9.0.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.0.13...9.0.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-02-24 14:08:36 +00:00
dependabot[bot]
0e7a4ab3f3 chore(deps): bump watchdog from 2.2.1 to 2.3.0 in /docs/_build
Bumps [watchdog](https://github.com/gorakhargosh/watchdog) from 2.2.1 to 2.3.0.
- [Release notes](https://github.com/gorakhargosh/watchdog/releases)
- [Changelog](https://github.com/gorakhargosh/watchdog/blob/master/changelog.rst)
- [Commits](https://github.com/gorakhargosh/watchdog/compare/v2.2.1...v2.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-24 14:08:31 +00:00
dependabot[bot]
4319a9f787 chore(deps): bump golang.org/x/text in /plugins/common
Bumps [golang.org/x/text](https://github.com/golang/text) from 0.3.7 to 0.3.8.
- [Release notes](https://github.com/golang/text/releases)
- [Commits](https://github.com/golang/text/compare/v0.3.7...v0.3.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-23 09:29:22 +00:00
dependabot[bot]
26dd64fa5b chore(deps): bump golang.org/x/text in /tests/apps/gogrpc
Bumps [golang.org/x/text](https://github.com/golang/text) from 0.3.2 to 0.3.8.
- [Release notes](https://github.com/golang/text/releases)
- [Commits](https://github.com/golang/text/compare/v0.3.2...v0.3.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-23 02:03:18 +00:00
Dokku Bot
38847373cd Release 0.30.1
# History

## 0.30.1

Install/update via the bootstrap script:

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

### Bug Fixes

- #5690: @josegonzalez Update dependencies for golang code to fix builds
- #5683: @josegonzalez Ensure the services directory also exists
- #5688: @josegonzalez Set custom entrypoint for pack-based containers so custom command/argument combinations are respected

### New Features

- #5682: @josegonzalez Build Digitalocean image automatically upon release
- #5675: @josegonzalez Add new sections to release notes

### Documentation

- #5695: @josegonzalez Add a note about required upgrade to 0.29.x for versions prior to 0.25.x
- #5689: @josegonzalez Add note about ubuntu 18.04 being deprecated
- #5684: @josegonzalez Note that the app.json is pulled from the specified image when deploying via git:from-image
- #5679: @josegonzalez Revert invalid replacement in homepage html path objects
- #5678: @josegonzalez Cleanup docs on homepage for installation

### Dependencies

- #5693: @dependabot[bot] chore(deps): bump mkdocs-material from 9.0.12 to 9.0.13 in /docs/_build
- #5694: @dependabot[bot] chore(deps): bump zipp from 3.13.0 to 3.14.0 in /docs/_build
- #5677: @dependabot[bot] chore(deps): bump flask from 2.2.2 to 2.2.3 in /tests/apps/multi
- #5676: @dependabot[bot] chore(deps): bump flask from 2.2.2 to 2.2.3 in /tests/apps/python-flask
2023-02-21 03:49:06 +00:00
josegonzalez
3bdda96fb1 Merge pull request #5690 from dokku/go-mod-update
Update dependencies for golang code to fix builds
2023-02-20 17:49:51 -05:00
Jose Diaz-Gonzalez
ae0c2a5867 chore: update all depdendencies to match latest net and sys packages 2023-02-20 16:36:01 -05:00
Jose Diaz-Gonzalez
4f9dbd6011 chore: update to go 1.19.6 2023-02-20 16:28:10 -05:00
josegonzalez
982f95e893 Merge pull request #5693 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.0.13
chore(deps): bump mkdocs-material from 9.0.12 to 9.0.13 in /docs/_build
2023-02-20 16:16:46 -05:00
josegonzalez
a1897149c8 Merge pull request #5694 from dokku/dependabot/pip/docs/_build/zipp-3.14.0
chore(deps): bump zipp from 3.13.0 to 3.14.0 in /docs/_build
2023-02-20 16:16:22 -05:00
josegonzalez
7178561280 Merge pull request #5695 from dokku/josegonzalez-patch-1
Add a note about required upgrade to 0.29.x for versions prior to 0.25.x
2023-02-20 16:08:49 -05:00
josegonzalez
ca444af7d1 docs: add a note about required upgrade to 0.29.x
We introduced a method of migrating from DOKKU_SCALE to app.json in 0.25.x. This was removed in 0.30.x, so users need to ensure they either set their own scale manually _or_ upgrade. The upgrade is probably the safest bet.
2023-02-20 16:08:31 -05:00
dependabot[bot]
aa2e0eadfa chore(deps): bump zipp from 3.13.0 to 3.14.0 in /docs/_build
Bumps [zipp](https://github.com/jaraco/zipp) from 3.13.0 to 3.14.0.
- [Release notes](https://github.com/jaraco/zipp/releases)
- [Changelog](https://github.com/jaraco/zipp/blob/main/CHANGES.rst)
- [Commits](https://github.com/jaraco/zipp/compare/v3.13.0...v3.14.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-02-20 14:23:07 +00:00
dependabot[bot]
28ab4e1bc5 chore(deps): bump mkdocs-material from 9.0.12 to 9.0.13 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.0.12 to 9.0.13.
- [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.0.12...9.0.13)

---
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-02-20 14:23:03 +00:00
Jose Diaz-Gonzalez
465634a16e chore: update golang.org/x/sys dependency to keep in sync with common plugin 2023-02-18 19:18:50 -05:00
josegonzalez
3196947857 Merge pull request #5689 from dokku/josegonzalez-patch-1
Add note about ubuntu 18.04 being deprecated
2023-02-17 22:11:30 -05:00
josegonzalez
992b27fcf9 docs: add note about ubuntu 18.04 being deprecated
This was an omission by error in the 0.30.x release notes.
2023-02-17 22:11:09 -05:00
Jose Diaz-Gonzalez
84f6b0ab53 chore: run go mod tidy
The following script was run from within the `plugins` directory:

    for plugin in *; do
        if [[ ! -f "/root/go/src/github.com/dokku/dokku/plugins/$plugin/go.mod" ]]; then continue; fi;
        echo "$plugin"
        pushd /root/go/src/github.com/dokku/dokku/plugins/$plugin;
        go mod tidy;
        go mod download;
        popd >/dev/null;
    done
2023-02-17 22:08:22 -05:00
josegonzalez
8f2856f8ec Merge pull request #5683 from dokku/5614-josegonzalez-patch-1
Ensure the services directory also exists
2023-02-17 22:05:08 -05:00
josegonzalez
54d88eec7e fix: only rsync existing directories
Additionally, pin the chown to just the top-level dir for the services dir
2023-02-17 19:10:14 -05:00
josegonzalez
08bea72000 Merge pull request #5688 from dokku/5687-pack-launcher-fix
Set custom entrypoint for pack-based containers so custom command/argument combinations are respected
2023-02-17 17:09:10 -05:00
Jose Diaz-Gonzalez
1286d85054 fix: set custom entrypoint for pack-based containers so custom command/argument combinations are respected
Closes #5687
2023-02-17 16:01:41 -05:00
josegonzalez
514c6d9825 Merge pull request #5684 from dokku/josegonzalez-patch-1
Note that the app.json is pulled from the specified image when deploying via git:from-image
2023-02-16 23:33:38 -05:00
josegonzalez
322e1404ef docs: note that the app.json is pulled from the specified image when deploying via git:from-image 2023-02-16 23:33:14 -05:00
josegonzalez
7834f353f1 fix: ensure the services directory also exists
Without this, we get issues attempting to install datastore plugins.

Closes #5614
2023-02-16 19:38:10 -05:00
josegonzalez
47536645a2 Merge pull request #5677 from dokku/dependabot/pip/tests/apps/multi/flask-2.2.3
chore(deps): bump flask from 2.2.2 to 2.2.3 in /tests/apps/multi
2023-02-16 19:37:46 -05:00
josegonzalez
bec0875556 Merge pull request #5682 from dokku/build-digitalocean-image
Build Digitalocean image automatically upon release
2023-02-16 19:37:32 -05:00
Jose Diaz-Gonzalez
4b8ccfbf34 fix: implement checkTMP 2023-02-16 16:22:32 -05:00
Jose Diaz-Gonzalez
26a536bc9b feat: log the output of the do directory 2023-02-16 16:01:59 -05:00
Jose Diaz-Gonzalez
635f9c1bc5 chore: remove unused function 2023-02-16 15:49:37 -05:00
Jose Diaz-Gonzalez
47fddf1899 chore: remove extra cleanup line
Logs are already zero'd out
2023-02-16 15:49:16 -05:00
Jose Diaz-Gonzalez
7b1a2fa908 fix: add missing cleanup step 2023-02-16 15:49:02 -05:00
Jose Diaz-Gonzalez
1eada6a5e8 fix: purge log files and droplet-agent
This should fix a few of the warnings/errors shown during the image check process.
2023-02-16 15:32:55 -05:00
Jose Diaz-Gonzalez
f1152cd6b7 fix: validate the packer image 2023-02-16 15:10:49 -05:00
Jose Diaz-Gonzalez
55c3b73f35 feat: run image check at the end of the build 2023-02-16 15:10:43 -05:00
Jose Diaz-Gonzalez
1eda16d186 refactor: simplify provisioning 2023-02-16 15:08:49 -05:00
Jose Diaz-Gonzalez
b2fbefb6d3 refactor: remove use of format function 2023-02-16 15:07:58 -05:00
Jose Diaz-Gonzalez
11743afbf0 chore: drop ability to set a custom base image
We'll only ever test against the latest LTS.
2023-02-16 15:07:25 -05:00
Jose Diaz-Gonzalez
d40ee36348 feat: update all base packages 2023-02-16 15:07:03 -05:00
Jose Diaz-Gonzalez
c24e0d3888 feat: ensure we have a custom landing page for folks to view when going to their droplet ip/vhost 2023-02-16 15:00:37 -05:00
Jose Diaz-Gonzalez
360940f68e fix: use https urls 2023-02-16 14:53:58 -05:00
Jose Diaz-Gonzalez
4ce5ba6a75 refactor: unify cleanup script with the one used by the DO marketplace 2023-02-16 14:50:07 -05:00
Jose Diaz-Gonzalez
197bd0c864 feat: remove the default nginx site in built images
This is confusing for users and shouldn't really ever exist.
2023-02-16 14:49:13 -05:00
Jose Diaz-Gonzalez
ba06bac1b9 feat: enable exit on error 2023-02-16 14:48:43 -05:00
Jose Diaz-Gonzalez
9dc6d8e130 refactor: cleanup ufw rules
- use nginx ful rules
- limit ssh by default
- force enable ufw
- drop access to 2375 and 2376 (this allows passwordless docker access...)
2023-02-16 14:47:52 -05:00
Jose Diaz-Gonzalez
afe042de46 docs: cleanup motd
- standardize text with the sample marketplace app
- remove reference to web server (its unavailable in newer versions)
2023-02-16 14:46:39 -05:00
Jose Diaz-Gonzalez
358fb72baf fix: run build in nyc1
NYC1 is the only DC where the smallest size droplet is available.
2023-02-16 14:33:26 -05:00
Jose Diaz-Gonzalez
98d6a3b53e fix: run build on smallest image
This will allow anyone to use the resulting image, and not just those with at least 2GB of ram.
2023-02-16 14:32:30 -05:00
Jose Diaz-Gonzalez
9ebe708741 fix: run packer validate with access to the DO token
Without this, it fails when initializing the builder.
2023-02-16 14:31:41 -05:00
Jose Diaz-Gonzalez
ba56474f15 fix: correct position of post-provisioner block 2023-02-16 14:26:29 -05:00
Jose Diaz-Gonzalez
ec642788d3 fix: correct SC2004 2023-02-16 14:25:40 -05:00
Jose Diaz-Gonzalez
adf98b53f5 chore: run shfmt 2023-02-16 14:22:44 -05:00
Jose Diaz-Gonzalez
ae1b695fc5 feat: build digitalocean images in ci on release
While these don't (yet?) get submitted to the Digitalocean marketplace, it should bring us most of the way of making that possible.

The next step would be to somehow get notifications of the new image snapshot sent... Somewhere and have the lovely DO folks test/release it for us.
2023-02-16 14:21:36 -05:00
Jose Diaz-Gonzalez
6c099c4ad0 tests: lint the packer config in CI 2023-02-16 14:19:42 -05:00
Jose Diaz-Gonzalez
96c737eae4 refactor: update digitalocean image building to match what Digitalocean does
The scripts run/installed on the server are based on what was given to me by Digitalocean in 2019, so they may have diverged a bit since.
2023-02-16 14:19:10 -05:00
dependabot[bot]
32cf4ac3e2 chore(deps): bump flask from 2.2.2 to 2.2.3 in /tests/apps/multi
Bumps [flask](https://github.com/pallets/flask) from 2.2.2 to 2.2.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.2.2...2.2.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-02-16 11:14:47 +00:00
josegonzalez
eba867a3bb Merge pull request #5676 from dokku/dependabot/pip/tests/apps/python-flask/flask-2.2.3
chore(deps): bump flask from 2.2.2 to 2.2.3 in /tests/apps/python-flask
2023-02-16 06:14:04 -05:00
josegonzalez
2769428405 Merge pull request #5679 from dokku/fix-paths-on-homepage
Revert invalid replacement in homepage html path objects
2023-02-16 01:49:07 -05:00
Jose Diaz-Gonzalez
9b44e9e1fb fix: revert invalid replacement in homepage html path objects 2023-02-16 01:48:49 -05:00
josegonzalez
19b4e08c3b Merge pull request #5678 from dokku/cleanup-home-install
Cleanup docs on homepage for installation
2023-02-16 01:39:36 -05:00
Jose Diaz-Gonzalez
faa18ab8e1 docs: cleanup docs on homepage for installation
- Use linebreaks in a standard way
- Use the short url to get the bootstrap.sh script
- Store public key in a variable and reference that variable to avoid word-wrapping
- Use a shorter final sentence
- Remove console.log
2023-02-16 01:39:23 -05:00
dependabot[bot]
e5231a81bc chore(deps): bump flask from 2.2.2 to 2.2.3 in /tests/apps/python-flask
Bumps [flask](https://github.com/pallets/flask) from 2.2.2 to 2.2.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.2.2...2.2.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-02-16 06:29:36 +00:00
josegonzalez
cf1aab8c23 Merge pull request #5675 from dokku/new-release-types
Add new sections to release notes
2023-02-16 01:29:06 -05:00
Jose Diaz-Gonzalez
9c7968d924 chore: run shfmt 2023-02-16 01:28:53 -05:00
Jose Diaz-Gonzalez
e8569f7054 feat: add new sections to release notes
- removals: things being removed in this release
- deprecations: things being deprecated in this release, for later removal
- dependencies: dependency updates (typically by dependabot)
2023-02-16 01:28:21 -05:00
Dokku Bot
89affb1984 Release 0.30.0
# History

## 0.30.0

Install/update via the bootstrap script:

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

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

### Bug Fixes

- #5674: @josegonzalez Use authenticated requests to the github api in order to generate changelogs for a release
- #5604: @josegonzalez Trigger nginx proxy rebuild early to avoid downtime if deploying large numbers of processes
- #5589: @josegonzalez Use warning_scheme variable instead of bare word in caddy-vhosts warning output
- #5580: @josegonzalez Do not attempt to reinstall already installed plugins

### New Features

- #5663: @josegonzalez Update build-base docker image to ensure we can build on all supported platforms without stalling
- #5308: @josegonzalez Implement haproxy proxy plugin
- #5633: @josegonzalez Add auto-updates to docs python dependencies
- #5603: @josegonzalez Add ability to deploy images generated via docker save with git:load-image
- #5591: @josegonzalez Allow the herokuish builder to be detected when the computed allowed value is set not set to false
- #5570: @josegonzalez Add support for customizing the remote in use for all commands sent via the official client
- #5581: @josegonzalez Use short url for installation

### Refactors

- #5659: @josegonzalez Remove deprecated functions and commands

### Documentation

- #5658: @mpslanker Updated debian install docs to work on both debian and ubuntu
- #5657: @josegonzalez Use correct version of Markdown for mkdocs
- #5656: @josegonzalez Add "new as of" prefix to version in user management docs
- #5645: @josegonzalez Update mkdocs-material features to cope with upgrade to 9.x
- #5632: @josegonzalez Add a note mentioning that network aliases only work when attached to a network other than bridge
- #5630: @josegonzalez Remove extra location block from built docs nginx config
- #5616: @jcalfee Add a note about reloading nginx to troubleshooting docs
- #5590: @josegonzalez Note that connecting to vagrant should be done via vagrant ssh
- #5588: @josegonzalez Document how to route to server-local apps via a service proxy
- #5585: @NicolasLM Improve instructions for disabling the default nginx site

### Tests

- #5673: @josegonzalez Cancel in progress builds when a new commit is pushed
- #5611: @josegonzalez Add more debugging output to deploy tests
- #5587: @josegonzalez Timeout build jobs within 45 minutes

### Other

- #5671: @dependabot[bot] chore(deps): bump soupsieve from 2.3.2.post1 to 2.4 in /docs/_build
- #5666: @dependabot[bot] chore(deps): bump golang from 1.20.0 to 1.20.1 in /tests/apps/go-fail-predeploy
- #5672: @dependabot[bot] chore(deps): bump django from 4.1.6 to 4.1.7 in /tests/apps/dockerfile-release
- #5670: @dependabot[bot] chore(deps): bump golang from 1.20.0 to 1.20.1 in /tests/apps/zombies-dockerfile-no-tini
- #5669: @dependabot[bot] chore(deps): bump golang from 1.20.0 to 1.20.1 in /tests/apps/go-fail-postdeploy
- #5668: @dependabot[bot] chore(deps): bump golang from 1.20.0 to 1.20.1 in /tests/apps/gogrpc
- #5667: @dependabot[bot] chore(deps): bump golang from 1.20.0 to 1.20.1 in /tests/apps/zombies-dockerfile-tini
- #5665: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 230 to 231 in /tests/apps/php
- #5664: @dependabot[bot] chore(deps): bump werkzeug from 2.2.2 to 2.2.3 in /tests/apps/python-flask
- #5559: @josegonzalez Move app.json extraction from built image artifact to source code
- #5661: @dependabot[bot] chore(deps): update markdown requirement from <3.4,>=3.2.1 to >=3.2.1,<3.5 in /docs/_build
- #5655: @dependabot[bot] chore(deps): bump zipp from 3.12.1 to 3.13.0 in /docs/_build
- #5654: @dependabot[bot] chore(deps): bump mkdocs-material from 9.0.11 to 9.0.12 in /docs/_build
- #5648: @dependabot[bot] chore(deps): bump markdown from 3.3.7 to 3.4.1 in /docs/_build
- #5650: @dependabot[bot] chore(deps): bump python from 3.11.1-buster to 3.11.2-buster in /tests/apps/dockerfile-release
- #5651: @dependabot[bot] chore(deps): bump ruby from 3.2.0 to 3.2.1 in /tests/apps/dockerfile-entrypoint
- #5652: @dependabot[bot] chore(deps): bump python from 3.11.1-alpine to 3.11.2-alpine in /docs/_build
- #5647: @dependabot[bot] chore(deps): bump importlib-metadata from 4.12.0 to 6.0.0 in /docs/_build
- #5646: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 229 to 230 in /tests/apps/php
- #5634: @dependabot[bot] chore(deps): bump mkdocs-material from 8.4.2 to 9.0.11 in /docs/_build
- #5637: @dependabot[bot] chore(deps): bump packaging from 21.3 to 23.0 in /docs/_build
- #5643: @dependabot[bot] chore(deps): bump watchdog from 2.1.9 to 2.2.1 in /docs/_build
- #5642: @dependabot[bot] chore(deps): bump pymdown-extensions from 9.5 to 9.9.2 in /docs/_build
- #5639: @dependabot[bot] chore(deps): bump mkdocs from 1.3.1 to 1.4.2 in /docs/_build
- #5638: @dependabot[bot] chore(deps): bump mkdocs-material-extensions from 1.0.3 to 1.1.1 in /docs/_build
- #5631: @dependabot[bot] chore(deps): bump socket.io from 4.5.4 to 4.6.0 in /tests/apps/.websocket.disabled
- #5636: @dependabot[bot] chore(deps): bump markupsafe from 2.1.1 to 2.1.2 in /docs/_build
- #5641: @dependabot[bot] chore(deps): bump beautifulsoup4 from 4.11.1 to 4.11.2 in /docs/_build
- #5635: @dependabot[bot] chore(deps): bump pygments from 2.13.0 to 2.14.0 in /docs/_build
- #5640: @dependabot[bot] chore(deps): bump zipp from 3.8.1 to 3.12.1 in /docs/_build
- #5629: @josegonzalez Update list indentation explaining network property utilization
- #5617: @dependabot[bot] chore(deps): bump golang from 1.19.5 to 1.20.0 in /tests/apps/go-fail-predeploy
- #5620: @dependabot[bot] chore(deps): bump golang from 1.19.5 to 1.20.0 in /tests/apps/gogrpc
- #5618: @dependabot[bot] chore(deps): bump golang from 1.19.5 to 1.20.0 in /tests/apps/go-fail-postdeploy
- #5625: @dependabot[bot] chore(deps): bump django from 4.1.2 to 4.1.6 in /tests/apps/dockerfile-release
- #5619: @dependabot[bot] chore(deps): bump golang from 1.19.5 to 1.20.0 in /tests/apps/zombies-dockerfile-no-tini
- #5621: @dependabot[bot] chore(deps): bump golang from 1.19.5 to 1.20.0 in /tests/apps/zombies-dockerfile-tini
- #5615: @dependabot[bot] chore(deps): bump ludeeus/action-shellcheck from 1.1.0 to 2.0.0
- #5610: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 227 to 229 in /tests/apps/php
- #5608: @josegonzalez tests: refactor the config test to use a simple python codebase instead
- #5606: @josegonzalez Ensure the mounted services directory is symlinked correctly
- #5558: @josegonzalez Remove references to ubuntu 18.04 ahead of EOL
- #5600: @dependabot[bot] chore(deps): bump rack from 2.2.4 to 2.2.6.2 in /tests/apps/ruby
- #5598: @dependabot[bot] chore(deps): bump hadolint/hadolint-action from 3.0.0 to 3.1.0
- #5595: @josegonzalez Remove deprecated ability to call logs:failed without specifying an app or --all flag
- #5594: @josegonzalez Remove deprecated builder-specific post-release hooks
- #5593: @josegonzalez Remove deprecated --detach flag
- #5592: @josegonzalez Remove support for DOKKU_SCALE file
- #5560: @josegonzalez Drop SPDY support from nginx plugin
- #5579: @dependabot[bot] chore(deps): bump maven-dependency-plugin from 3.4.0 to 3.5.0 in /tests/apps/java
2023-02-16 03:32:45 +00:00
josegonzalez
c9efe22844 Merge pull request #5674 from dokku/fix-changelog-generation
Use authenticated requests to the github api in order to generate changelogs for a release
2023-02-15 22:31:24 -05:00
Jose Diaz-Gonzalez
46ea507182 fix: use authenticated requests to the github api in order to generate changelogs for a release 2023-02-15 22:30:39 -05:00
josegonzalez
1a39e72b14 Merge pull request #5671 from dokku/dependabot/pip/docs/_build/soupsieve-2.4
chore(deps): bump soupsieve from 2.3.2.post1 to 2.4 in /docs/_build
2023-02-15 18:39:15 -05:00
josegonzalez
7638ed11d6 Merge pull request #5666 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.20.1
chore(deps): bump golang from 1.20.0 to 1.20.1 in /tests/apps/go-fail-predeploy
2023-02-15 17:42:36 -05:00
josegonzalez
f2b5531eb0 Merge pull request #5672 from dokku/dependabot/pip/tests/apps/dockerfile-release/django-4.1.7
chore(deps): bump django from 4.1.6 to 4.1.7 in /tests/apps/dockerfile-release
2023-02-15 17:04:40 -05:00
josegonzalez
537f6baa09 Merge pull request #5673 from dokku/josegonzalez-patch-1
Cancel in progress builds when a new commit is pushed
2023-02-15 16:34:52 -05:00
josegonzalez
4e905cdf71 tests: cancel in progress builds when a new commit is pushed 2023-02-15 16:34:41 -05:00
dependabot[bot]
abfc2c5d31 chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.20.0 to 1.20.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-02-15 21:33:34 +00:00
josegonzalez
1feb046645 Merge pull request #5670 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.20.1
chore(deps): bump golang from 1.20.0 to 1.20.1 in /tests/apps/zombies-dockerfile-no-tini
2023-02-15 16:32:57 -05:00
josegonzalez
ec2310e08e Merge pull request #5669 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.20.1
chore(deps): bump golang from 1.20.0 to 1.20.1 in /tests/apps/go-fail-postdeploy
2023-02-15 16:32:50 -05:00
josegonzalez
d020e5e860 Merge pull request #5668 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.20.1
chore(deps): bump golang from 1.20.0 to 1.20.1 in /tests/apps/gogrpc
2023-02-15 16:32:37 -05:00
josegonzalez
84749d5241 Merge pull request #5667 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.20.1
chore(deps): bump golang from 1.20.0 to 1.20.1 in /tests/apps/zombies-dockerfile-tini
2023-02-15 16:32:29 -05:00
josegonzalez
3e4635d710 Merge pull request #5665 from dokku/dependabot/composer/tests/apps/php/heroku/heroku-buildpack-php-231
chore(deps-dev): bump heroku/heroku-buildpack-php from 230 to 231 in /tests/apps/php
2023-02-15 16:31:36 -05:00
josegonzalez
acaa21d231 Merge pull request #5664 from dokku/dependabot/pip/tests/apps/python-flask/werkzeug-2.2.3
chore(deps): bump werkzeug from 2.2.2 to 2.2.3 in /tests/apps/python-flask
2023-02-15 16:31:07 -05:00
dependabot[bot]
fa5c9c45d0 chore(deps): bump django in /tests/apps/dockerfile-release
Bumps [django](https://github.com/django/django) from 4.1.6 to 4.1.7.
- [Release notes](https://github.com/django/django/releases)
- [Commits](https://github.com/django/django/compare/4.1.6...4.1.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-15 20:39:30 +00:00
dependabot[bot]
26cbcbf872 chore(deps): bump soupsieve from 2.3.2.post1 to 2.4 in /docs/_build
Bumps [soupsieve](https://github.com/facelessuser/soupsieve) from 2.3.2.post1 to 2.4.
- [Release notes](https://github.com/facelessuser/soupsieve/releases)
- [Commits](https://github.com/facelessuser/soupsieve/compare/2.3.2.post1...2.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-15 14:10:21 +00:00
dependabot[bot]
d0dcb835ba chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.20.0 to 1.20.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-02-15 14:07:43 +00:00
dependabot[bot]
3127c9f616 chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.20.0 to 1.20.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-02-15 14:07:25 +00:00
dependabot[bot]
c90cb03fbd chore(deps): bump golang from 1.20.0 to 1.20.1 in /tests/apps/gogrpc
Bumps golang from 1.20.0 to 1.20.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-02-15 14:07:15 +00:00
dependabot[bot]
ebd174d4c8 chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.20.0 to 1.20.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-02-15 14:07:13 +00:00
dependabot[bot]
7d1a9c554b chore(deps-dev): bump heroku/heroku-buildpack-php in /tests/apps/php
Bumps [heroku/heroku-buildpack-php](https://github.com/heroku/heroku-buildpack-php) from 230 to 231.
- [Release notes](https://github.com/heroku/heroku-buildpack-php/releases)
- [Changelog](https://github.com/heroku/heroku-buildpack-php/blob/main/CHANGELOG.md)
- [Commits](https://github.com/heroku/heroku-buildpack-php/compare/v230...v231)

---
updated-dependencies:
- dependency-name: heroku/heroku-buildpack-php
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-15 13:58:49 +00:00
dependabot[bot]
9557f8dbf5 chore(deps): bump werkzeug in /tests/apps/python-flask
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 2.2.2 to 2.2.3.
- [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.2.2...2.2.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-15 13:58:13 +00:00
josegonzalez
a5cd973156 Merge pull request #5559 from dokku/5556-app-json-extract
Move app.json extraction from built image artifact to source code
2023-02-14 04:58:34 -05:00
Jose Diaz-Gonzalez
87828515a1 fix: respect the build-dir in app-json extraction
Because the app-json extraction happens before the build-dir is set, it doesn't end up respecting the value, and thus the user might get the wrong app.json file.

This takes advantage of path.Join()'s default of ignoring empty paths.
2023-02-14 03:56:28 -05:00
Jose Diaz-Gonzalez
0eccfe8ba4 tests: add test ensuring the build-dir property is supported 2023-02-14 03:08:02 -05:00
Jose Diaz-Gonzalez
af84293c3e fix: ensure we migrate data for all golang plugins 2023-02-14 03:08:02 -05:00
Jose Diaz-Gonzalez
a8283824a5 fix: remove extra import 2023-02-14 03:08:02 -05:00
Jose Diaz-Gonzalez
0066b09405 fix: remove duplicate func as a result of rebase 2023-02-14 03:08:02 -05:00
Jose Diaz-Gonzalez
e78fb84953 fix: ensure we create the app-json data directory for the app on app creation 2023-02-14 03:08:02 -05:00
Jose Diaz-Gonzalez
b83e5fff64 fix: add missing triggers 2023-02-14 03:08:02 -05:00
Jose Diaz-Gonzalez
2ccc78023c fix: run go get to ensure we fetch the correct dependencies 2023-02-14 03:08:02 -05:00
Jose Diaz-Gonzalez
09eb0b2c8f refactor: move app.json extraction up to core-post-extract 2023-02-14 03:08:02 -05:00
Jose Diaz-Gonzalez
173434ef34 chore: reorder functions 2023-02-14 03:08:02 -05:00
Jose Diaz-Gonzalez
3f82c525ad chore: use helper to check if there is a Procfile 2023-02-14 03:08:02 -05:00
Jose Diaz-Gonzalez
a53ead6c64 chore: rename function 2023-02-14 03:08:02 -05:00
josegonzalez
c1da419d01 Merge pull request #5663 from dokku/fix-builder
Update build-base docker image to ensure we can build on all supported platforms without stalling
2023-02-14 03:02:12 -05:00
Jose Diaz-Gonzalez
b5b50ace5e fix: install sudo 2023-02-14 01:16:42 -05:00
Jose Diaz-Gonzalez
8650977918 chore: drop already installed packages
These are installed in the base image.
2023-02-14 01:16:06 -05:00
Jose Diaz-Gonzalez
1a1590c299 fix: update build-base docker image to ensure we can build on all supported platforms without stalling
The image can now be built via:

    docker buildx build --platform linux/arm,linux/arm64,linux/amd64 --progress plain --push --tag dokku/build-base:latest --tag dokku/build-base:0.0.1 -f contrib/build-base.Dockerfile .
2023-02-14 01:14:10 -05:00
josegonzalez
3d930b1a3d Merge pull request #5661 from dokku/dependabot/pip/docs/_build/markdown-gte-3.2.1-and-lt-3.5
chore(deps): update markdown requirement from <3.4,>=3.2.1 to >=3.2.1,<3.5 in /docs/_build
2023-02-13 14:37:58 -05:00
josegonzalez
83fa48323f Merge pull request #5659 from dokku/remove-deprecated-functions
Remove deprecated functions and commands
2023-02-13 14:37:38 -05:00
dependabot[bot]
e0d56f1ed5 chore(deps): update markdown requirement in /docs/_build
Updates the requirements on [markdown](https://github.com/Python-Markdown/markdown) to permit the latest version.
- [Release notes](https://github.com/Python-Markdown/markdown/releases)
- [Commits](https://github.com/Python-Markdown/markdown/compare/3.2.1...3.4.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 14:28:01 +00:00
Jose Diaz-Gonzalez
f84a650849 chore: remove deprecated nginx commands 2023-02-12 13:20:45 -05:00
Jose Diaz-Gonzalez
954b2d9d34 chore: remove deprecated proxy functions 2023-02-12 13:20:24 -05:00
Jose Diaz-Gonzalez
59fde3a317 chore: remove deprecated nginx commands 2023-02-12 13:12:47 -05:00
Jose Diaz-Gonzalez
577aafb683 chore: remove deprecated git functions 2023-02-12 13:09:20 -05:00
Jose Diaz-Gonzalez
e628e21879 chore: remove deprecated --rm-container and--rm global flags 2023-02-12 13:09:00 -05:00
Jose Diaz-Gonzalez
d27c8f09d1 chore: remove deprecated common functions 2023-02-12 13:08:45 -05:00
Jose Diaz-Gonzalez
7f2a66df88 chore: remove deprecated app functions
These were deprecated in 0.20.0 and are unused in Dokku's official codebases.
2023-02-12 13:02:23 -05:00
josegonzalez
18c983d77a Merge pull request #5658 from mpslanker/debian-docs-update
#5644 - Removed reference to ubuntu (lines 16-18)
2023-02-12 12:17:11 -05:00
Matthew Slanker
1cce122622 #5644 - Removed reference to ubuntu (lines 16-18) 2023-02-11 22:04:35 -07:00
josegonzalez
46b81f5c46 Merge pull request #5308 from dokku/haproxy-plugin 2023-02-12 00:02:09 -05:00
Jose Diaz-Gonzalez
d1c4cc89bf docs: fix plugin name in haproxy docs 2023-02-11 20:55:59 -05:00
Jose Diaz-Gonzalez
4ae64b23c6 fix: update test to get the correct label for testing if ssl redirects are working properly 2023-02-11 20:55:20 -05:00
Jose Diaz-Gonzalez
710b1db6be chore: run shfmt 2023-02-11 17:42:13 -05:00
Jose Diaz-Gonzalez
070f643a01 refactor: drop url management and sync logic with traefik plugin 2023-02-11 17:40:41 -05:00
Jose Diaz-Gonzalez
78d66dc68a docs: note that https:443 is now supported 2023-02-11 17:40:05 -05:00
Jose Diaz-Gonzalez
203dfe249b fix: run shfmt 2023-02-11 06:24:27 -05:00
Jose Diaz-Gonzalez
cbd3c43176 feat: add letsencrypt support to haproxy plugin 2023-02-11 06:22:02 -05:00
Jose Diaz-Gonzalez
537d8321e4 chore: update easy-haproxy version to latest 2023-02-11 06:11:23 -05:00
Jose Diaz-Gonzalez
62004eab56 chore: sync plugin version 2023-02-11 06:11:10 -05:00
Jose Diaz-Gonzalez
ab9e2b101e feat: install dev env tools correctly 2023-02-11 06:09:50 -05:00
Jose Diaz-Gonzalez
f02f19652e fix: set default scheme correctly 2023-02-11 06:09:50 -05:00
Jose Diaz-Gonzalez
35c6d61a04 feat: test all compose-based proxy implementations with a dockerfile app
This allows the tests to run on arm systems.
2023-02-11 06:09:50 -05:00
Jose Diaz-Gonzalez
c14154e5f7 feat: add a test for log levels 2023-02-11 06:09:50 -05:00
Jose Diaz-Gonzalez
40cb28287f fix: gate compose usage behind compose check 2023-02-11 06:09:50 -05:00
Jose Diaz-Gonzalez
e1f9e44e51 fix: set correct help output 2023-02-11 06:09:50 -05:00
Jose Diaz-Gonzalez
212389980e feat: add initial tests for haproxy plugin 2023-02-11 06:09:50 -05:00
Jose Diaz-Gonzalez
a249dea217 fix: add alias 2023-02-11 06:09:49 -05:00
Jose Diaz-Gonzalez
1a54e2263b fix: use correct variable name 2023-02-11 06:08:56 -05:00
Jose Diaz-Gonzalez
fd09beaf48 feat: add the ability to set the haproxy log level 2023-02-11 06:08:56 -05:00
Jose Diaz-Gonzalez
8bd4f66bec chore: update to latest version 2023-02-11 06:08:56 -05:00
Jose Diaz-Gonzalez
3871a35de6 fix: respect EASYHAPROXY_LABEL_PREFIX 2023-02-11 06:08:56 -05:00
Jose Diaz-Gonzalez
44543c979a docs: add requirement for docker-compose-plugin 2023-02-11 06:08:56 -05:00
Jose Diaz-Gonzalez
49cd46df1d fix: properly name things 2023-02-11 06:08:56 -05:00
Jose Diaz-Gonzalez
237aae9eec feat: first pass at haproxy plugin implementation 2023-02-11 06:08:56 -05:00
josegonzalez
89cf4a5e76 Merge pull request #5657 from dokku/josegonzalez-patch-1
Use correct version of Markdown for mkdocs
2023-02-10 16:03:34 -05:00
josegonzalez
2fa2c855f2 fix: use correct version of Markdown for mkdocs
See https://github.com/mkdocs/mkdocs/issues/2892 for more details.
2023-02-10 16:03:22 -05:00
josegonzalez
52fbf64eec Merge pull request #5655 from dokku/dependabot/pip/docs/_build/zipp-3.13.0
chore(deps): bump zipp from 3.12.1 to 3.13.0 in /docs/_build
2023-02-10 15:48:17 -05:00
josegonzalez
721f0f359e Merge pull request #5654 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.0.12
chore(deps): bump mkdocs-material from 9.0.11 to 9.0.12 in /docs/_build
2023-02-10 15:48:06 -05:00
josegonzalez
6aac59bdc8 Merge pull request #5656 from dokku/josegonzalez-patch-1
Add "new as of" prefix to version in user management docs
2023-02-10 13:01:30 -05:00
josegonzalez
f26047804b docs: add "new as of" prefix to version in user management docs 2023-02-10 13:01:07 -05:00
dependabot[bot]
1a16aee6e9 chore(deps): bump zipp from 3.12.1 to 3.13.0 in /docs/_build
Bumps [zipp](https://github.com/jaraco/zipp) from 3.12.1 to 3.13.0.
- [Release notes](https://github.com/jaraco/zipp/releases)
- [Changelog](https://github.com/jaraco/zipp/blob/main/CHANGES.rst)
- [Commits](https://github.com/jaraco/zipp/compare/v3.12.1...v3.13.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-02-10 14:09:30 +00:00
dependabot[bot]
9755831584 chore(deps): bump mkdocs-material from 9.0.11 to 9.0.12 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.0.11 to 9.0.12.
- [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.0.11...9.0.12)

---
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-02-10 14:09:24 +00:00
josegonzalez
0ab57fe356 Merge pull request #5648 from dokku/dependabot/pip/docs/_build/markdown-3.4.1
chore(deps): bump markdown from 3.3.7 to 3.4.1 in /docs/_build
2023-02-09 13:18:12 -05:00
josegonzalez
df5938a821 Merge pull request #5650 from dokku/dependabot/docker/tests/apps/dockerfile-release/python-3.11.2-buster
chore(deps): bump python from 3.11.1-buster to 3.11.2-buster in /tests/apps/dockerfile-release
2023-02-09 13:17:25 -05:00
josegonzalez
62c6a80d64 Merge pull request #5651 from dokku/dependabot/docker/tests/apps/dockerfile-entrypoint/ruby-3.2.1
chore(deps): bump ruby from 3.2.0 to 3.2.1 in /tests/apps/dockerfile-entrypoint
2023-02-09 13:17:17 -05:00
josegonzalez
2184c8743c Merge pull request #5652 from dokku/dependabot/docker/docs/_build/python-3.11.2-alpine
chore(deps): bump python from 3.11.1-alpine to 3.11.2-alpine in /docs/_build
2023-02-09 13:17:04 -05:00
dependabot[bot]
bea0ea7bcd chore(deps): bump python in /docs/_build
Bumps python from 3.11.1-alpine to 3.11.2-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-02-09 13:11:18 +00:00
dependabot[bot]
871266bf35 chore(deps): bump ruby in /tests/apps/dockerfile-entrypoint
Bumps ruby from 3.2.0 to 3.2.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-09 13:11:00 +00:00
dependabot[bot]
1e09e7c612 chore(deps): bump python in /tests/apps/dockerfile-release
Bumps python from 3.11.1-buster to 3.11.2-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-02-09 13:10:48 +00:00
dependabot[bot]
0b530ae67a chore(deps): bump markdown from 3.3.7 to 3.4.1 in /docs/_build
Bumps [markdown](https://github.com/Python-Markdown/markdown) from 3.3.7 to 3.4.1.
- [Release notes](https://github.com/Python-Markdown/markdown/releases)
- [Commits](https://github.com/Python-Markdown/markdown/compare/3.3.7...3.4.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-08 15:39:36 +00:00
josegonzalez
be696b1501 Merge pull request #5647 from dokku/dependabot/pip/docs/_build/importlib-metadata-6.0.0
chore(deps): bump importlib-metadata from 4.12.0 to 6.0.0 in /docs/_build
2023-02-08 10:39:04 -05:00
josegonzalez
95f9c44339 Merge pull request #5646 from dokku/dependabot/composer/tests/apps/php/heroku/heroku-buildpack-php-230
chore(deps-dev): bump heroku/heroku-buildpack-php from 229 to 230 in /tests/apps/php
2023-02-08 10:38:51 -05:00
dependabot[bot]
61b3991143 chore(deps): bump importlib-metadata in /docs/_build
Bumps [importlib-metadata](https://github.com/python/importlib_metadata) from 4.12.0 to 6.0.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/v4.12.0...v6.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-08 13:15:55 +00:00
dependabot[bot]
c00e29fec6 chore(deps-dev): bump heroku/heroku-buildpack-php in /tests/apps/php
Bumps [heroku/heroku-buildpack-php](https://github.com/heroku/heroku-buildpack-php) from 229 to 230.
- [Release notes](https://github.com/heroku/heroku-buildpack-php/releases)
- [Changelog](https://github.com/heroku/heroku-buildpack-php/blob/main/CHANGELOG.md)
- [Commits](https://github.com/heroku/heroku-buildpack-php/compare/v229...v230)

---
updated-dependencies:
- dependency-name: heroku/heroku-buildpack-php
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-08 13:03:14 +00:00
josegonzalez
1b54e07371 Merge pull request #5645 from dokku/josegonzalez-patch-1
Update mkdocs-material features to cope with upgrade to 9.x
2023-02-07 20:07:39 -05:00
josegonzalez
1fb7e3ab54 docs: update mkdocs-material features to cope with upgrade to 9.x 2023-02-07 20:07:23 -05:00
josegonzalez
cc0bcbbb93 Merge pull request #5634 from dokku/dependabot/pip/docs/_build/mkdocs-material-9.0.11
chore(deps): bump mkdocs-material from 8.4.2 to 9.0.11 in /docs/_build
2023-02-07 13:17:57 -05:00
josegonzalez
b85bec1de3 Merge branch 'master' into dependabot/pip/docs/_build/mkdocs-material-9.0.11 2023-02-07 13:17:44 -05:00
josegonzalez
66007a8390 Merge pull request #5637 from dokku/dependabot/pip/docs/_build/packaging-23.0
chore(deps): bump packaging from 21.3 to 23.0 in /docs/_build
2023-02-07 13:04:13 -05:00
dependabot[bot]
bec35edec4 chore(deps): bump packaging from 21.3 to 23.0 in /docs/_build
Bumps [packaging](https://github.com/pypa/packaging) from 21.3 to 23.0.
- [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/21.3...23.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-07 18:01:30 +00:00
josegonzalez
3dfe8f889d Merge pull request #5643 from dokku/dependabot/pip/docs/_build/watchdog-2.2.1
chore(deps): bump watchdog from 2.1.9 to 2.2.1 in /docs/_build
2023-02-07 12:53:50 -05:00
josegonzalez
a14555314d Merge pull request #5642 from dokku/dependabot/pip/docs/_build/pymdown-extensions-9.9.2
chore(deps): bump pymdown-extensions from 9.5 to 9.9.2 in /docs/_build
2023-02-07 12:53:39 -05:00
josegonzalez
771058da05 Merge pull request #5639 from dokku/dependabot/pip/docs/_build/mkdocs-1.4.2
chore(deps): bump mkdocs from 1.3.1 to 1.4.2 in /docs/_build
2023-02-07 12:53:29 -05:00
dependabot[bot]
d16d595c29 chore(deps): bump mkdocs from 1.3.1 to 1.4.2 in /docs/_build
Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.3.1 to 1.4.2.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.3.1...1.4.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-07 17:52:56 +00:00
dependabot[bot]
7931fe1f42 chore(deps): bump watchdog from 2.1.9 to 2.2.1 in /docs/_build
Bumps [watchdog](https://github.com/gorakhargosh/watchdog) from 2.1.9 to 2.2.1.
- [Release notes](https://github.com/gorakhargosh/watchdog/releases)
- [Changelog](https://github.com/gorakhargosh/watchdog/blob/master/changelog.rst)
- [Commits](https://github.com/gorakhargosh/watchdog/compare/v2.1.9...v2.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-07 17:52:16 +00:00
josegonzalez
09eec682aa Merge pull request #5638 from dokku/dependabot/pip/docs/_build/mkdocs-material-extensions-1.1.1
chore(deps): bump mkdocs-material-extensions from 1.0.3 to 1.1.1 in /docs/_build
2023-02-07 12:52:16 -05:00
dependabot[bot]
1fdd720955 chore(deps): bump pymdown-extensions from 9.5 to 9.9.2 in /docs/_build
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.5 to 9.9.2.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.5...9.9.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-02-07 17:52:15 +00:00
josegonzalez
c65bdf2341 Merge pull request #5631 from dokku/dependabot/npm_and_yarn/tests/apps/dot-websocket.disabled/socket.io-4.6.0
chore(deps): bump socket.io from 4.5.4 to 4.6.0 in /tests/apps/.websocket.disabled
2023-02-07 12:51:59 -05:00
dependabot[bot]
a093c1537d chore(deps): bump mkdocs-material-extensions in /docs/_build
Bumps [mkdocs-material-extensions](https://github.com/facelessuser/mkdocs-material-extensions) from 1.0.3 to 1.1.1.
- [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.0.3...1.1.1)

---
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-02-07 17:51:53 +00:00
josegonzalez
e411ab2bcd Merge pull request #5636 from dokku/dependabot/pip/docs/_build/markupsafe-2.1.2
chore(deps): bump markupsafe from 2.1.1 to 2.1.2 in /docs/_build
2023-02-07 12:51:24 -05:00
josegonzalez
7f3bd620f6 Merge pull request #5641 from dokku/dependabot/pip/docs/_build/beautifulsoup4-4.11.2
chore(deps): bump beautifulsoup4 from 4.11.1 to 4.11.2 in /docs/_build
2023-02-07 12:51:11 -05:00
josegonzalez
dcc1ad5f35 Merge pull request #5635 from dokku/dependabot/pip/docs/_build/pygments-2.14.0
chore(deps): bump pygments from 2.13.0 to 2.14.0 in /docs/_build
2023-02-07 12:50:56 -05:00
josegonzalez
2e3c10b008 Merge pull request #5640 from dokku/dependabot/pip/docs/_build/zipp-3.12.1
chore(deps): bump zipp from 3.8.1 to 3.12.1 in /docs/_build
2023-02-07 12:50:43 -05:00
dependabot[bot]
78aeba4117 chore(deps): bump beautifulsoup4 from 4.11.1 to 4.11.2 in /docs/_build
Bumps [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) from 4.11.1 to 4.11.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-07 13:43:14 +00:00
dependabot[bot]
756c8e4d20 chore(deps): bump zipp from 3.8.1 to 3.12.1 in /docs/_build
Bumps [zipp](https://github.com/jaraco/zipp) from 3.8.1 to 3.12.1.
- [Release notes](https://github.com/jaraco/zipp/releases)
- [Changelog](https://github.com/jaraco/zipp/blob/main/CHANGES.rst)
- [Commits](https://github.com/jaraco/zipp/compare/v3.8.1...v3.12.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-07 13:43:11 +00:00
dependabot[bot]
65f2bcf950 chore(deps): bump markupsafe from 2.1.1 to 2.1.2 in /docs/_build
Bumps [markupsafe](https://github.com/pallets/markupsafe) from 2.1.1 to 2.1.2.
- [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.1...2.1.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-07 13:42:56 +00:00
dependabot[bot]
2f61d959b9 chore(deps): bump pygments from 2.13.0 to 2.14.0 in /docs/_build
Bumps [pygments](https://github.com/pygments/pygments) from 2.13.0 to 2.14.0.
- [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.13.0...2.14.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-07 13:42:52 +00:00
dependabot[bot]
108ff76413 chore(deps): bump mkdocs-material from 8.4.2 to 9.0.11 in /docs/_build
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.4.2 to 9.0.11.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Upgrade guide](https://github.com/squidfunk/mkdocs-material/blob/master/docs/upgrade.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.4.2...9.0.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-07 13:42:48 +00:00
josegonzalez
8ef559c04f Merge pull request #5632 from dokku/josegonzalez-patch-1
Add a note mentioning that network aliases only work when attached to a network other than bridge
2023-02-07 08:42:40 -05:00
josegonzalez
08dbe5fea9 Merge pull request #5633 from dokku/josegonzalez-patch-2
Add auto-updates to docs python dependencies
2023-02-07 08:42:20 -05:00
josegonzalez
66d62c9354 feat: add auto-updates to docs python dependencies 2023-02-07 08:41:55 -05:00
josegonzalez
697239b508 docs: add a note mentioning that network aliases only work when attached to a network other than bridge 2023-02-07 08:10:28 -05:00
dependabot[bot]
ae249b840f chore(deps): bump socket.io in /tests/apps/.websocket.disabled
Bumps [socket.io](https://github.com/socketio/socket.io) from 4.5.4 to 4.6.0.
- [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.5.4...4.6.0)

---
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-02-07 13:02:27 +00:00
josegonzalez
4d5cfb1571 Merge pull request #5630 from dokku/josegonzalez-patch-1
Remove extra location block from built docs nginx config
2023-02-07 03:05:03 -05:00
josegonzalez
217de501cb docs: remove extra location block from built docs nginx config
This is handled upstream in the docs repo.
2023-02-07 03:04:52 -05:00
josegonzalez
87269bbd72 Merge pull request #5629 from dokku/josegonzalez-patch-1
Update list indentation explaining network property utilization
2023-02-07 02:30:23 -05:00
josegonzalez
01cf2615bf docs: update list indentation explaining network property utilization 2023-02-07 02:30:00 -05:00
josegonzalez
fd9a91f45c Merge pull request #5617 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.20.0
chore(deps): bump golang from 1.19.5 to 1.20.0 in /tests/apps/go-fail-predeploy
2023-02-07 02:11:05 -05:00
josegonzalez
778a10c415 Merge pull request #5620 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.20.0
chore(deps): bump golang from 1.19.5 to 1.20.0 in /tests/apps/gogrpc
2023-02-07 02:10:40 -05:00
josegonzalez
fdcaa80650 Merge pull request #5618 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.20.0
chore(deps): bump golang from 1.19.5 to 1.20.0 in /tests/apps/go-fail-postdeploy
2023-02-07 02:10:34 -05:00
josegonzalez
1d58701dd8 Merge pull request #5625 from dokku/dependabot/pip/tests/apps/dockerfile-release/django-4.1.6
chore(deps): bump django from 4.1.2 to 4.1.6 in /tests/apps/dockerfile-release
2023-02-07 02:10:24 -05:00
dependabot[bot]
428c9dd71b chore(deps): bump django in /tests/apps/dockerfile-release
Bumps [django](https://github.com/django/django) from 4.1.2 to 4.1.6.
- [Release notes](https://github.com/django/django/releases)
- [Commits](https://github.com/django/django/compare/4.1.2...4.1.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-03 21:52:34 +00:00
dependabot[bot]
df212e0a35 chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.19.5 to 1.20.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-02-02 15:28:28 +00:00
dependabot[bot]
74dfdb660c chore(deps): bump golang from 1.19.5 to 1.20.0 in /tests/apps/gogrpc
Bumps golang from 1.19.5 to 1.20.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-02-02 15:28:13 +00:00
dependabot[bot]
29dd06a99f chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.19.5 to 1.20.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-02-02 15:27:55 +00:00
josegonzalez
3d5319eb1f Merge pull request #5619 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.20.0
chore(deps): bump golang from 1.19.5 to 1.20.0 in /tests/apps/zombies-dockerfile-no-tini
2023-02-02 10:27:52 -05:00
josegonzalez
40cb4f2dc6 Merge pull request #5621 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.20.0
chore(deps): bump golang from 1.19.5 to 1.20.0 in /tests/apps/zombies-dockerfile-tini
2023-02-02 10:27:09 -05:00
dependabot[bot]
7bef56ced4 chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.19.5 to 1.20.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-02-02 13:13:45 +00:00
dependabot[bot]
797c81e365 chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.19.5 to 1.20.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-02-02 13:13:25 +00:00
josegonzalez
0f3edeb89b Merge pull request #5616 from jcalfee/patch-1
Add a note about reloading nginx to troubleshooting docs
2023-02-01 22:54:18 -05:00
jcalfee
d8bf13dd19 Update troubleshooting.md
Adds: I deployed a new app but now subdomains are miss-routed
2023-01-31 09:38:35 -06:00
josegonzalez
98a5fb72fe Merge pull request #5615 from dokku/dependabot/github_actions/ludeeus/action-shellcheck-2.0.0
chore(deps): bump ludeeus/action-shellcheck from 1.1.0 to 2.0.0
2023-01-30 10:25:52 -05:00
dependabot[bot]
67b60efd94 chore(deps): bump ludeeus/action-shellcheck from 1.1.0 to 2.0.0
Bumps [ludeeus/action-shellcheck](https://github.com/ludeeus/action-shellcheck) from 1.1.0 to 2.0.0.
- [Release notes](https://github.com/ludeeus/action-shellcheck/releases)
- [Commits](94e0aab03c...00cae500b0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-30 13:16:29 +00:00
josegonzalez
a3cbf4a8a9 Merge pull request #5611 from dokku/deploy-test-updates 2023-01-29 05:52:06 -05:00
Jose Diaz-Gonzalez
4701227564 tests: add more debugging output to deploy tests 2023-01-28 15:37:02 -05:00
josegonzalez
0bbdee4c2b Merge pull request #5610 from dokku/dependabot/composer/tests/apps/php/heroku/heroku-buildpack-php-229
chore(deps-dev): bump heroku/heroku-buildpack-php from 227 to 229 in /tests/apps/php
2023-01-26 14:16:17 -05:00
josegonzalez
eef391f6b6 Merge pull request #5608 from dokku/convert-config-test
tests: refactor the config test to use a simple python codebase instead
2023-01-26 14:16:07 -05:00
dependabot[bot]
78355174e8 chore(deps-dev): bump heroku/heroku-buildpack-php in /tests/apps/php
Bumps [heroku/heroku-buildpack-php](https://github.com/heroku/heroku-buildpack-php) from 227 to 229.
- [Release notes](https://github.com/heroku/heroku-buildpack-php/releases)
- [Changelog](https://github.com/heroku/heroku-buildpack-php/blob/main/CHANGELOG.md)
- [Commits](https://github.com/heroku/heroku-buildpack-php/compare/v227...v229)

---
updated-dependencies:
- dependency-name: heroku/heroku-buildpack-php
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-26 13:02:37 +00:00
Jose Diaz-Gonzalez
be682e8504 tests: refactor the config test to use a simple python codebase instead
This should also make it possible to run the tests locally on an ARM machine.
2023-01-25 23:01:15 -05:00
josegonzalez
a2baf37cd9 Merge pull request #5604 from dokku/faster-nginx-rebuild
Trigger nginx proxy rebuild early to avoid downtime if deploying large numbers of processes
2023-01-23 16:13:31 -05:00
josegonzalez
f4d5e352cc Merge pull request #5606 from dokku/5468-symlink-plugins
Ensure the mounted services directory is symlinked correctly
2023-01-23 16:13:17 -05:00
Jose Diaz-Gonzalez
ce8b851be2 fix: ensure the mounted services directory is symlinked correctly
Closes #5468
2023-01-23 15:00:02 -05:00
josegonzalez
9d9b880f59 fix: correct counts 2023-01-23 14:36:37 -05:00
josegonzalez
69c1fe8027 fix: update counts 2023-01-23 12:22:09 -05:00
Jose Diaz-Gonzalez
1a498b0b76 fix: handle nil map issue 2023-01-21 17:26:52 -05:00
josegonzalez
2a6e42a79c Merge pull request #5603 from dokku/4559-git-load-image
Add ability to deploy images generated via docker save with git:load-image
2023-01-21 17:25:12 -05:00
Jose Diaz-Gonzalez
91975c5bfe chore: set different header level 2023-01-21 16:44:35 -05:00
Jose Diaz-Gonzalez
594adf5366 tests: update count to 2 to handle the fact that now the nginx config is built twice 2023-01-21 16:44:21 -05:00
Jose Diaz-Gonzalez
5719f43551 feat: silence env var setting 2023-01-21 16:43:43 -05:00
Jose Diaz-Gonzalez
4e98e17c4f fix: use correct image.tar name 2023-01-21 16:19:52 -05:00
Jose Diaz-Gonzalez
25a49624c7 fix: trigger nginx proxy rebuild early to avoid downtime if deploying large numbers of processes
Due to how the nginx proxy implementation works, if an app has either many process types or many containers for a process type other than web, it is possible to see downtime on the web process due to the old web containers rotating out _before_ we reload the nginx config.

The correct fix would be to use some sort of dns-based resolution for the nginx config, but pending that change, we reload nginx twice now - ugh - to avoid this.
2023-01-21 14:55:41 -05:00
Jose Diaz-Gonzalez
7cb1a20dc6 fix: correct image references and also use a non-existent image in each case
This ensures we are actually testing the image load portion vs just doing a reference to an existing image.
2023-01-21 14:40:49 -05:00
Jose Diaz-Gonzalez
e9de0f4784 chore: cleanup builder-release hooks a little
This unifies the settings between both so they look more similar.
2023-01-21 14:39:48 -05:00
Jose Diaz-Gonzalez
d333c16347 feat: add ability to deploy images generated via docker save with git:load-image
Closes #4559
2023-01-21 14:05:31 -05:00
josegonzalez
5b416eaf52 Merge pull request #5558 from dokku/deprecate-18.04
Remove references to ubuntu 18.04 ahead of EOL
2023-01-21 14:02:00 -05:00
josegonzalez
a2970ca4ad Merge pull request #5600 from dokku/dependabot/bundler/tests/apps/ruby/rack-2.2.6.2
chore(deps): bump rack from 2.2.4 to 2.2.6.2 in /tests/apps/ruby
2023-01-21 14:01:33 -05:00
josegonzalez
83f0b47323 fix: search for correct string 2023-01-20 23:48:02 -05:00
dependabot[bot]
6ca869e293 chore(deps): bump rack from 2.2.4 to 2.2.6.2 in /tests/apps/ruby
Bumps [rack](https://github.com/rack/rack) from 2.2.4 to 2.2.6.2.
- [Release notes](https://github.com/rack/rack/releases)
- [Changelog](https://github.com/rack/rack/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rack/rack/compare/2.2.4...v2.2.6.2)

---
updated-dependencies:
- dependency-name: rack
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-19 00:54:35 +00:00
josegonzalez
35213727c4 Merge pull request #5598 from dokku/dependabot/github_actions/hadolint/hadolint-action-3.1.0
chore(deps): bump hadolint/hadolint-action from 3.0.0 to 3.1.0
2023-01-18 12:36:28 -05:00
dependabot[bot]
7b7d7bc068 chore(deps): bump hadolint/hadolint-action from 3.0.0 to 3.1.0
Bumps [hadolint/hadolint-action](https://github.com/hadolint/hadolint-action) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/hadolint/hadolint-action/releases)
- [Changelog](https://github.com/hadolint/hadolint-action/blob/master/.releaserc)
- [Commits](4b5806eb9c...54c9adbab1)

---
updated-dependencies:
- dependency-name: hadolint/hadolint-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-18 13:07:38 +00:00
Jose Diaz-Gonzalez
21947837c3 fix: use correct path within the ssl tarballs
Also add a command to help automate the generation of the certificates in the future.
2023-01-16 01:50:52 -05:00
Jose Diaz-Gonzalez
fab0890997 fix: use updated ssl crt/key pairs
The commands to generate these in the future are as follows:

openssl x509 -text -in server.crt

openssl req -x509 -newkey rsa:4096 -sha256 -nodes -keyout server.key -out server.crt -subj '/CN=dokku.me' -days 3650

openssl req -x509 -newkey rsa:4096 -sha256 -nodes -keyout server.key -out server.crt -subj '/CN=*.dokku.me' -days 3650

openssl req -x509 -newkey rsa:4096 -sha256 -nodes -keyout server.key -out server.crt -subj '/CN=test.dokku.me' -days 3650 -addext 'subjectAltName = DNS:www.test.dokku.me, DNS:www.test.app.dokku.me'
2023-01-16 01:39:59 -05:00
Jose Diaz-Gonzalez
e103d9b11b chore: suppress warnings about default branch 2023-01-16 01:39:59 -05:00
Jose Diaz-Gonzalez
fcb25e1842 chore: remove references to ubuntu 18.04 ahead of EOL
While we will still build for 18.04, we will now stop testing against it. Instead, we will test against 20.04, the next EOL release after 18.04.

Once Ubuntu 18.04 is EOL, any references to it will also be removed.

Note that 18.04 support was already deprecated in Dokku 0.28.0, so this change is just acknowledging that deprecation.
2023-01-16 01:39:59 -05:00
josegonzalez
503ac7e11b docs: update removal notice in 0.3.0 for logs:failed 2023-01-16 01:34:33 -05:00
josegonzalez
ee1b64414d Merge pull request #5595 from dokku/remove-deprecated-failed-all
Remove deprecated ability to call logs:failed without specifying an app or --all flag
2023-01-16 01:32:36 -05:00
Jose Diaz-Gonzalez
7015fd1e5c chore: remove deprecated ability to call logs:failed without specifying an app or --all flag
This option was deprecated in Dokku 0.22.0.
2023-01-16 01:31:56 -05:00
josegonzalez
9ce8d083b3 Merge pull request #5594 from dokku/remove-deprecated-post-release-triggers
Remove deprecated builder-specific post-release hooks
2023-01-16 01:26:05 -05:00
Jose Diaz-Gonzalez
a5fa3725e6 chore: remove deprecated builder-specific post-release hooks
This option was deprecated in Dokku 0.25.0.
2023-01-16 01:25:41 -05:00
josegonzalez
bd40e67c63 Merge pull request #5593 from dokku/remove-deprecated-detach
Remove deprecated --detach flag
2023-01-16 01:23:47 -05:00
Jose Diaz-Gonzalez
a2444b453d chore: remove deprecated --detach flag
This option was deprecated in Dokku 0.25.0.
2023-01-16 01:19:39 -05:00
josegonzalez
37c9bd3f87 Merge pull request #5592 from dokku/drop-dokku-scale
Remove support for DOKKU_SCALE file
2023-01-16 01:13:33 -05:00
Jose Diaz-Gonzalez
5dcc1cb13c refactor: remove support for DOKKU_SCALE file
It has been replaced by the 'formations' key within the 'app.json' file format.
2023-01-15 23:53:03 -05:00
josegonzalez
e22d74febb Merge pull request #5591 from dokku/josegonzalez-patch-1
Allow the herokuish builder to be detected when the computed allowed value is set not set to false
2023-01-15 12:28:30 -05:00
josegonzalez
7f19f72c0d fix: allow the herokuish builder to be detected when the computed allowed value is set not set to false 2023-01-15 12:28:06 -05:00
josegonzalez
fa34f89901 Merge pull request #5560 from dokku/drop-spdy
Drop SPDY support from nginx plugin
2023-01-15 11:43:32 -05:00
josegonzalez
f4be860867 docs: fix the image and app reference for service proxying 2023-01-14 23:17:48 -05:00
josegonzalez
11f4a2cbb4 Merge pull request #5590 from dokku/5583-vagrant-ssh
Note that connecting to vagrant should be done via vagrant ssh
2023-01-14 23:13:22 -05:00
Jose Diaz-Gonzalez
e98c95c45e docs: note that connecting to vagrant should be done via vagrant ssh
Refs #5583
2023-01-14 23:13:05 -05:00
josegonzalez
9654b99992 Merge pull request #5589 from dokku/fix-caddy-var
Use warning_scheme variable instead of bare word in caddy-vhosts warning output
2023-01-14 23:11:47 -05:00
Jose Diaz-Gonzalez
d5a7522d20 fix: use warning_scheme variable instead of bare word in caddy-vhosts warning output 2023-01-14 23:11:19 -05:00
josegonzalez
60f2d48f01 Merge pull request #5570 from dokku/5564-client-remote
Add support for customizing the remote in use for all commands sent via the official client
2023-01-14 23:09:13 -05:00
josegonzalez
abb30fcc79 Merge pull request #5587 from dokku/josegonzalez-patch-1
Timeout build jobs within 45 minutes
2023-01-14 23:08:55 -05:00
josegonzalez
d70c8e0b60 Merge pull request #5588 from dokku/5409-app-networking-docs
Document how to route to server-local apps via a service proxy
2023-01-14 23:04:29 -05:00
Jose Diaz-Gonzalez
b846248064 docs: document how to route to server-local apps via a service proxy
The previous static-web-listener network property doesn't work with caddy and traefik as resolution of requests works quite differently given that they only proxy to docker containers. The new method uses the dokku/service-proxy docker image to proxy requests in a lightweight manner.

Closes #5409
Closes #5586
2023-01-14 22:53:34 -05:00
josegonzalez
d6c26f8546 fix: timeout build jobs within 45 minutes
If a build goes on for longer than 30 minutes, it is likely stalled due to a buildx issue. We add a 15 minute buffer in case our build times increase.
2023-01-14 21:30:55 -05:00
Jose Diaz-Gonzalez
a4136f4719 fix: correct tests and handle a few edge cases in remote command usage 2023-01-14 19:49:14 -05:00
Jose Diaz-Gonzalez
9d380e5654 fix: correct test naming 2023-01-14 17:53:33 -05:00
Jose Diaz-Gonzalez
0653a2b0bf feat: add support for customizing the remote in use for all commands sent via the official client
Closes #5564
2023-01-14 17:53:33 -05:00
josegonzalez
aa26dcb094 Merge pull request #5585 from NicolasLM/docs-nginx-default-vhost
Improve instructions for disabling the default nginx site
2023-01-14 17:49:55 -05:00
Nicolas Le Manchet
7dfb897b69 docs: improve instructions for disabling the default nginx site
The previous instructions for disabling the default site left things in
an in-between state: it still returned an error page and did not disable
the default HTTPS site unless the user figured out how to generate
a valid SSL certificate.

The changes made in this commit assume that the user actively disabling
the default site considers all requests to unknown vhosts as bogus.
Therefore there is no point in responding and providing a valid SSL
certificate to them.

As such, the recommended error code is now `444` to close the connection
without responding and the HTTPS default site is disabled with
a self-signed certificate.

Also as all distributions supported by Dokku use systemd, make use of it
instead of the legacy `service` command which does not work anymore on
some distributions like Arch.
2023-01-14 14:06:54 +01:00
josegonzalez
7c6657e11e Merge pull request #5579 from dokku/dependabot/maven/tests/apps/java/org.apache.maven.plugins-maven-dependency-plugin-3.5.0
chore(deps): bump maven-dependency-plugin from 3.4.0 to 3.5.0 in /tests/apps/java
2023-01-13 12:15:34 -05:00
josegonzalez
40997f2e68 Merge pull request #5581 from dokku/short-install
Use short url for installation
2023-01-13 00:19:43 -05:00
Jose Diaz-Gonzalez
124a7b7c63 feat: use short url for installation
This brings the installer to the dokku.com domain, from which we can point it wherever we want.
2023-01-12 23:56:29 -05:00
josegonzalez
f8a2da7a63 Merge pull request #5580 from dokku/5549-plugin-no-reinstall
Do not attempt to reinstall already installed plugins
2023-01-12 21:03:45 -05:00
Jose Diaz-Gonzalez
ef32d2d88f fix: do not attempt to reinstall already installed plugins
Instead, just warn that they won't be reinstalled.

Closes #5549
2023-01-12 21:03:03 -05:00
Dokku Bot
1edab5fa4f Release 0.29.4
# History

## 0.29.4

Install/update via the bootstrap script:

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

### Bug Fixes

- #5571: @josegonzalez Ensure we properly setup all data directories on app install and creation
- #5555: @josegonzalez Drop debugging code from ps plugin

### Documentation

- #5563: @kbuilds Clarify documentation for default site under nginx

### Tests

- #5557: @josegonzalez Update GitHub actions

### Other

- #5577: @dependabot[bot] chore(deps): bump golang from 1.19.4 to 1.19.5 in /tests/apps/gogrpc
- #5573: @dependabot[bot] chore(deps): bump golang from 1.19.4 to 1.19.5 in /tests/apps/go-fail-postdeploy
- #5574: @dependabot[bot] chore(deps): bump golang from 1.19.4 to 1.19.5 in /tests/apps/zombies-dockerfile-tini
- #5575: @dependabot[bot] chore(deps): bump golang from 1.19.4 to 1.19.5 in /tests/apps/go-fail-predeploy
- #5576: @dependabot[bot] chore(deps): bump golang from 1.19.4 to 1.19.5 in /tests/apps/zombies-dockerfile-no-tini
2023-01-12 22:56:53 +00:00
dependabot[bot]
b3c175bb5e chore(deps): bump maven-dependency-plugin in /tests/apps/java
Bumps [maven-dependency-plugin](https://github.com/apache/maven-dependency-plugin) from 3.4.0 to 3.5.0.
- [Release notes](https://github.com/apache/maven-dependency-plugin/releases)
- [Commits](https://github.com/apache/maven-dependency-plugin/compare/maven-dependency-plugin-3.4.0...maven-dependency-plugin-3.5.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-01-12 13:05:25 +00:00
josegonzalez
c6396ddfb8 Merge pull request #5577 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.19.5
chore(deps): bump golang from 1.19.4 to 1.19.5 in /tests/apps/gogrpc
2023-01-11 12:43:24 -05:00
dependabot[bot]
d1ad7c126c chore(deps): bump golang from 1.19.4 to 1.19.5 in /tests/apps/gogrpc
Bumps golang from 1.19.4 to 1.19.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-01-11 17:43:15 +00:00
josegonzalez
a6c2f978da Merge pull request #5573 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.19.5
chore(deps): bump golang from 1.19.4 to 1.19.5 in /tests/apps/go-fail-postdeploy
2023-01-11 12:42:47 -05:00
josegonzalez
d089b3b5d1 Merge pull request #5574 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.19.5
chore(deps): bump golang from 1.19.4 to 1.19.5 in /tests/apps/zombies-dockerfile-tini
2023-01-11 12:42:40 -05:00
josegonzalez
7267467a2d Merge pull request #5575 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.19.5
chore(deps): bump golang from 1.19.4 to 1.19.5 in /tests/apps/go-fail-predeploy
2023-01-11 12:42:31 -05:00
josegonzalez
ec3c134e4a Merge pull request #5571 from dokku/5568-prop-data-cleanup
Ensure we properly setup all data directories on app install and creation
2023-01-11 12:42:07 -05:00
josegonzalez
87049bf86c Merge pull request #5576 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.19.5
chore(deps): bump golang from 1.19.4 to 1.19.5 in /tests/apps/zombies-dockerfile-no-tini
2023-01-11 12:41:56 -05:00
dependabot[bot]
ebcbdcd779 chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.19.4 to 1.19.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-01-11 13:15:47 +00:00
dependabot[bot]
d93b9751d5 chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.19.4 to 1.19.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-01-11 13:15:46 +00:00
dependabot[bot]
fae1ad6669 chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.19.4 to 1.19.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-01-11 13:15:37 +00:00
dependabot[bot]
464aecfec9 chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.19.4 to 1.19.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-01-11 13:15:03 +00:00
Jose Diaz-Gonzalez
eeb2e69044 fix: only create the test app if it doesn't exist for tls tests 2023-01-11 00:55:47 -05:00
Jose Diaz-Gonzalez
0b45aea1d0 fix: just create the data directory if the old data directory doesn't exist 2023-01-10 02:10:06 -05:00
Jose Diaz-Gonzalez
93279b884a tests: create the app before extracting tls data during tests 2023-01-10 02:09:33 -05:00
Jose Diaz-Gonzalez
05c6cecc14 tests: use run to invoke functions in tests 2023-01-10 02:09:22 -05:00
Jose Diaz-Gonzalez
ffa9f85cf2 chore: run go mod tidy 2023-01-09 14:00:12 -05:00
Jose Diaz-Gonzalez
47fb8e2093 fix: add missing triggers 2023-01-09 10:54:39 -05:00
Jose Diaz-Gonzalez
199c9bf615 chore: update go modules 2023-01-08 23:51:53 -05:00
Jose Diaz-Gonzalez
fd765c6ba4 feat: add missing modules 2023-01-08 23:49:39 -05:00
Jose Diaz-Gonzalez
0aa194eea7 fix: add missing docs 2023-01-08 23:47:33 -05:00
Jose Diaz-Gonzalez
6cbe93c245 refactor: move all golang code for managing data directories to common plugin
Additionally, ensure the golang plugins handle setup/teardown of plugin and app-specific data directories during install, rename, and clone phases.
2023-01-08 23:36:12 -05:00
josegonzalez
38fdb87c79 Merge pull request #5557 from dokku/update-github-actions
Update GitHub actions
2023-01-08 22:37:00 -05:00
josegonzalez
8d17d142a8 fix: use correct value for comment_mode 2023-01-08 20:18:33 -05:00
josegonzalez
3c2a7f2394 Merge pull request #5563 from kbuilds/nginx_documentation
Clarify documentation for default site under nginx
2023-01-01 23:50:38 -05:00
Kurtis Jensen
966daac040 addresses feedback on docs 2023-01-02 04:48:02 +00:00
Kurtis Jensen
60d1422b26 wording update 2023-01-02 03:53:18 +00:00
Kurtis Jensen
f0e87d2226 adds note about default nginx site 2023-01-02 03:49:29 +00:00
josegonzalez
20c30dc587 fix: drop name so all test results are downloaded 2022-12-29 11:32:20 -05:00
josegonzalez
0657e3a1f1 fix: correct yaml lint issues 2022-12-29 10:22:04 -05:00
Jose Diaz-Gonzalez
ca1ab188fe chore: drop SPDY
This hasn't been supported by browsers in quite a while and nginx will set a warning as of Ubuntu 20.04 when the header is referenced.
2022-12-29 01:59:54 -05:00
Jose Diaz-Gonzalez
9f1bfb0d06 fix: set path to ensure compatibility with v1 of the action
See https://github.com/actions/download-artifact#compatibility-between-v1-and-v2v3 for more details.
2022-12-29 01:52:33 -05:00
Jose Diaz-Gonzalez
6e28b9f835 chore: drop set-output usage 2022-12-29 00:14:29 -05:00
Jose Diaz-Gonzalez
9e2c151e9f chore: update workflows in lint.yml 2022-12-29 00:10:47 -05:00
Jose Diaz-Gonzalez
c8ec0825d3 chore: update actions/checkout 2022-12-29 00:05:02 -05:00
Jose Diaz-Gonzalez
c082b68b23 chore: update actions/download-artifact 2022-12-29 00:03:54 -05:00
Jose Diaz-Gonzalez
babb2766bd chore: update publish-unit-test-result-action 2022-12-29 00:02:24 -05:00
josegonzalez
b983191c6d Merge pull request #5555 from dokku/josegonzalez-patch-1
Drop debugging code from ps plugin
2022-12-28 23:51:47 -05:00
josegonzalez
30887d74fc chore: drop debugging code from ps plugin
This was accidentally added in a refactor of how processes are managed.
2022-12-28 23:50:39 -05:00
Dokku Bot
f828c7a3ec Release 0.29.3
# History

## 0.29.3

Install/update via the bootstrap script:

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

### Bug Fixes

- #5544: @josegonzalez Exit non-zero when git:from-image deploys fail to start the app
- #5543: @josegonzalez Properly parse arguments for git:status command

### Tests

- #5554: @josegonzalez Validate that procfile-path is respected

### Other

- #5551: @dependabot[bot] chore(deps): bump ruby from 3.1.3 to 3.2.0 in /tests/apps/dockerfile-entrypoint
- #5547: @dependabot[bot] chore(deps): bump setuptools from 65.5.0 to 65.5.1 in /tests/apps/dockerfile-release
- #5542: @josegonzalez Add json output format support to storage:list
2022-12-28 23:39:41 +00:00
josegonzalez
2a99aa7814 Merge pull request #5554 from dokku/5550-procfile-path
Validate that procfile-path is respected
2022-12-28 18:02:51 -05:00
Jose Diaz-Gonzalez
9f6aade092 fix: run unbuffered 2022-12-28 16:42:36 -05:00
Jose Diaz-Gonzalez
e01730857c fix: overwrite the in-repo Procfile with the desired Procfile
Without this change, herokuish and pack builds would not run the correct command as the Procfile could still be the old Procfile.
2022-12-28 15:36:34 -05:00
Jose Diaz-Gonzalez
514a3efa5c fix: use the correct test app for ps-general-2
Otherwise we aren't testing the desired Procfile behavior.
2022-12-28 15:35:56 -05:00
Jose Diaz-Gonzalez
476a4efa46 fix: use -u in Procfile to unbuffer python output
Without this, logs don't get written out immediately, causing tests to fail.
2022-12-28 15:35:26 -05:00
Jose Diaz-Gonzalez
21bb5ea2ed fix: delete existing Procfile if the user tried to overwrite it with a non-existing one
This behavior follows what is described in the documentation.
2022-12-28 15:34:53 -05:00
Jose Diaz-Gonzalez
d9af6516bb tests: validate that procfile-path is respected
Refs #5550
2022-12-28 13:40:33 -05:00
josegonzalez
48452558bd Merge pull request #5551 from dokku/dependabot/docker/tests/apps/dockerfile-entrypoint/ruby-3.2.0
chore(deps): bump ruby from 3.1.3 to 3.2.0 in /tests/apps/dockerfile-entrypoint
2022-12-28 12:32:13 -05:00
dependabot[bot]
04d1160856 chore(deps): bump ruby in /tests/apps/dockerfile-entrypoint
Bumps ruby from 3.1.3 to 3.2.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-28 13:13:05 +00:00
josegonzalez
31cd2f60f2 Merge pull request #5547 from dokku/dependabot/pip/tests/apps/dockerfile-release/setuptools-65.5.1
chore(deps): bump setuptools from 65.5.0 to 65.5.1 in /tests/apps/dockerfile-release
2022-12-27 15:03:21 -05:00
dependabot[bot]
2adae1e39e chore(deps): bump setuptools in /tests/apps/dockerfile-release
Bumps [setuptools](https://github.com/pypa/setuptools) from 65.5.0 to 65.5.1.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/CHANGES.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v65.5.0...v65.5.1)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-27 17:30:34 +00:00
josegonzalez
4674ba0dd8 Merge pull request #5544 from dokku/5538-git-from-image-correct-failure
Exit non-zero when git:from-image deploys fail to start the app
2022-12-27 03:51:24 -05:00
Jose Diaz-Gonzalez
fd2c540cd5 fix: exit non-zero when git:from-image deploys fail to start the app
Also ensure the repository doesn't get updated to an invalid state in those failure cases.

Closes #5538
2022-12-27 02:37:30 -05:00
josegonzalez
32af26d7a1 Merge pull request #5543 from dokku/josegonzalez-patch-1
Properly parse arguments for git:status command
2022-12-27 02:36:32 -05:00
josegonzalez
b9a9094b46 fix: properly parse arguments for git:status command 2022-12-27 01:42:08 -05:00
josegonzalez
e580869d4f Merge pull request #5542 from dokku/storage-list-json
Add json output format support to storage:list
2022-12-26 21:50:53 -05:00
Jose Diaz-Gonzalez
28027b9a78 chore: run shfmt 2022-12-26 16:41:45 -05:00
Jose Diaz-Gonzalez
852dfc6287 feat: add json output format support to storage:list
This will allow the command to be used in a programmatic fashion.
2022-12-26 16:33:40 -05:00
Jose Diaz-Gonzalez
c0449d2bf1 docs: reference node-js-app instead of lollipop in storage docs
We've standardized on node-js-app elsewhere.
2022-12-26 16:12:26 -05:00
Jose Diaz-Gonzalez
1f75e7d378 docs: document the storage:list command 2022-12-26 16:11:57 -05:00
521 changed files with 11615 additions and 3975 deletions

View File

@@ -8,8 +8,8 @@ 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.2.linux-${TARGETARCH}.tar.gz && \
tar -xvf go1.19.2.linux-${TARGETARCH}.tar.gz && \
RUN wget https://dl.google.com/go/go1.19.6.linux-${TARGETARCH}.tar.gz && \
tar -xvf go1.19.6.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

@@ -1,7 +1,11 @@
#!/usr/bin/env bash
main() {
declare PLUGIN_NAME="$1"
install-go-devtools() {
go install github.com/go-delve/delve/cmd/dlv@latest
go install honnef.co/go/tools/cmd/staticcheck@latest
}
install-go-mods() {
local plugin_root="/root/go/src/github.com/dokku/dokku/plugins"
export GO111MODULE=off
@@ -22,4 +26,17 @@ main() {
popd >/dev/null || true
}
setup-ci() {
local dokku_root="/root/go/src/github.com/dokku/dokku"
pushd "$plugin_root" >/dev/null || true
make ci-dependencies setup-deploy-tests
popd >/dev/null || true
}
main() {
install-go-mods
install-go-devtools
setup-ci
}
main "$@"

View File

@@ -7,19 +7,23 @@
"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",
"source=${localWorkspaceFolder}/tmp/data/,target=/mnt/dokku/,type=bind"
],
"overrideCommand": false,
"postCreateCommand": "download-go-mod && make setup-deploy-tests",
"postCreateCommand": "setup-dev-env",
"runArgs": ["--init"],
"workspaceFolder": "/root/go/src/github.com/dokku/dokku",
"workspaceMount": "type=bind,source=${localWorkspaceFolder},target=/root/go/src/github.com/dokku/dokku,consistency=cached"

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

204
.github/dependabot.yml vendored
View File

@@ -1,61 +1,209 @@
---
version: 2
updates:
- package-ecosystem: pip
directory: "/docs/_build"
schedule:
interval: daily
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/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"
schedule:
interval: daily
open-pull-requests-limit: 2
labels:
- "type: dependencies"
- package-ecosystem: bundler
directory: "/tests/apps/ruby"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: bundler
directory: "/tests/apps/multi"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: npm
directory: "/tests/apps/checks-root"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: npm
directory: "/tests/apps/config"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: npm
directory: "/tests/apps/dockerfile-dokku-scale"
directory: "/tests/apps/dockerfile-app-json-formations"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: npm
directory: "/tests/apps/dockerfile-noexpose"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: npm
directory: "/tests/apps/dockerfile-procfile-bad"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: npm
directory: "/tests/apps/dockerfile-procfile"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: npm
directory: "/tests/apps/dockerfile"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: npm
directory: "/tests/apps/gitsubmodules"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: gomod
directory: "/tests/apps/gogrpc"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
ignore:
- dependency-name: google.golang.org/grpc
versions:
@@ -65,123 +213,173 @@ updates:
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: maven
directory: "/tests/apps/java"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: npm
directory: "/tests/apps/nodejs-express"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: npm
directory: "/tests/apps/nodejs-worker"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: npm
directory: "/tests/apps/nodejs-express-noappjson"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: npm
directory: "/tests/apps/nodejs-express-noprocfile"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: composer
directory: "/tests/apps/php"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: pip
directory: "/tests/apps/python-flask"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: npm
directory: "/tests/apps/.websocket.disabled"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: "docker"
directory: /""
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: "docker"
directory: "/tests/apps/dockerfile-noexpose"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: "docker"
directory: "/tests/apps/dockerfile"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: "docker"
directory: "/tests/apps/dockerfile-procfile"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: "docker"
directory: "/tests/apps/dockerfile-entrypoint"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: "docker"
directory: "/tests/apps/dockerfile-procfile-bad"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: "docker"
directory: "/tests/apps/go-fail-predeploy"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: "docker"
directory: "/tests/apps/zombies-dockerfile-no-tini"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: "docker"
directory: "/tests/apps/dockerfile-release"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: "docker"
directory: "/tests/apps/dockerfile-dokku-scale"
directory: "/tests/apps/dockerfile-app-json-formations"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: "docker"
directory: "/tests/apps/gogrpc"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: "docker"
directory: "/tests/apps/zombies-dockerfile-tini"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: "docker"
directory: "/tests/apps/go-fail-postdeploy"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: "docker"
directory: "/docs/_build"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"
- package-ecosystem: "docker"
directory: "/.devcontainer"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- "type: dependencies"

View File

@@ -10,14 +10,44 @@ on:
branches:
- 'master'
concurrency:
group: build-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
check-commit:
runs-on: ubuntu-20.04
outputs:
skip: ${{ steps.check-commit.outputs.skip }}
steps:
- uses: actions/checkout@v3
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-18.04
runs-on: ubuntu-20.04
needs: check-commit
if: ${{ needs.check-commit.outputs.skip != 'true' }}
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
strategy:
fail-fast: true
timeout-minutes: 45
steps:
- uses: actions/checkout@v3
@@ -31,13 +61,15 @@ jobs:
- name: build package
run: ./tests/ci/setup.sh build
env:
SKIP_IMAGE_BUILD: true
- name: set matrix for build
id: set-matrix
run: |
json=$(python .github/commands/matrix)
echo $json
echo "::set-output name=matrix::$(echo "$json")"
echo "matrix=$json" >> $GITHUB_OUTPUT
- name: upload packages
uses: actions/upload-artifact@v3
@@ -45,10 +77,47 @@ jobs:
name: build
path: build
build-image:
name: build-image.${{ matrix.architecture }}
needs: build
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
architecture:
- linux/amd64
- linux/arm
- linux/arm64
steps:
- uses: actions/checkout@v3
- name: download packages
uses: actions/download-artifact@v3
with:
name: build
path: build
- name: set up qemu
uses: docker/setup-qemu-action@v2
- name: set up docker buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: build docker image
timeout-minutes: 20
run: |
docker buildx build \
--platform ${{ matrix.architecture }} \
--progress plain \
--tag "dokku/dokku:latest" \
.
unit-tests:
name: unit.${{ matrix.index }}
needs: build
runs-on: ubuntu-18.04
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix: ${{fromJson(needs.build.outputs.matrix)}}
@@ -57,9 +126,10 @@ jobs:
- uses: actions/checkout@v3
- name: download packages
uses: actions/download-artifact@v1
uses: actions/download-artifact@v3
with:
name: build
path: build
- name: ci-setup
run: ./.github/commands/ci-setup
@@ -87,7 +157,7 @@ jobs:
docker-deploy-tests:
name: docker
needs: build
runs-on: ubuntu-18.04
runs-on: ubuntu-20.04
strategy:
fail-fast: false
@@ -95,9 +165,10 @@ jobs:
- uses: actions/checkout@v3
- name: download packages
uses: actions/download-artifact@v1
uses: actions/download-artifact@v3
with:
name: build
path: build
- name: ci-setup
run: ./.github/commands/ci-setup
@@ -112,7 +183,7 @@ jobs:
go-tests:
name: go.${{ matrix.index }}
needs: build
runs-on: ubuntu-18.04
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
@@ -124,9 +195,10 @@ jobs:
- uses: actions/checkout@v3
- name: download packages
uses: actions/download-artifact@v1
uses: actions/download-artifact@v3
with:
name: build
path: build
- name: ci-setup
run: ./.github/commands/ci-setup
@@ -152,20 +224,22 @@ jobs:
publish-test-results:
name: publish-test-results
needs: unit-tests
runs-on: ubuntu-18.04
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()
steps:
- name: download test-results
uses: actions/download-artifact@v2
uses: actions/download-artifact@v3
with:
path: test-results
- name: Publish Unit Test Results
uses: docker://ghcr.io/enricomi/publish-unit-test-result-action:v1
uses: EnricoMi/publish-unit-test-result-action@v2
with:
check_name: Unit Test Results
github_token: ${{ secrets.GITHUB_TOKEN }}
files: test-results/**/*.xml
comment_on_pr: false
junit_files: test-results/**/*.xml
comment_mode: "off"

View File

@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Cloning repo
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
fetch-depth: 0

View File

@@ -18,8 +18,8 @@ jobs:
- name: Clone
uses: actions/checkout@v3
- name: Run hadolint
uses: hadolint/hadolint-action@4b5806eb9c6bee4954fc0e0cc3ad6175fc9782c1
# v1.6.0 => d7b38582334d9ac11c12021c16f21d63015fa250
uses: hadolint/hadolint-action@54c9adbab1582c2ef04b2016b760714a4bfde3cf
# v3.0.0 => 4b5806eb9c6bee4954fc0e0cc3ad6175fc9782c1
markdown-lint:
name: markdown-lint
@@ -34,6 +34,31 @@ jobs:
config: '.github/linters/.markdown-lint.yml'
args: './README.md'
packer:
name: packer
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v3
- 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@v37.5.2
with:
files: contrib/images/digitalocean/**
- name: Run `packer validate`
env:
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
if: steps.changed-files-specific.outputs.any_changed == 'true'
run: "make image/validate/digitalocean"
shellcheck:
name: shellcheck
runs-on: ubuntu-20.04
@@ -41,11 +66,8 @@ jobs:
- name: Clone
uses: actions/checkout@v3
- name: Run shellcheck
uses: ludeeus/action-shellcheck@94e0aab03ca135d11a35e5bfc14e6746dc56e7e9
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
@@ -54,8 +76,8 @@ jobs:
- name: Clone
uses: actions/checkout@v3
- name: Run shfmt
uses: luizm/action-sh-checker@edd0e45ecff35b05f162052b50df50976c1b74fc
# v0.3.0 => 7f44869033b40ee4ffe7dc76c87a1bc66e3d025a
uses: luizm/action-sh-checker@76ab0b22e1f194e4a582edc7969df6485c4e9246
# v0.5.0 => edd0e45ecff35b05f162052b50df50976c1b74fc
env:
SHFMT_OPTS: -l -bn -ci -i 2 -d
with:
@@ -69,6 +91,6 @@ jobs:
uses: actions/checkout@v3
- name: Run yamllint
uses: ibiqlik/action-yamllint@2576378a8e339169678f9939646ee3ee325e845c
# v3.0.4 => ed2b6e911569708ed121c14b87d513860a7e36a7
# v3.1.1 => 2576378a8e339169678f9939646ee3ee325e845c
with:
config_file: '.github/linters/.yamllint.yml'

View File

@@ -57,11 +57,14 @@ jobs:
git config --global user.email no-reply@dokku.com
- name: build package
env:
RELEASE_GITHUB_USERNAME: ${{ secrets.HOMEBREW_GITHUB_USERNAME }}
RELEASE_GITHUB_API_TOKEN: ${{ secrets.HOMEBREW_GITHUB_API_TOKEN }}
run: contrib/release-dokku ${{ github.event.inputs.release_type }}
- name: output version
id: version
run: echo "::set-output name=version::$(cat build/next-version)"
run: echo "version=$(cat build/next-version)" >> $GITHUB_OUTPUT
- name: upload packages
uses: actions/upload-artifact@v3
@@ -69,6 +72,42 @@ jobs:
name: build
path: build
build-digitalocean:
name: build-digitalocean
runs-on: ubuntu-20.04
needs: release
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup packer
uses: hashicorp/setup-packer@main
with:
version: latest
- name: Run packer init
run: "make image/init/digitalocean"
- name: Run `packer validate`
env:
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
run: |
VERSION=${{ needs.release.outputs.version }}
PKR_VAR_dokku_version="${VERSION:1}" make image/validate/digitalocean
- name: Bump Digitalocean Image
env:
DIGITALOCEAN_TOKEN: ${{ secrets.DIGITALOCEAN_TOKEN }}
run: |
VERSION=${{ needs.release.outputs.version }}
PKR_VAR_dokku_version="${VERSION:1}" make image/build/digitalocean
- name: upload packages
uses: actions/upload-artifact@v3
with:
name: digitalocean-manifest.json
path: digitalocean-manifest.json
bump-azure:
name: bump-azure
runs-on: ubuntu-20.04

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

@@ -57,6 +57,7 @@ RUN \
&& ln -sf /mnt/dokku/home/dokku /home/dokku \
&& ln -sf /mnt/dokku/var/lib/dokku/config /var/lib/dokku/config \
&& ln -sf /mnt/dokku/var/lib/dokku/data /var/lib/dokku/data \
&& ln -sf /mnt/dokku/var/lib/dokku/services /var/lib/dokku/services \
&& mv /etc/my_init.d/00_regen_ssh_host_keys.sh /etc/my_init.d/15_regen_ssh_host_keys \
&& rm -f /etc/nginx/sites-enabled/default /usr/share/nginx/html/index.html /etc/my_init.d/10_syslog-ng.init \
&& rm -f /usr/local/openresty/nginx/conf/sites-enabled/default /usr/share/openresty/html/index.html \

File diff suppressed because it is too large Load Diff

View File

@@ -3,7 +3,8 @@ DOKKU_VERSION ?= master
TARGETARCH ?= amd64
DOCKER_IMAGE_LABELER_VERSION ?= 0.5.0
HEROKUISH_VERSION ?= 0.5.38
DOCKER_CONTAINER_HEALTHCHECKER_VERSION ?= 0.6.4
HEROKUISH_VERSION ?= 0.6.0
LAMBDA_BUILDER_VERSION ?= 0.4.0
NETRC_VERSION ?= 0.6.0
PLUGN_VERSION ?= 0.12.0
@@ -11,6 +12,7 @@ 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
DOCKER_CONTAINER_HEALTHCHECKER_URL ?= https://github.com/dokku/docker-container-healthchecker/releases/download/v${DOCKER_CONTAINER_HEALTHCHECKER_VERSION}/docker-container-healthchecker_${DOCKER_CONTAINER_HEALTHCHECKER_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
@@ -18,7 +20,7 @@ PROCFILE_UTIL_URL ?= https://github.com/josegonzalez/go-procfile-util/releases/d
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
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 +137,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 +163,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

@@ -74,7 +74,7 @@ Support us with a monthly donation and help us continue our activities. [[Become
A fresh VM running any of the following operating systems:
- Ubuntu 18.04 / 20.04 / 22.04 x64 - Any currently supported release
- Ubuntu 20.04 / 22.04 x64 - Any currently supported release
- Debian 10+ x64
- Arch Linux x64 *(experimental)*
@@ -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 https://raw.githubusercontent.com/dokku/dokku/v0.29.2/bootstrap.sh
sudo DOKKU_TAG=v0.29.2 bash bootstrap.sh
wget -NP . https://dokku.com/install/v0.31.0/bootstrap.sh
sudo DOKKU_TAG=v0.31.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.

2
Vagrantfile vendored
View File

@@ -1,7 +1,7 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :
BOX_NAME = ENV["BOX_NAME"] || "bento/ubuntu-18.04"
BOX_NAME = ENV["BOX_NAME"] || "bento/ubuntu-20.04"
BOX_CPUS = ENV["BOX_CPUS"] || "1"
BOX_MEMORY = ENV["BOX_MEMORY"] || "1024"
DOKKU_DOMAIN = ENV["DOKKU_DOMAIN"] || "dokku.me"

View File

@@ -3,7 +3,7 @@ set -eo pipefail
[[ $TRACE ]] && set -x
# A script to bootstrap dokku.
# It expects to be run on Ubuntu 18.04/20.04 via 'sudo`
# It expects to be run on Ubuntu 20.04/22.04 via 'sudo`
# If installing a tag higher than 0.3.13, it may install dokku via a package (so long as the package is higher than 0.3.13)
# It checks out the dokku source code from GitHub into ~/dokku and then runs 'make install' from dokku source.
@@ -12,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
@@ -197,7 +197,7 @@ install-dokku-from-deb-package() {
OS_ID="bionic"
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.2
BUILD_IMAGE := golang:1.19.6
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

@@ -1,6 +1,8 @@
FROM ubuntu:18.04
FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update -qq && apt-get -qq -y --no-install-recommends install gcc git build-essential wget ruby-dev ruby1.9.1 lintian rpm help2man man-db
RUN command -v fpm >/dev/null || sudo gem install fpm --no-ri --no-rdoc
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 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

@@ -2,9 +2,6 @@ FROM dokku/build-base:0.0.1 AS builder
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update -qq && apt-get -qq -y --no-install-recommends install gcc git build-essential wget ruby-dev ruby1.9.1 lintian rpm help2man man-db
RUN command -v fpm >/dev/null || sudo gem install fpm --no-ri --no-rdoc
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" \

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
@@ -61,9 +61,13 @@ fn-dokku-host() {
echo "$DOKKU_HOST"
}
fn-get-remote() {
git config dokku.remote 2>/dev/null || echo "dokku"
}
main() {
declare CMD="$1" APP_ARG="$2"
local APP="" DOKKU_GIT_REMOTE="dokku" DOKKU_REMOTE_HOST=""
local APP="" DOKKU_GIT_REMOTE="$(fn-get-remote)" DOKKU_REMOTE_HOST=""
local cmd_set=false next_index=1 skip=false args=("$@")
for arg in "$@"; do
@@ -100,12 +104,12 @@ main() {
done
DOKKU_REMOTE_HOST="$(fn-dokku-host "$DOKKU_GIT_REMOTE" "$DOKKU_HOST")"
if [[ -z "$DOKKU_REMOTE_HOST" ]]; then
if [[ -z "$DOKKU_REMOTE_HOST" ]] && [[ "$CMD" != remote ]] && [[ "$CMD" != remote:* ]]; then
fn-client-help-msg
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
@@ -143,6 +147,40 @@ main() {
apps:destroy)
fn-is-git-repo && fn-has-dokku-remote && git remote remove "$DOKKU_GIT_REMOTE"
;;
remote)
echo "$DOKKU_GIT_REMOTE"
exit 0
;;
remote:add)
shift 1
git remote add "$@"
exit "$?"
;;
remote:list)
git remote
exit "$?"
;;
remote:set)
shift 1
git config dokku.remote "$@"
exit "$?"
;;
remote:remove)
shift 1
git remote remove "$@"
local exit_code="$?"
if [[ "$(git config dokku.remote)" == "$1" ]]; then
git config --unset dokku.remote
fi
exit "$exit_code"
;;
remote:unset)
if [[ -n "$(git config dokku.remote)" ]]; then
git config --unset dokku.remote
exit "$?"
fi
exit 0
;;
esac
[[ " apps certs help ls nginx shell storage trace version " == *" $CMD "* ]] && unset APP
@@ -152,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

@@ -0,0 +1,95 @@
# You may add here your
# server {
# ...
# }
# statements for each of your virtual hosts to this file
##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /var/www/html;
index index.php index.html index.htm;
# Make site accessible from http://localhost/
server_name localhost;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# root html;
# index index.html index.htm;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}
# HTTPS server
#
#server {
# listen 443;
# server_name localhost;
#
# root html;
# index index.html index.htm;
#
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
#
# ssl_session_timeout 5m;
#
# ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
# ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
# ssl_prefer_server_ciphers on;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}

View File

@@ -0,0 +1,21 @@
#!/bin/sh
#
# Configured as part of the DigitalOcean 1-Click Image build process
myip=$(hostname -I | awk '{print$1}')
cat <<EOF
********************************************************************************
Welcome to DigitalOcean's 1-Click Dokku Droplet.
To keep this Droplet secure, the UFW firewall is enabled.
All ports are BLOCKED except 22 (SSH), 80 (HTTP), 443 (HTTPS).
In a web browser, you can view:
* The Dokku One-Click Quickstart guide: https://do.co/dokku1804#start
For help and more information, visit https://do.co/dokku1804
********************************************************************************
To delete this message of the day: rm -rf $(readlink -f ${0})
To remove the default web landing page: rm -rf /etc/nginx/sites-available/digitalocean
EOF

View File

@@ -0,0 +1,25 @@
#!/bin/bash -x
set +e
exec > >(tee /var/log/one_click_setup.log) 2>&1
ufw --force enable
printf "dokku dokku/hostname string %s" hostname | debconf-set-selections
export DEBIAN_FRONTEND=noninteractive
export LANG=C
export LC_ALL=C
# Install Dokku....
for count in {1..30}; do
dpkg -i /var/lib/digitalocean/debs/*deb || /bin/true
apt-get -f install || /bin/true
version=$(dpkg-query --showformat='${Version}' -W dokku)
if [[ -n "$version" ]]; then
ran=0
exit 0
else
count=$((count + 1))
fi
sleep 5
done

View File

@@ -0,0 +1,9 @@
#!/bin/bash
exec > >(tee /var/log/one_click_setup.log) 2>&1
# Remove the force command
sed -e '/Match user root/d' \
-e '/.*ForceCommand.*droplet.*/d' \
-i /etc/ssh/sshd_config
systemctl restart ssh

View File

@@ -0,0 +1,169 @@
<html>
<head>
<style>
body {
font-family: ProximaNova;
font-size: 15px;
font-style: normal;
font-stretch: normal;
line-height: 1;
letter-spacing: normal;
margin: 0;
}
.button {
border-radius: 3px;
background-color: #0069ff;
color: #ffffff;
display: flex;
flex-direction: column;
height: 48px;
justify-content: center;
text-decoration: none;
width: 148px;
}
.content {
align-items: center;
border: solid 2px #f1f1f1;
border-radius: 3px;
display: flex;
flex-direction: column;
margin: 32px auto;
padding: 32px;
text-align: center;
width: 960px;
;
}
.copyright {
color: #99999999;
font-size: 13px;
margin-left: 10px;
}
.description {
color: #676767;
}
.empty-access {
height: 220px;
margin-bottom: -20px;
}
.header {
align-items: center;
display: flex;
margin: 15px;
}
.logo {
height: 30px;
color: #999999;
width: 30px;
}
.title {
font-family: ProximaNova;
font-size: 21px;
font-weight: 600;
color: #444444;
}
</style>
</head>
<body>
<div class="header">
<svg class="logo" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 30 30" enable-background="new 0 0 30 30"
xml:space="preserve">
<g id="XMLID_17_">
<g id="XMLID_18_">
<g>
<g id="XMLID_225_">
<g id="XMLID_233_">
<path id="XMLID_234_" fill="#0080FF"
d="M15,30v-5.8c6.2,0,10.9-6.1,8.6-12.6c-0.9-2.4-2.8-4.3-5.2-5.2
C11.9,4.1,5.8,8.8,5.8,15l0,0L0,15C0,5.2,9.5-2.5,19.8,0.7c4.5,1.4,8.1,5,9.5,9.5C32.5,20.5,24.8,30,15,30z" />
</g>
<polygon id="XMLID_232_" fill="#0080FF" points="15,24.2 9.2,24.2 9.2,18.4 9.2,18.4 15,18.4 15,18.4" />
<polygon id="XMLID_228_" fill="#0080FF" points="9.2,28.7 4.8,28.7 4.8,28.7 4.8,24.2 9.2,24.2" />
<polygon id="XMLID_226_" fill="#0080FF" points="4.8,24.2 1,24.2 1,24.2 1,20.5 1,20.5 4.8,20.5 4.8,20.5" />
</g>
</g>
</g>
</g>
</svg>
<div class="copyright">&copy; 2023 DigitalOcean, LLC. All rights reserved.</div>
</div>
<div class="content">
<svg width="89" height="62" viewBox="0 0 89 62" fill="none" xmlns="http://www.w3.org/2000/svg">
<path
d="M78.4046 17.1912C84.738 21.1608 86.2188 20.7419 87.6794 19.9955C88.5202 19.5664 88.8496 18.5392 88.4243 17.6985C86.4622 13.818 78.212 0.118992 59.5364 0.118992C43.8588 0.118992 34.4377 13.3435 31.5684 18.0766C31.0067 19.0027 31.4447 20.2158 32.4755 20.5543C34.1357 21.0995 35.9508 21.216 39.8333 18.8625C52.5306 11.8038 78.4046 17.1912 78.4046 17.1912Z"
fill="#F15B55" />
<mask id="mask0_55_415" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="31" y="0" width="58" height="21">
<path
d="M78.4212 17.0723C84.7546 21.0418 86.2354 20.6229 87.696 19.8766C88.5368 19.4474 88.8662 18.4202 88.4409 17.5795C86.4788 13.699 78.2286 3.8147e-06 59.553 3.8147e-06C43.8754 3.8147e-06 34.4543 13.2245 31.585 17.9576C31.0233 18.8837 31.4613 20.0969 32.4921 20.4353C34.1523 20.9805 35.9674 21.097 39.8499 18.7436C52.5472 11.6848 78.4212 17.0723 78.4212 17.0723Z"
fill="#F15B55" />
</mask>
<g mask="url(#mask0_55_415)">
<path d="M43.7907 2.62413C49.4945 9.99967 33.5952 13.8544 45.8049 22.3539" stroke="#FF9580" stroke-width="1.5"
stroke-miterlimit="10" />
<path d="M56.7977 -1.62458C62.8837 6.0383 46.832 8.92189 53.8305 19.6981" stroke="#FF9580" stroke-width="1.5"
stroke-miterlimit="10" />
<path d="M72.3168 -0.867853C76.7291 7.02473 58.5477 8.73199 64.5571 18.3322" stroke="#FF9580" stroke-width="1.5"
stroke-miterlimit="10" />
<path d="M84.2603 7.02465C84.2603 15.1449 71.708 10.5128 72.3169 19.6982" stroke="#FF9580" stroke-width="1.5"
stroke-miterlimit="10" />
</g>
<g opacity="0.399994">
<g opacity="0.399994">
<path opacity="0.399994"
d="M31.3365 18.747C31.2415 19.5146 31.6815 20.2937 32.4751 20.5544C34.1353 21.0993 35.9508 21.2158 39.8333 18.8623C52.5302 11.8039 78.4042 17.1914 78.4042 17.1914C84.7377 21.1606 86.2184 20.7416 87.6795 19.9957C88.3903 19.6328 88.7337 18.8419 88.5657 18.0976C78.1555 10.8635 54.5866 3.8145 31.3365 18.747Z"
fill="black" />
</g>
</g>
<path
d="M67.274 14.8087H56.4204C44.6233 14.8087 38.4193 18.2775 33.8378 24.2005L29.4542 29.8671L27.7038 32.1805C26.3653 33.9491 24.2728 34.9885 22.0517 34.9885C18.6867 34.9885 15.8194 32.6685 15.0623 29.48C15.0512 29.433 15.0385 29.359 15.025 29.2679C14.9103 28.4884 15.5203 27.7899 16.3099 27.7899H18.4798C22.2049 27.7899 25.2246 24.7776 25.2246 21.0614V20.5325C25.2246 19.8467 24.667 19.2904 23.979 19.2904H17.6005C15.0492 19.2904 13.2669 20.6106 12.6674 22.0612C12.0676 20.6106 10.2853 19.2904 7.73397 19.2904H1.35542C0.667492 19.2904 0.109863 19.8467 0.109863 20.5325V21.0614C0.109863 24.7776 3.12951 27.7899 6.85471 27.7899H9.05492C9.75186 27.7899 10.3443 28.2988 10.4476 28.9867L10.6905 30.604C13.3361 48.2223 28.5057 61.2576 46.3638 61.2576H47.2697H59.4081C71.7445 61.2576 82.2727 52.3616 84.302 40.2227L85.8397 31.0254C87.259 22.5369 81.2902 14.8087 67.274 14.8087Z"
fill="#07CBCF" />
<path
d="M81.4705 48.3116C79.3404 48.386 77.5986 49.0698 75.2239 51.4388C72.2001 54.4552 67.1794 57.8702 59.4197 57.8702H45.0417C39.2224 57.8702 35.1162 53.5434 35.1162 53.5434C35.1162 53.5434 31.7479 53.7154 24.4261 49.5603C12.4254 41.9906 11.9501 29.2979 11.7788 27.7043C11.6076 26.1106 10.7517 25.2568 9.04025 25.2568H6.70074C2.34293 25.2568 1.16088 23.1183 0.893741 19.3792C0.434853 19.5628 0.110352 20.0095 0.110352 20.5327V21.0612C0.110352 24.7773 3.13 27.7897 6.85479 27.7897H9.055C9.75235 27.7897 10.3448 28.2986 10.4481 28.9864L10.6906 30.6038C13.3362 48.2221 28.5062 61.2573 46.3643 61.2573H47.2698H59.4086C68.7888 61.2573 77.1226 56.113 81.4705 48.3116Z"
fill="#05B7BF" />
<path
d="M15.0249 29.2677C14.9102 28.4883 15.5203 27.7898 16.3098 27.7898H18.4797C22.2049 27.7898 25.2246 24.7774 25.2246 21.0617V20.5328C25.2246 20.0092 24.8997 19.5624 24.4404 19.3793V19.3797C24.1728 23.1184 22.9908 25.2569 18.633 25.2569H16.8376C14.4411 25.2569 14.7549 27.9512 15.0249 29.2677Z"
fill="#05B7BF" />
<path
d="M24.4257 49.5606C27.1262 52.1789 25.7188 53.2412 21.2307 53.2412H14.3327C13.2428 53.2412 12.697 54.5557 13.4677 55.3245L14.322 56.1767C16.9737 58.8224 20.5707 60.3085 24.3213 60.3085H24.9584C32.4133 60.3085 37.929 52.8239 37.929 52.8239L24.4257 49.5606Z"
fill="#07CBCF" />
<path
d="M35.1162 53.544C32.9984 55.5574 29.4485 58.1536 25.2235 58.1536H24.6339C21.1631 58.1536 17.8345 56.7783 15.3807 54.33L14.59 53.5415C14.497 53.4488 14.4257 53.3474 14.3728 53.2411H14.3327C13.2428 53.2411 12.697 54.5556 13.4677 55.3244L14.322 56.1766C16.9741 58.8223 20.5711 60.3085 24.3213 60.3085H24.9584C29.8025 60.3085 33.8281 57.1482 36.0533 54.9349L36.3528 54.6312L35.1162 53.544Z"
fill="#05B7BF" />
<mask id="mask1_55_415" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="15" width="86" height="47">
<path
d="M67.1641 15.1884H56.3106C44.5134 15.1884 38.3094 18.6572 33.7279 24.5802L29.3443 30.2468L27.594 32.5602C26.2554 34.3288 24.163 35.3682 21.9419 35.3682C18.5768 35.3682 15.7096 33.0482 14.9524 29.8597C14.9413 29.8127 14.9286 29.7387 14.9151 29.6476C14.8004 28.8681 15.4105 28.1696 16.2 28.1696H18.3699C22.0951 28.1696 25.1147 25.1573 25.1147 21.4411V20.9122C25.1147 20.2264 24.5571 19.6701 23.8692 19.6701H17.4906C14.9393 19.6701 13.157 20.9903 12.5576 22.4409C11.9577 20.9903 10.1755 19.6701 7.62411 19.6701H1.24555C0.557629 19.6701 0 20.2264 0 20.9122V21.4411C0 25.1573 3.01965 28.1696 6.74484 28.1696H8.94506C9.64199 28.1696 10.2344 28.6785 10.3377 29.3664L10.5807 30.9837C13.2262 48.602 28.3958 61.6373 46.2539 61.6373H47.1598H59.2983C71.6346 61.6373 82.1628 52.7413 84.1922 40.6024L85.7299 31.4051C87.1491 22.9166 81.1803 15.1884 67.1641 15.1884Z"
fill="#07CBCF" />
</mask>
<g mask="url(#mask1_55_415)">
<path
d="M48.2573 43.0378C50.1929 48.5818 55.4426 52.9185 61.7015 52.9185C72.2568 52.9185 71.2993 45.7048 82.7326 45.7048H84.3526"
stroke="#00576C" stroke-width="1.46" stroke-miterlimit="10" stroke-linecap="round" />
<path d="M50.1195 43.0151H46.9814" stroke="#00576C" stroke-width="1.46" stroke-miterlimit="10"
stroke-linecap="round" />
<path
d="M65.353 42.7305C65.353 41.096 64.0247 39.7709 62.3862 39.7709C60.7478 39.7709 59.4194 41.096 59.4194 42.7305"
stroke="#00576C" stroke-width="1.46" stroke-miterlimit="10" stroke-linecap="round" />
</g>
<path
d="M77.4491 19.774C80.7847 21.9824 82.0434 23.4419 85.095 23.7701C82.9402 18.5919 77.0788 14.8087 67.2741 14.8087H56.4206C45.0819 14.8087 38.9111 18.0148 34.3804 23.5229C37.2443 23.5229 40.3812 21.1661 43.0628 19.698C46.182 17.9907 50.3669 16.3586 59.4197 16.3586C68.4725 16.3586 73.2651 17.004 77.4491 19.774Z"
fill="#05B7BF" />
</svg>
<h1 class="title">Please log into your Droplet with SSH to configure the Dokku installation.</h1>
<p class="description">See the Dokku 1-Click Quickstart guide for detailed assistance.</p>
<a class="button" href="https://do.co/dokku1804#start">Quickstart Guide</a>
</div>
</body>
</html>

View File

@@ -0,0 +1,47 @@
#!/bin/bash
set -eo pipefail
set -o errexit
export DEBIAN_FRONTEND=noninteractive
pkgs=(apt-transport-https
ca-certificates
curl
jq
linux-image-extra-virtual
software-properties-common
)
echo '--> Updating apt repositories'
apt-get -qqy update
echo '--> Updating all packages'
apt-get -qqy -o Dpkg::Options::='--force-confdef' -o Dpkg::Options::='--force-confold' full-upgrade
echo "--> Installing basic dependencies: ${pkgs[*]}"
apt-get -qqy install "${pkgs[@]}"
echo '--> Setting up docker apt repository'
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
cat >/etc/apt/sources.list.d/docker.list <<EOM
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(lsb_release -c -s) stable
EOM
echo '--> Installing docker-ce'
apt-get -y update
apt-get -y install docker-ce docker-compose-plugin
echo '--> Enabling docker-ce'
systemctl enable docker
systemctl start docker
echo '--> Enabling docker live-restore'
if [[ ! -f /etc/docker/daemon.json ]]; then
echo "{}" >/etc/docker/daemon.json
fi
config="$(jq '. + {"live-restore": true}' /etc/docker/daemon.json)"
echo "$config" >/etc/docker/daemon.json
systemctl reload docker
docker info | grep -i live

View File

@@ -0,0 +1,10 @@
#!/bin/bash
set -eo pipefail
set -o errexit
echo '--> Prevent login until after setup is complete'
# Be a bit of a dork about login in
cat >>/etc/ssh/sshd_config <<EOM
Match User root
ForceCommand echo "Please wait while we get your droplet ready..."
EOM

View File

@@ -0,0 +1,67 @@
#!/bin/bash
set -eo pipefail
set -o errexit
export DEBIAN_FRONTEND=noninteractive
pkgs=(apache2-utils
bash-completion
locales
git
cpio
curl
man-db
netcat
net-tools
software-properties-common
parallel
python3-software-properties
rsync
rsyslog
dos2unix
jq
unzip
nginx
dnsutils
cgroupfs-mount
cgroup-lite
sudo
python3
debconf
)
dokku_pkgs=(docker-docker-container-healthchecker
docker-image-labeler
gliderlabs-sigil
lambda-builder
netrc
plugn
procfile-util
sshcommand
)
echo '--> Install core dependencies for dokku'
apt-get -y install "${pkgs[@]}"
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
EOM
echo '--> Install dependencies for dokku from new repository'
apt-get -y clean
apt-get -y update
apt-get -y install "${dokku_pkgs[@]}"
rm -f /etc/nginx/sites-enabled/default
echo '--> Pre-cache dokku bits that are must run on boot'
apt-get -y clean
apt-get -y install --download-only "dokku=${DOKKU_VERSION}" dokku-event-listener herokuish
mkdir -p /var/lib/digitalocean/debs
cp -au /var/cache/apt/archives/*deb /var/lib/digitalocean/debs

View File

@@ -0,0 +1,9 @@
#!/bin/bash
set -eo pipefail
set -o errexit
echo '--> Update grub boot loader'
sed -e 's|GRUB_CMDLINE_LINUX="|GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1|g' \
-i /etc/default/grub
update-grub

View File

@@ -0,0 +1,7 @@
#!/bin/bash
set -eo pipefail
set -o errexit
echo '--> Enable Google DNS for Docker'
sed -e 's|#DOCKER_OPTS|DOCKER_OPTS|g' \
-i /etc/default/docker

View File

@@ -0,0 +1,12 @@
#!/bin/bash
set -eo pipefail
set -o errexit
echo '--> Enable and configure UFW'
sed -e 's|DEFAULT_FORWARD_POLICY=.*|DEFAULT_FORWARD_POLICY="ACCEPT"|g' \
-i /etc/default/ufw
ufw limit ssh
ufw allow 'Nginx Full'
ufw --force enable

View File

@@ -0,0 +1,21 @@
#!/bin/bash
set -eo pipefail
set -o errexit
echo '--> Write the application info'
application_version="$DOKKU_VERSION"
build_date="$(date -I)"
distro_arch="$(uname -m)"
distro_codename="$(lsb_release -sc)"
distro_release="$(lsb_release -sr)"
distro="$(lsb_release -si)"
cat >/var/lib/digitalocean/application.info <<EOM
appiication_name="Dokku"
build_date="${build_date}"
distro="${distro}"
distro_release="${distro_release}"
distro_codename="${distro_codename}"
distro_arch="${distro_arch}"
application_version="${application_version}"
EOM

View File

@@ -0,0 +1,52 @@
#!/bin/bash
set -eo pipefail
set -o errexit
echo '--> Cleaning up tmp dir'
# Ensure /tmp exists and has the proper permissions before
# checking for security updates
# https://github.com/digitalocean/marketplace-partners/issues/94
if [[ ! -d /tmp ]]; then
mkdir /tmp
fi
chmod 1777 /tmp
rm -rf /tmp/* /var/tmp/*
echo '--> Cleaning up apt'
export DEBIAN_FRONTEND=noninteractive
apt-get -y update
apt-get -o Dpkg::Options::="--force-confold" upgrade -q -y --force-yes
apt-get -y autoremove
apt-get -y autoclean
apt-get -y purge droplet-agent
echo '--> Clearing history'
history -c
cat /dev/null >/root/.bash_history
unset HISTFILE
echo '--> Clearing log files'
find /var/log -mtime -1 -type f -exec truncate -s 0 {} \;
rm -rf /var/log/*.gz /var/log/*.[0-9] /var/log/*-????????
cat /dev/null >/var/log/lastlog
cat /dev/null >/var/log/wtmp
rm -rf /var/lib/cloud/instances/*
rm -rf /tmp/* /var/tmp/*
echo '--> Removing keys'
rm -f /root/.ssh/authorized_keys /etc/ssh/*key*
touch /etc/ssh/revoked_keys
chmod 600 /etc/ssh/revoked_keys
echo '--> DO Directory contents'
ls -lah /opt/digitalocean || true
echo '--> Securely erase the unused portion of the filesystem'
printf "\n\033[0;32mWriting zeros to the remaining disk space to securely
erase the unused portion of the file system.
Depending on your disk size this may take several minutes.
The secure erase will complete successfully when you see:\033[0m
dd: writing to '/zerofile': No space left on device\n
Beginning secure erase now\n"
dd if=/dev/zero of=/zerofile bs=4096 || rm /zerofile

View File

@@ -0,0 +1,628 @@
#!/bin/bash
# DigitalOcean Marketplace Image Validation Tool
# © 2021-2022 DigitalOcean LLC.
# This code is licensed under Apache 2.0 license (see LICENSE.md for details)
VERSION="v. 1.8.1"
RUNDATE=$(date)
# Script should be run with SUDO
if [ "$EUID" -ne 0 ]; then
echo "[Error] - This script must be run with sudo or as the root user."
exit 1
fi
STATUS=0
PASS=0
WARN=0
FAIL=0
# $1 == command to check for
# returns: 0 == true, 1 == false
cmdExists() {
if command -v "$1" >/dev/null 2>&1; then
return 0
else
return 1
fi
}
function getDistro {
if [ -f /etc/os-release ]; then
# freedesktop.org and systemd
. /etc/os-release
OS=$NAME
VER=$VERSION_ID
elif type lsb_release >/dev/null 2>&1; then
# linuxbase.org
OS=$(lsb_release -si)
VER=$(lsb_release -sr)
elif [ -f /etc/lsb-release ]; then
# For some versions of Debian/Ubuntu without lsb_release command
. /etc/lsb-release
OS=$DISTRIB_ID
VER=$DISTRIB_RELEASE
elif [ -f /etc/debian_version ]; then
# Older Debian/Ubuntu/etc.
OS=Debian
VER=$(cat /etc/debian_version)
elif [ -f /etc/SuSe-release ]; then
# Older SuSE/etc.
:
elif [ -f /etc/redhat-release ]; then
# Older Red Hat, CentOS, etc.
VER=$(cut -d" " -f3 </etc/redhat-release | cut -d "." -f1)
d=$(cut -d" " -f1 </etc/redhat-release | cut -d "." -f1)
if [[ $d == "CentOS" ]]; then
OS="CentOS Linux"
fi
else
# Fall back to uname, e.g. "Linux <version>", also works for BSD, etc.
OS=$(uname -s)
VER=$(uname -r)
fi
}
function loadPasswords {
SHADOW=$(cat /etc/shadow)
}
function checkAgent {
# Check for the presence of the DO directory in the filesystem
if [ -d /opt/digitalocean ]; then
echo -en "\e[41m[FAIL]\e[0m DigitalOcean directory detected.\n"
((FAIL++))
STATUS=2
if [[ $OS == "CentOS Linux" ]] || [[ $OS == "CentOS Stream" ]] || [[ $OS == "Rocky Linux" ]] || [[ $OS == "AlmaLinux" ]]; then
echo "To uninstall the agent: 'sudo yum remove droplet-agent'"
echo "To remove the DO directory: 'find /opt/digitalocean/ -type d -empty -delete'"
elif [[ $OS == "Ubuntu" ]] || [[ $OS == "Debian" ]]; then
echo "To uninstall the agent and remove the DO directory: 'sudo apt-get purge droplet-agent'"
fi
else
echo -en "\e[32m[PASS]\e[0m DigitalOcean Monitoring agent was not found\n"
((PASS++))
fi
}
function checkLogs {
cp_ignore="/var/log/cpanel-install.log"
echo -en "\nChecking for log files in /var/log\n\n"
# Check if there are log archives or log files that have not been recently cleared.
for f in /var/log/*-????????; do
[[ -e $f ]] || break
if [ "${f}" != "${cp_ignore}" ]; then
echo -en "\e[93m[WARN]\e[0m Log archive ${f} found; Contents:\n"
cat "${f}"
((WARN++))
if [[ $STATUS != 2 ]]; then
STATUS=1
fi
fi
done
for f in /var/log/*.[0-9]; do
[[ -e $f ]] || break
echo -en "\e[93m[WARN]\e[0m Log archive ${f} found; Contents:\n"
cat "${f}"
((WARN++))
if [[ $STATUS != 2 ]]; then
STATUS=1
fi
done
for f in /var/log/*.log; do
[[ -e $f ]] || break
if [[ "${f}" = '/var/log/lfd.log' && "$(grep -E -v '/var/log/messages has been reset| Watching /var/log/messages' "${f}" | wc -c)" -gt 50 ]]; then
if [ "${f}" != "${cp_ignore}" ]; then
echo -en "\e[93m[WARN]\e[0m un-cleared log file, ${f} found; Contents:\n"
cat "${f}"
((WARN++))
if [[ $STATUS != 2 ]]; then
STATUS=1
fi
fi
elif [[ "${f}" != '/var/log/lfd.log' && "$(wc -c <"${f}")" -gt 50 ]]; then
if [ "${f}" != "${cp_ignore}" ]; then
echo -en "\e[93m[WARN]\e[0m un-cleared log file, ${f} found; Contents:\n"
cat "${f}"
((WARN++))
if [[ $STATUS != 2 ]]; then
STATUS=1
fi
fi
fi
done
}
function checkTMP {
# Check the /tmp directory to ensure it is empty. Warn on any files found.
if [[ -n "$(ls -A /tmp)" ]]; then
echo -en "\e[93m[WARN]\e[0m /tmp directory is not empty; Contents\n"
ls -A /tmp
((WARN++))
return 1
fi
echo -en "\e[32m[PASS]\e[0m /tmp directory is empty\n"
return 0
}
function checkRoot {
user="root"
uhome="/root"
for usr in $SHADOW; do
IFS=':' read -r -a u <<<"$usr"
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"
((PASS++))
else
echo -en "\e[41m[FAIL]\e[0m User ${user} has a password set on their account.\n"
((FAIL++))
STATUS=2
fi
fi
done
if [ -d ${uhome}/ ]; then
if [ -d ${uhome}/.ssh/ ]; then
if ls ${uhome}/.ssh/* >/dev/null 2>&1; then
for key in "${uhome}"/.ssh/*; do
if [ "${key}" == "${uhome}/.ssh/authorized_keys" ]; then
if [ "$(wc -c <"${key}")" -gt 50 ]; then
echo -en "\e[41m[FAIL]\e[0m User \e[1m${user}\e[0m has a populated authorized_keys file in \e[93m${key}\e[0m\n"
akey=$(cat "${key}")
echo "File Contents:"
echo "$akey"
echo "--------------"
((FAIL++))
STATUS=2
fi
elif [ "${key}" == "${uhome}/.ssh/id_rsa" ]; then
if [ "$(wc -c <"${key}")" -gt 0 ]; then
echo -en "\e[41m[FAIL]\e[0m User \e[1m${user}\e[0m has a private key file in \e[93m${key}\e[0m\n"
akey=$(cat "${key}")
echo "File Contents:"
echo "$akey"
echo "--------------"
((FAIL++))
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"
((WARN++))
if [[ $STATUS != 2 ]]; then
STATUS=1
fi
fi
elif [ "${key}" != "${uhome}/.ssh/known_hosts" ]; then
echo -en "\e[93m[WARN]\e[0m User \e[1m${user}\e[0m has a file in their .ssh directory at \e[93m${key}\e[0m\n"
((WARN++))
if [[ $STATUS != 2 ]]; then
STATUS=1
fi
else
if [ "$(wc -c <"${key}")" -gt 50 ]; then
echo -en "\e[93m[WARN]\e[0m User \e[1m${user}\e[0m has a populated known_hosts file in \e[93m${key}\e[0m\n"
((WARN++))
if [[ $STATUS != 2 ]]; then
STATUS=1
fi
fi
fi
done
else
echo -en "\e[32m[ OK ]\e[0m User \e[1m${user}\e[0m has no SSH keys present\n"
fi
else
echo -en "\e[32m[ OK ]\e[0m User \e[1m${user}\e[0m does not have an .ssh directory\n"
fi
if [ -f /root/.bash_history ]; then
BH_S=$(wc -c </root/.bash_history)
if [[ $BH_S -lt 200 ]]; then
echo -en "\e[32m[PASS]\e[0m ${user}'s Bash History appears to have been cleared\n"
((PASS++))
else
echo -en "\e[41m[FAIL]\e[0m ${user}'s Bash History should be cleared to prevent sensitive information from leaking\n"
((FAIL++))
STATUS=2
fi
return 1
else
echo -en "\e[32m[PASS]\e[0m The Root User's Bash History is not present\n"
((PASS++))
fi
else
echo -en "\e[32m[ OK ]\e[0m User \e[1m${user}\e[0m does not have a directory in /home\n"
fi
echo -en "\n\n"
return 1
}
function checkUsers {
# Check each user-created account
awk -F: '$3 >= 1000 && $1 != "nobody" {print $1}' </etc/passwd | while IFS= read -r user; do
# Skip some other non-user system accounts
if [[ $user == "centos" ]]; then
:
elif [[ $user == "nfsnobody" ]]; then
:
else
echo -en "\nChecking user: ${user}...\n"
for usr in $SHADOW; do
IFS=':' read -r -a u <<<"$usr"
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"
((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"
((FAIL++))
STATUS=2
fi
fi
done
#echo "User Found: ${user}"
uhome="/home/${user}"
if [ -d "${uhome}/" ]; then
if [ -d "${uhome}/.ssh/" ]; then
if ls "${uhome}/.ssh/*" >/dev/null 2>&1; then
for key in "${uhome}"/.ssh/*; do
if [ "${key}" == "${uhome}/.ssh/authorized_keys" ]; then
if [ "$(wc -c <"${key}")" -gt 50 ]; then
echo -en "\e[41m[FAIL]\e[0m User \e[1m${user}\e[0m has a populated authorized_keys file in \e[93m${key}\e[0m\n"
akey=$(cat "${key}")
echo "File Contents:"
echo "$akey"
echo "--------------"
((FAIL++))
STATUS=2
fi
elif [ "${key}" == "${uhome}/.ssh/id_rsa" ]; then
if [ "$(wc -c <"${key}")" -gt 0 ]; then
echo -en "\e[41m[FAIL]\e[0m User \e[1m${user}\e[0m has a private key file in \e[93m${key}\e[0m\n"
akey=$(cat "${key}")
echo "File Contents:"
echo "$akey"
echo "--------------"
((FAIL++))
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"
((WARN++))
if [[ $STATUS != 2 ]]; then
STATUS=1
fi
fi
elif [ "${key}" != "${uhome}/.ssh/known_hosts" ]; then
echo -en "\e[93m[WARN]\e[0m User \e[1m${user}\e[0m has a file in their .ssh directory named \e[93m${key}\e[0m\n"
((WARN++))
if [[ $STATUS != 2 ]]; then
STATUS=1
fi
else
if [ "$(wc -c <"${key}")" -gt 50 ]; then
echo -en "\e[93m[WARN]\e[0m User \e[1m${user}\e[0m has a known_hosts file in \e[93m${key}\e[0m\n"
((WARN++))
if [[ $STATUS != 2 ]]; then
STATUS=1
fi
fi
fi
done
else
echo -en "\e[32m[ OK ]\e[0m User \e[1m${user}\e[0m has no SSH keys present\n"
fi
else
echo -en "\e[32m[ OK ]\e[0m User \e[1m${user}\e[0m does not have an .ssh directory\n"
fi
else
echo -en "\e[32m[ OK ]\e[0m User \e[1m${user}\e[0m does not have a directory in /home\n"
fi
# Check for an uncleared .bash_history for this user
if [ -f "${uhome}/.bash_history" ]; then
BH_S=$(wc -c <"${uhome}/.bash_history")
if [[ $BH_S -lt 200 ]]; then
echo -en "\e[32m[PASS]\e[0m ${user}'s Bash History appears to have been cleared\n"
((PASS++))
else
echo -en "\e[41m[FAIL]\e[0m ${user}'s Bash History should be cleared to prevent sensitive information from leaking\n"
((FAIL++))
STATUS=2
fi
echo -en "\n\n"
fi
fi
done
}
function checkFirewall {
if [[ $OS == "Ubuntu" ]]; then
fw="ufw"
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"
((PASS++))
else
FW_VER="\e[93m[WARN]\e[0m No firewall is configured. Ensure ${fw} is installed and configured\n"
((WARN++))
fi
elif [[ $OS == "CentOS Linux" ]] || [[ $OS == "CentOS Stream" ]] || [[ $OS == "Rocky Linux" ]] || [[ $OS == "AlmaLinux" ]]; then
if [ -f /usr/lib/systemd/system/csf.service ]; then
fw="csf"
if [[ $(systemctl status $fw >/dev/null 2>&1) ]]; then
FW_VER="\e[32m[PASS]\e[0m Firewall service (${fw}) is active\n"
((PASS++))
elif cmdExists "firewall-cmd"; then
if [[ $(systemctl is-active firewalld >/dev/null 2>&1 && echo 1 || echo 0) ]]; then
FW_VER="\e[32m[PASS]\e[0m Firewall service (${fw}) is active\n"
((PASS++))
else
FW_VER="\e[93m[WARN]\e[0m No firewall is configured. Ensure ${fw} is installed and configured\n"
((WARN++))
fi
else
FW_VER="\e[93m[WARN]\e[0m No firewall is configured. Ensure ${fw} is installed and configured\n"
((WARN++))
fi
else
fw="firewalld"
if [[ $(systemctl is-active firewalld >/dev/null 2>&1 && echo 1 || echo 0) ]]; then
FW_VER="\e[32m[PASS]\e[0m Firewall service (${fw}) is active\n"
((PASS++))
else
FW_VER="\e[93m[WARN]\e[0m No firewall is configured. Ensure ${fw} is installed and configured\n"
((WARN++))
fi
fi
elif [[ "$OS" =~ Debian.* ]]; then
# user could be using a number of different services for managing their firewall
# we will check some of the most common
if cmdExists 'ufw'; then
fw="ufw"
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"
((PASS++))
else
FW_VER="\e[93m[WARN]\e[0m No firewall is configured. Ensure ${fw} is installed and configured\n"
((WARN++))
fi
elif cmdExists "firewall-cmd"; then
fw="firewalld"
if [[ $(systemctl is-active --quiet $fw) ]]; then
FW_VER="\e[32m[PASS]\e[0m Firewall service (${fw}) is active\n"
((PASS++))
else
FW_VER="\e[93m[WARN]\e[0m No firewall is configured. Ensure ${fw} is installed and configured\n"
((WARN++))
fi
else
# user could be using vanilla iptables, check if kernel module is loaded
fw="iptables"
if lsmod | grep -q '^ip_tables' 2>/dev/null; then
FW_VER="\e[32m[PASS]\e[0m Firewall service (${fw}) is active\n"
((PASS++))
else
FW_VER="\e[93m[WARN]\e[0m No firewall is configured. Ensure ${fw} is installed and configured\n"
((WARN++))
fi
fi
fi
}
function checkUpdates {
if [[ $OS == "Ubuntu" ]] || [[ "$OS" =~ Debian.* ]]; then
# Ensure /tmp exists and has the proper permissions before
# checking for security updates
# https://github.com/digitalocean/marketplace-partners/issues/94
if [[ ! -d /tmp ]]; then
mkdir /tmp
fi
chmod 1777 /tmp
echo -en "\nUpdating apt package database to check for security updates, this may take a minute...\n\n"
apt-get -y update >/dev/null
uc=$(apt-get --just-print upgrade | grep -i "security" -c)
if [[ $uc -gt 0 ]]; then
update_count=$((uc / 2))
else
update_count=0
fi
if [[ $update_count -gt 0 ]]; then
echo -en "\e[41m[FAIL]\e[0m There are ${update_count} security updates available for this image that have not been installed.\n"
echo -en
echo -en "Here is a list of the security updates that are not installed:\n"
sleep 2
apt-get --just-print upgrade | grep -i security | awk '{print $2}' | awk '!seen[$0]++'
echo -en
((FAIL++))
STATUS=2
else
echo -en "\e[32m[PASS]\e[0m There are no pending security updates for this image.\n\n"
((PASS++))
fi
elif [[ $OS == "CentOS Linux" ]] || [[ $OS == "CentOS Stream" ]] || [[ $OS == "Rocky Linux" ]] || [[ $OS == "AlmaLinux" ]]; then
echo -en "\nChecking for available security updates, this may take a minute...\n\n"
update_count=$(yum check-update --security --quiet | wc -l)
if [[ $update_count -gt 0 ]]; then
echo -en "\e[41m[FAIL]\e[0m There are ${update_count} security updates available for this image that have not been installed.\n"
((FAIL++))
STATUS=2
else
echo -en "\e[32m[PASS]\e[0m There are no pending security updates for this image.\n"
((PASS++))
fi
else
echo "Error encountered"
exit 1
fi
return 1
}
function checkCloudInit {
if hash cloud-init 2>/dev/null; then
CI="\e[32m[PASS]\e[0m Cloud-init is installed.\n"
((PASS++))
else
CI="\e[41m[FAIL]\e[0m No valid verison of cloud-init was found.\n"
((FAIL++))
STATUS=2
fi
return 1
}
clear
echo "DigitalOcean Marketplace Image Validation Tool ${VERSION}"
echo "Executed on: ${RUNDATE}"
echo "Checking local system for Marketplace compatibility..."
getDistro
echo -en "\n\e[1mDistribution:\e[0m ${OS}\n"
echo -en "\e[1mVersion:\e[0m ${VER}\n\n"
ost=0
osv=0
if [[ $OS == "Ubuntu" ]]; then
ost=1
if [[ $VER == "22.10" ]] || [[ $VER == "22.04" ]] || [[ $VER == "20.04" ]] || [[ $VER == "18.04" ]] || [[ $VER == "16.04" ]]; then
osv=1
fi
elif [[ "$OS" =~ Debian.* ]]; then
ost=1
case "$VER" in
9)
osv=1
;;
10)
osv=1
;;
11)
osv=1
;;
*)
osv=2
;;
esac
elif [[ $OS == "CentOS Linux" ]]; then
ost=1
if [[ $VER == "8" ]]; then
osv=1
elif [[ $VER == "7" ]]; then
osv=1
elif [[ $VER == "6" ]]; then
osv=1
else
osv=2
fi
elif [[ $OS == "CentOS Stream" ]]; then
ost=1
if [[ $VER == "8" ]]; then
osv=1
else
osv=2
fi
elif [[ $OS == "Rocky Linux" ]]; then
ost=1
if [[ $VER =~ 8\. ]]; then
osv=1
else
osv=2
fi
elif [[ $OS == "AlmaLinux" ]]; then
ost=1
if [[ "$VERSION" =~ 8.* ]] || [[ "$VERSION" =~ 9.* ]]; then
osv=1
else
osv=2
fi
else
ost=0
fi
if [[ $ost == 1 ]]; then
echo -en "\e[32m[PASS]\e[0m Supported Operating System Detected: ${OS}\n"
((PASS++))
else
echo -en "\e[41m[FAIL]\e[0m ${OS} is not a supported Operating System\n"
((FAIL++))
STATUS=2
fi
if [[ $osv == 1 ]]; then
echo -en "\e[32m[PASS]\e[0m Supported Release Detected: ${VER}\n"
((PASS++))
elif [[ $ost == 1 ]]; then
echo -en "\e[41m[FAIL]\e[0m ${OS} ${VER} is not a supported Operating System Version\n"
((FAIL++))
STATUS=2
else
echo "Exiting..."
exit 1
fi
checkCloudInit
echo -en "${CI}"
checkFirewall
echo -en "${FW_VER}"
checkUpdates
loadPasswords
checkLogs
echo -en "\n\nChecking all user-created accounts...\n"
checkUsers
echo -en "\n\nChecking the root account...\n"
checkRoot
echo -en "\n\nChecking the /tmp directory...\n"
checkTMP
checkAgent
# Summary
echo -en "\n\n---------------------------------------------------------------------------------------------------\n"
if [[ $STATUS == 0 ]]; then
echo -en "Scan Complete.\n\e[32mAll Tests Passed!\e[0m\n"
elif [[ $STATUS == 1 ]]; then
echo -en "Scan Complete. \n\e[93mSome non-critical tests failed. Please review these items.\e[0m\e[0m\n"
else
echo -en "Scan Complete. \n\e[41mOne or more tests failed. Please review these items and re-test.\e[0m\n"
fi
echo "---------------------------------------------------------------------------------------------------"
echo -en "\e[1m${PASS} Tests PASSED\e[0m\n"
echo -en "\e[1m${WARN} WARNINGS\e[0m\n"
echo -en "\e[1m${FAIL} Tests FAILED\e[0m\n"
echo -en "---------------------------------------------------------------------------------------------------\n"
if [[ $STATUS == 0 ]]; then
echo -en "We did not detect any issues with this image. Please be sure to manually ensure that all software installed on the base system is functional, secure and properly configured (or facilities for configuration on first-boot have been created).\n\n"
exit 0
elif [[ $STATUS == 1 ]]; then
echo -en "Please review all [WARN] items above and ensure they are intended or resolved. If you do not have a specific requirement, we recommend resolving these items before image submission\n\n"
exit 0
else
echo -en "Some critical tests failed. These items must be resolved and this scan re-run before you submit your image to the DigitalOcean Marketplace.\n\n"
exit 1
fi

View File

@@ -0,0 +1,70 @@
packer {
required_plugins {
digitalocean = {
version = ">= 1.0.4"
source = "github.com/digitalocean/digitalocean"
}
}
}
variable "dokku_version" {
type = string
}
source "digitalocean" "ubuntu" {
image = "ubuntu-22-04-x64"
region = "nyc1"
size = "s-1vcpu-512mb-10gb"
ssh_username = "root"
snapshot_name = "dokku-${var.dokku_version}-snapshot-{{timestamp}}"
}
build {
name = "dokku"
sources = [
"source.digitalocean.ubuntu"
]
provisioner "shell" {
inline = [
"echo '--> Waiting until cloud-init is complete'",
"/usr/bin/cloud-init status --wait",
]
}
provisioner "file" {
source = "${path.root}/files/etc/"
destination = "/etc/"
}
provisioner "file" {
source = "${path.root}/files/var/"
destination = "/var/"
}
provisioner "shell" {
environment_vars = [
"DOKKU_VERSION=${var.dokku_version}",
"DEBIAN_FRONTEND=noninteractive",
"LC_ALL=C",
"LANG=en_US.UTF-8",
"LC_CTYPE=en_US.UTF-8",
]
scripts = [
"${path.root}/in_parts/011-docker",
"${path.root}/in_parts/011-ssh-message",
"${path.root}/in_parts/012-dokku-packages",
"${path.root}/in_parts/012-grub-opts",
"${path.root}/in_parts/014-docker-dns",
"${path.root}/in_parts/014-ufw-rules",
"${path.root}/in_parts/099-application_tag",
"${path.root}/in_parts/099-cleanup",
"${path.root}/in_parts/100-image-check",
]
}
post-processor "manifest" {
output = "digitalocean-manifest.json"
}
}

View File

@@ -1,32 +0,0 @@
{
"builders": [
{
"type": "digitalocean",
"region": "nyc3",
"image": "ubuntu-14-04-x64"
}
],
"provisioners": [
{
"type": "file",
"source": "deb.mk",
"destination": "/tmp/Makefile"
},
{
"type": "shell",
"inline": [
"echo '--> Waiting 30 seconds for core services to be available'",
"sleep 30",
"echo '--> Updating apt repositories'",
"sudo apt-get update -qq >/dev/null",
"echo '--> Installing make requirement'",
"sudo apt-get -qq -y --no-install-recommends install build-essential",
"cd /tmp && make install-from-deb",
"rm /root/.ssh/authorized_keys"
]
}
]
}

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
@@ -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,24 +242,34 @@ 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_DOCUMENTATION HISTORY_ENHANCEMENT HISTORY_BC_BREAK HISTORY_REFACTOR HISTORY_BUG HISTORY_OTHER HISTORY_TESTS ISSUE_FILE
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
pushd "$ROOT_DIR" >/dev/null
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
curl -sS "https://api.github.com/repos/dokku/dokku/issues/${PULL_REQUEST_ID}" >"$ISSUE_FILE"
while true; do
if OUTPUT=$(curl -u "$RELEASE_GITHUB_USERNAME:$RELEASE_GITHUB_API_TOKEN" --fail -sS "https://api.github.com/repos/dokku/dokku/issues/${PULL_REQUEST_ID}" 2>&1); then
echo "$OUTPUT" >"$ISSUE_FILE"
break
fi
log-error "Error while fetching info for pull/$PULL_REQUEST_ID, sleeping for 5 seconds"
log-error "$OUTPUT"
sleep 5
log-info " Retrying pull/$PULL_REQUEST_ID"
done
fi
TITLE="$(jq -r '.title' "$ISSUE_FILE")"
@@ -266,16 +277,24 @@ fn-repo-update-history-and-commit() {
TYPE="$(jq -r '.labels[] | select( .name | contains("type") ) | .name' "$ISSUE_FILE" | cut -d' ' -f2)"
CHANGELOG_TEXT="- #${PULL_REQUEST_ID}: @${AUTHOR} ${TITLE}"
if [[ "$TYPE" == "bc-break" ]]; then
if [[ "$TYPE" == "release" ]]; then
continue
elif [[ "$TYPE" == "bc-break" ]]; then
HISTORY_BC_BREAK="${HISTORY_BC_BREAK}"$'\n'"$CHANGELOG_TEXT"
elif [[ "$TYPE" == "bug" ]]; then
HISTORY_BUG="${HISTORY_BUG}"$'\n'"$CHANGELOG_TEXT"
elif [[ "$TYPE" == "dependencies" ]]; then
HISTORY_DEPENDENCY="${HISTORY_DEPENDENCY}"$'\n'"$CHANGELOG_TEXT"
elif [[ "$TYPE" == "deprecation" ]]; then
HISTORY_DEPRECATION="${HISTORY_DEPRECATION}"$'\n'"$CHANGELOG_TEXT"
elif [[ "$TYPE" == "documentation" ]]; then
HISTORY_DOCUMENTATION="${HISTORY_DOCUMENTATION}"$'\n'"$CHANGELOG_TEXT"
elif [[ "$TYPE" == "enhancement" ]]; then
HISTORY_ENHANCEMENT="${HISTORY_ENHANCEMENT}"$'\n'"$CHANGELOG_TEXT"
elif [[ "$TYPE" == "refactor" ]]; then
HISTORY_REFACTOR="${HISTORY_REFACTOR}"$'\n'"$CHANGELOG_TEXT"
elif [[ "$TYPE" == "removal" ]]; then
HISTORY_REMOVAL="${HISTORY_REMOVAL}"$'\n'"$CHANGELOG_TEXT"
elif [[ "$TYPE" == "tests" ]]; then
HISTORY_TESTS="${HISTORY_TESTS}"$'\n'"$CHANGELOG_TEXT"
else
@@ -287,7 +306,7 @@ fn-repo-update-history-and-commit() {
HISTORY="${HISTORY}"$'\n\n'"## ${NEXT_VERSION}"
HISTORY="${HISTORY}"$'\n\n'"Install/update via the bootstrap script:"
HISTORY="${HISTORY}"$'\n\n'"\`\`\`shell"
HISTORY="${HISTORY}"$'\n'"wget https://raw.githubusercontent.com/dokku/dokku/v${NEXT_VERSION}/bootstrap.sh"
HISTORY="${HISTORY}"$'\n'"wget -NP . https://dokku.com/install/v${NEXT_VERSION}/bootstrap.sh"
HISTORY="${HISTORY}"$'\n'"sudo DOKKU_TAG=v${NEXT_VERSION} bash bootstrap.sh"
HISTORY="${HISTORY}"$'\n'"\`\`\`"
@@ -310,6 +329,16 @@ fn-repo-update-history-and-commit() {
HISTORY="${HISTORY}"$'\n'"$HISTORY_ENHANCEMENT"
fi
if [[ "$HISTORY_REMOVAL" ]]; then
HISTORY="${HISTORY}"$'\n\n'"### Removals"
HISTORY="${HISTORY}"$'\n'"$HISTORY_REMOVAL"
fi
if [[ "$HISTORY_DEPRECATION" ]]; then
HISTORY="${HISTORY}"$'\n\n'"### Deprecations"
HISTORY="${HISTORY}"$'\n'"$HISTORY_DEPRECATION"
fi
if [[ "$HISTORY_REFACTOR" ]]; then
HISTORY="${HISTORY}"$'\n\n'"### Refactors"
HISTORY="${HISTORY}"$'\n'"$HISTORY_REFACTOR"
@@ -325,6 +354,11 @@ fn-repo-update-history-and-commit() {
HISTORY="${HISTORY}"$'\n'"$HISTORY_TESTS"
fi
if [[ "$HISTORY_DEPENDENCY" ]]; then
HISTORY="${HISTORY}"$'\n\n'"### Dependencies"
HISTORY="${HISTORY}"$'\n'"$HISTORY_DEPENDENCY"
fi
if [[ "$HISTORY_OTHER" ]]; then
HISTORY="${HISTORY}"$'\n\n'"### Other"
HISTORY="${HISTORY}"$'\n'"$HISTORY_OTHER"
@@ -358,7 +392,7 @@ fn-build-docker-image() {
--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 \
--progress plain \
@@ -369,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
@@ -400,9 +434,14 @@ 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"

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

2
deb.mk
View File

@@ -20,7 +20,7 @@ install-from-deb:
@echo "--> Installing dokku"
wget -qO- https://packagecloud.io/dokku/dokku/gpgkey | sudo tee /etc/apt/trusted.gpg.d/dokku.asc
@echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ $(shell lsb_release -cs 2>/dev/null || echo "bionic") main" | sudo tee /etc/apt/sources.list.d/dokku.list
@echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ $(shell lsb_release -cs 2>/dev/null || echo "focal") main" | sudo tee /etc/apt/sources.list.d/dokku.list
sudo apt-get update -qq >/dev/null
sudo DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true apt-get -qq -y --no-install-recommends install dokku

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

6
debian/control vendored
View File

@@ -1,10 +1,10 @@
Package: dokku
Version: 0.29.2
Version: 0.31.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
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-container-healthchecker (>= 0.6.4), 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.7.0), 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
Maintainer: Jose Diaz-Gonzalez <dokku@josediazgonzalez.com>
Description: Docker-powered PaaS that helps build and manage the lifecycle of applications

5
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
@@ -126,8 +124,7 @@ dpkg-handling() {
case "$1" in
abort-upgrade | abort-remove | abort-deconfigure) ;;
\
configure)
configure)
mandb
[ ! -x /usr/bin/docker.io ] || ln -sf /usr/bin/docker.io /usr/local/bin/docker
if [[ -f /sbin/modprobe ]]; then

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

7
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
@@ -22,11 +21,9 @@ case "$1" in
upgrade) ;;
\
abort-upgrade) ;;
abort-upgrade) ;;
\
*)
*)
echo "preinst called with unknown argument \`$1'" >&2
exit 1
;;

View File

@@ -3,15 +3,20 @@ set -eo pipefail
log-info() {
declare desc="Log info formatter"
echo " $*" 1>&2
echo " $*" 1>&2
}
log-fail() {
declare desc="Log fail formatter"
echo "! $*" 1>&2
echo " ! $*" 1>&2
exit 1
}
log-warn() {
declare desc="Log fail formatter"
echo " ! $*" 1>&2
}
support-userns() {
chown 0:0 /usr/bin/sudo
chmod 4755 /usr/bin/sudo
@@ -31,23 +36,32 @@ main() {
mkdir -p /mnt/dokku
fi
directories=("/etc/ssh" "/home/dokku" "/var/lib/dokku/config" "/var/lib/dokku/data")
directories=("/etc/ssh" "/home/dokku" "/var/lib/dokku/config" "/var/lib/dokku/data" "/var/lib/dokku/services")
for dir in "${directories[@]}"; do
if [[ ! -e "$dir" ]]; then
log-info "Copying ${dir} skel into place"
mkdir -p "/mnt/dokku${dir}"
rsync -a "/skel${dir}/" "${dir}/" || log-fail "Unable to copy ${dir} skel into place"
if [[ -d "/skel${dir}" ]]; then
rsync -a "/skel${dir}/" "${dir}/" || log-fail "Unable to copy ${dir} skel into place"
fi
fi
# chown mount directories to "dokku:dokku"
if [[ "$dir" != "/etc/ssh" ]]; then
if [[ "$dir" == "/var/lib/dokku/services" ]]; then
chown dokku:dokku /var/lib/dokku/services
elif [[ "$dir" != "/etc/ssh" ]]; then
find "$dir" -print0 | xargs -0 chown -h dokku:dokku
fi
done
if [[ -f /mnt/dokku/plugin-list ]]; then
while read line; do
dokku plugin:install "$(echo "$line" | awk '{print $2}')" "$(echo "$line" | cut -d':' -f1)"
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 "$(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

@@ -0,0 +1,20 @@
#!/usr/bin/env bash
set -eo pipefail
[[ $TRACE ]] && set -x
main() {
declare desc="re-runs docker-container-healthchecker commands as sudo"
local DOCKER_CONTAINER_HEALTHCHECKER_BIN=""
if [[ -x "/usr/bin/docker-container-healthchecker" ]]; then
DOCKER_CONTAINER_HEALTHCHECKER_BIN="/usr/bin/docker-container-healthchecker"
fi
if [[ -z "$DOCKER_CONTAINER_HEALTHCHECKER_BIN" ]]; then
echo "! No docker-container-healthchecker binary found" 1>&2
exit 1
fi
sudo -E "$DOCKER_CONTAINER_HEALTHCHECKER_BIN" "$@"
}
main "$@"

View File

@@ -1,10 +1,10 @@
FROM python:3.11.1-alpine
FROM python:3.11.4-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

@@ -19,10 +19,6 @@ http {
port_in_redirect off;
include /app/www/nginx.conf.d/*.conf;
location ^~ /nginx.conf.d/ {
return 404;
}
location / {
try_files $uri $uri/ =404;
}

View File

@@ -1,23 +1,23 @@
beautifulsoup4==4.11.1
click==8.1.3
beautifulsoup4==4.12.2
click==8.1.6
ghp-import==2.1.0
importlib-metadata==4.12.0
importlib-metadata==6.8.0
Jinja2==3.1.2
Markdown==3.3.7
MarkupSafe==2.1.1
Markdown>=3.2.1,<3.5
MarkupSafe==2.1.3
mergedeep==1.3.4
mkdocs==1.3.1
mkdocs==1.5.2
mkdocs-exclude==1.0.2
mkdocs-material==8.4.2
mkdocs-material-extensions==1.0.3
packaging==21.3
Pygments==2.13.0
pymdown-extensions==9.5
pyparsing==3.0.9
mkdocs-material==9.1.21
mkdocs-material-extensions==1.1.1
packaging==23.1
Pygments==2.15.1
pymdown-extensions==10.1
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.3.2.post1
watchdog==2.1.9
zipp==3.8.1
soupsieve==2.4.1
watchdog==3.0.0
zipp==3.16.2

View File

@@ -57,8 +57,11 @@ 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:
@@ -137,8 +140,6 @@ 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.
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.

View File

@@ -33,7 +33,6 @@ dokku events
Jul 3 16:09:48 dokku.me dokku[127630]: INVOKED: pre-release-buildpack( pythonapp )
Jul 3 16:10:02 dokku.me dokku[128095]: INVOKED: docker-args-run( rubyapp )
Jul 3 16:10:02 dokku.me dokku[128114]: INVOKED: docker-args-run( nhl )
Jul 3 16:10:03 dokku.me dokku[128136]: INVOKED: post-release-buildpack( pythonapp )
Jul 3 16:10:03 dokku.me dokku[128195]: INVOKED: pre-deploy( pythonapp )
Jul 3 16:10:23 dokku.me dokku[129253]: INVOKED: docker-args-deploy( pythonapp )
Jul 3 16:10:24 dokku.me dokku[129451]: INVOKED: check-deploy( pythonapp 6274ced0d4be11af4490cd18abaf77cdd593f025133f403d984e80d86a39acec web 5000 10.0.16.80 )
@@ -68,8 +67,6 @@ post-build-dockerfile
post-delete
post-deploy
post-domains-update
post-release-buildpack
post-release-dockerfile
pre-build-buildpack
pre-build-dockerfile
pre-delete

View File

@@ -6,7 +6,7 @@ The preferred method to mount external containers to a Dokku managed container,
```
storage:ensure-directory [--chown option] <directory> # Creates a persistent storage directory in the recommended storage path
storage:list <app> # List bind mounts for app's container(s) (host:container)
storage:list <app> [--format text|json] # List bind mounts for app's container(s) (host:container)
storage:mount <app> <host-dir:container-dir> # Create a new bind mount
storage:report [<app>] [<flag>] # Displays a checks report for one or more apps
storage:unmount <app> <host-dir:container-dir> # Remove an existing bind mount
@@ -21,6 +21,36 @@ The storage plugin supports the following mount points:
## Usage
### Listing persistent storage
Persistent storage bind mounts are specified on a per-app basis, and can be listed with the `storage:list` command:
```shell
dokku storage:list node-js-app
```
```
-----> node-js-app volume bind-mounts:
/var/lib/dokku/data/storage/node-js-app:/app/storage
```
The output format can also be set to `json` for programmatic access:
```shell
dokku storage:list node-js-app --format json
```
```
[
{
"host_path": "/var/lib/dokku/data/storage/node-js-app",
"container_path": "/app/storage",
"volume_options": ""
}
]
```
### Creating storage directories
> New as of 0.25.5
@@ -28,11 +58,11 @@ The storage plugin supports the following mount points:
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.
```shell
dokku storage:ensure-directory lollipop
dokku storage:ensure-directory node-js-app
```
```
-----> Ensuring /var/lib/dokku/data/storage/lollipop exists
-----> Ensuring /var/lib/dokku/data/storage/node-js-app exists
Setting directory ownership to 32767:32767
Directory ready for mounting
```

View File

@@ -5,13 +5,13 @@
```
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,35 +35,35 @@ dokku plugin:list
```
plugn: dev
00_dokku-standard 0.29.2 enabled dokku core standard plugin
20_events 0.29.2 enabled dokku core events logging plugin
app-json 0.29.2 enabled dokku core app-json plugin
apps 0.29.2 enabled dokku core apps plugin
build-env 0.29.2 enabled dokku core build-env plugin
buildpacks 0.29.2 enabled dokku core buildpacks plugin
certs 0.29.2 enabled dokku core certificate management plugin
checks 0.29.2 enabled dokku core checks plugin
common 0.29.2 enabled dokku core common plugin
config 0.29.2 enabled dokku core config plugin
docker-options 0.29.2 enabled dokku core docker-options plugin
domains 0.29.2 enabled dokku core domains plugin
enter 0.29.2 enabled dokku core enter plugin
git 0.29.2 enabled dokku core git plugin
logs 0.29.2 enabled dokku core logs plugin
network 0.29.2 enabled dokku core network plugin
nginx-vhosts 0.29.2 enabled dokku core nginx-vhosts plugin
plugin 0.29.2 enabled dokku core plugin plugin
proxy 0.29.2 enabled dokku core proxy plugin
ps 0.29.2 enabled dokku core ps plugin
repo 0.29.2 enabled dokku core repo plugin
resource 0.29.2 enabled dokku core resource plugin
scheduler-docker-local 0.29.2 enabled dokku core scheduler-docker-local plugin
shell 0.29.2 enabled dokku core shell plugin
ssh-keys 0.29.2 enabled dokku core ssh-keys plugin
storage 0.29.2 enabled dokku core storage plugin
tags 0.29.2 enabled dokku core tags plugin
tar 0.29.2 enabled dokku core tar plugin
trace 0.29.2 enabled dokku core trace plugin
00_dokku-standard 0.31.0 enabled dokku core standard plugin
20_events 0.31.0 enabled dokku core events logging plugin
app-json 0.31.0 enabled dokku core app-json plugin
apps 0.31.0 enabled dokku core apps plugin
build-env 0.31.0 enabled dokku core build-env plugin
buildpacks 0.31.0 enabled dokku core buildpacks plugin
certs 0.31.0 enabled dokku core certificate management plugin
checks 0.31.0 enabled dokku core checks plugin
common 0.31.0 enabled dokku core common plugin
config 0.31.0 enabled dokku core config plugin
docker-options 0.31.0 enabled dokku core docker-options plugin
domains 0.31.0 enabled dokku core domains plugin
enter 0.31.0 enabled dokku core enter plugin
git 0.31.0 enabled dokku core git plugin
logs 0.31.0 enabled dokku core logs plugin
network 0.31.0 enabled dokku core network plugin
nginx-vhosts 0.31.0 enabled dokku core nginx-vhosts plugin
plugin 0.31.0 enabled dokku core plugin plugin
proxy 0.31.0 enabled dokku core proxy plugin
ps 0.31.0 enabled dokku core ps plugin
repo 0.31.0 enabled dokku core repo plugin
resource 0.31.0 enabled dokku core resource plugin
scheduler-docker-local 0.31.0 enabled dokku core scheduler-docker-local plugin
shell 0.31.0 enabled dokku core shell plugin
ssh-keys 0.31.0 enabled dokku core ssh-keys plugin
storage 0.31.0 enabled dokku core storage plugin
tags 0.31.0 enabled dokku core tags plugin
tar 0.31.0 enabled dokku core tar plugin
trace 0.31.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.
@@ -78,6 +78,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.
Installing a plugin is easy as well using the `plugin:install` command. This command will also trigger the `install` pluginhook on all existing plugins.
The most common usage is to install a plugin from a url. This url may be any of the following:
@@ -163,6 +165,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

@@ -69,22 +69,22 @@ dokku registry:set --global server
The following are the values that should be used for common remote servers:
- Amazon Elastic Container Registry:
- value: `$AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/`
- notes: The `$AWS_ACCOUNT_ID` and `$AWS_REGION` should match the values for your account and region, respectively. Additionally, an IAM profile that allows `push` access to the repository specified by `image-repo` should be attached to your Dokku server.
- value: `$AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/`
- notes: The `$AWS_ACCOUNT_ID` and `$AWS_REGION` should match the values for your account and region, respectively. Additionally, an IAM profile that allows `push` access to the repository specified by `image-repo` should be attached to your Dokku server.
- Azure Container Registry:
- value `$REGISTRY_NAME.azurecr.io/`
- notes: The `$AKS_REGISTRY_NAME` should match the name of the registry created on your account.
- value `$REGISTRY_NAME.azurecr.io/`
- notes: The `$AKS_REGISTRY_NAME` should match the name of the registry created on your account.
- Docker Hub:
- value: `docker.io/`
- notes: Requires owning the namespace used in the `image-repo` value.
- value: `docker.io/`
- notes: Requires owning the namespace used in the `image-repo` value.
- Digitalocean:
- value: `registry.digitalocean.com/`
- notes: Requires setting the correct `image-repo` value for your registry.
- value: `registry.digitalocean.com/`
- notes: Requires setting the correct `image-repo` value for your registry.
- Github Container Registry:
- value: `ghcr.io/`
- notes: Requires that the authenticated user has access to the namespace used in the `image-repo` value.
- value: `ghcr.io/`
- notes: Requires that the authenticated user has access to the namespace used in the `image-repo` value.
- Quay.io:
- value: `quay.io/`
- value: `quay.io/`
### Specifying an image repository name

View File

@@ -19,7 +19,7 @@ Ubuntu 18.04 is now a deprecated installation target. The operating system will
## Additions
New in 0.28.0 are the Caddy and Traefik plugins. As community plugins wrapping these proxies exist, users should:
New in 0.28.0 are the Caddy, Haproxy and Traefik plugins. As community plugins wrapping these proxies exist, users should:
- Recommended: Uninstall the community plugin in question and switch all config to the new plugins.
- Upgrade the community plugin to a version that does not use the `proxy:set` value of `caddy` or `traefik`.
- Upgrade the community plugin to a version that does not use the `proxy:set` value of `caddy`, `haproxy` or `traefik`.

View File

@@ -0,0 +1,41 @@
# 0.30.0 Migration Guide
> **Important**: Due to the removal of `DOKKU_SCALE` support, users with a version older than 0.25.x are heavily encouraged to upgrade to 0.29.x prior to 0.30.x. Not doing so will result in all app containers stopping on rebuild due to having no scale settings.
## Deprecations
- Support for Ubuntu 18.04 has been deprecated. Please upgrade your host OS in advance of the [End Of Life in April 2023](https://wiki.ubuntu.com/BionicBeaver/ReleaseNotes).
## Changes
- The `app.json` file is now extracted from the source code instead of the built image. For deploys via `git:from-image`, the file is extracted from the built image.
## Removals
- Support for [SPDY](https://en.wikipedia.org/wiki/SPDY) has been removed. No major browser supports it as of 2021. Custom `nginx.conf.sigil` templates referencing spdy-related variables will continue to build until the 1.0.0 release.
- Support for the `DOKKU_SCALE` file - deprecated in 0.25.0 - has been removed in favor of the `formation` key in the `app.json` file. Please see the [process management documentation](/docs/processes/process-management.md#manually-managing-process-scaling) for more information on how to use the `formation` key of the `app.json` file.
- The deprecated `--detach` global flag for `dokku run` was removed. Please see the [one-off tasks documentation](/docs/processes/one-off-tasks.md#running-a-detached-container) for more information on running detached containers.
- The following deprecated trigger have been removed in favor of the `post-release-builder` trigger. See the [plugin triggers documentation](https://dokku.com/docs/development/plugin-triggers/#post-release-builder) for more details.
- `post-release-buildpack`
- `post-release-dockerfile`
- `post-release-pack`
- The ability to call `logs:failed` without specifying an app or `--all` flag has been removed. This was deprecated in 0.22.0. Please see the [logs:failed](/docs/deployment/logs.md#failed-deploy-logs).
- The following app shell functions - deprecated since 0.20.0 - have been removed in favor of their plugin trigger equivalents. Sourcing the `app/functions` file will fail going forward.
- `apps#apps_create()` is removed in favor of `plugn trigger app-create`.
- `apps#apps_destroy()` is removed in favor of `plugn trigger app-destroy`.
- `apps#apps_exists()` is removed in favor of `plugn trigger app-exists`.
- `apps#apps_maybe_create()` is removed in favor of `plugn trigger app-maybe-create`.
- The following common shell functions have been removed:
- `common#is_container_running()` (deprecated since 0.12.6) is removed in favor of `common#is_container_status()`.
- `common#is_app_running()` (deprecated since 0.22.0) is removed in favor of `ps#fn-ps-is-app-running()`.
- The global `--rm-container` and `--rm` flags - deprecated since 0.25.0 - have been removed.
- The following git shell functions have been removed:
- `git#use_git_worktree()` (deprecated since 0.23.7) has been removed. There is no alternative as the function has been made internal.
- `git#git_deploy_branch()`(deprecated since 0.21.0) has been removed in favor of `plugn trigger git-deploy-branch`.
- The following nginx commands - deprecated since 0.20.0 - have been removed:
- `nginx:show-conf` has been removed in favor of `nginx:show-config`.
- `nginx:validate` has been removed in favor of `nginx:validate-config`.
- `nginx:build-config` - deprecated since 0.21.0 - has been removed in favor of `proxy:build-config`.
- The following proxy functions - deprecated since 0.20.0 - have been removed in favor of their plugin trigger equivalents. Sourcing the `proxy/functions` file will fail going forward.
- `proxy#is_app_proxy_enabled()` is removed in favor of `plugn trigger proxy-is-enabled`.
- `proxy#get_app_proxy_type()` is removed in favor of `plugn trigger proxy-type`.

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

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

View File

@@ -26,6 +26,8 @@
"0.26.8",
"0.27.10",
"0.28.4",
"0.29.2"
"0.29.4",
"0.30.11",
"0.31.0"
]
}

View File

@@ -24,6 +24,7 @@ The following plugins are available and provided by Dokku maintainers. Please f
| Plugin | Author | Compatibility |
| ------------------------------------------------------------------------------------------------- | --------------------- | --------------------- |
| [Cron Restart](https://github.com/dokku/dokku-cron-restart) | [dokku][] | 0.30.0+ |
| [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+ |
@@ -61,6 +62,12 @@ The following plugins are available and provided by Dokku maintainers. Please f
| [PostgreSQL (single container)](https://github.com/Flink/dokku-psql-single-container) | [flink][] | 0.3.26+ |
| [Edgedb](https://github.com/IgnisDa/dokku-edgedb) | [ignisda][] | 0.27.0+ |
#### NewSQL
| Plugin | Author | Compatibility |
| ------------------------------------------------------- | ----------- | ------------- |
| [Surrealdb](https://github.com/IgnisDa/dokku-surrealdb) | [ignisda][] | 0.27.0+ |
#### Caching
| Plugin | Author | Compatibility |

View File

@@ -92,7 +92,6 @@ The following config variables have special meanings and can be set in a variety
| `DOKKU_APP_NAME` | none | `--app APP` flag | Name of application to work on. Respected by core plugins. |
| `DOKKU_APPS_FORCE_DELETE` | none | `--force` flag | Whether to force delete an application. Also used by other plugins for destructive actions. |
| `DOKKU_CHECKS_URL` | `https://dokku.com/docs/deployment/zero-downtime-deploys/` | `/etc/environment` <br /> `~dokku/.dokkurc` <br /> `~dokku/.dokkurc/*` | Url displayed during deployment when no CHECKS file exists. |
| `DOKKU_DETACH_CONTAINER` | none | `--detach` flag | Deprecated: Whether to detach a container started via `dokku run`. |
| `DOKKU_QUIET_OUTPUT` | none | `--quiet` flag | Silences certain header output for `dokku` commands. |
| `DOKKU_RM_CONTAINER` | none | `dokku config:set` <br /> | Deprecated: Whether to keep `dokku run` containers around or not. |
| `DOKKU_TRACE` | none | `dokku trace:on` <br /> `dokku trace:off` <br /> `--trace` flag | Turn on very verbose debugging. |
@@ -112,12 +111,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

@@ -132,37 +132,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

@@ -8,7 +8,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
```
@@ -62,7 +61,7 @@ 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
@@ -71,7 +70,7 @@ git push dokku main:master
> 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.
@@ -125,8 +124,8 @@ As an alternative, the Dokku project offers an optional letsencrypt plugin that
# plugin installation requires root, hence the user change
sudo dokku plugin:install https://github.com/dokku/dokku-letsencrypt.git
# configure the plugin
dokku config:set --global DOKKU_LETSENCRYPT_EMAIL=your-email@your.domain.com
# set global email for letsencrypt
dokku letsencrypt:set --global email your-email@your.domain.com
# set a custom domain that you own for your application
dokku domains:set ruby-getting-started ruby-getting-started.your.domain.com
@@ -180,7 +179,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 +193,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 +207,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

@@ -150,7 +150,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

View File

@@ -60,8 +60,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:
@@ -134,7 +136,7 @@ project2.toml
> 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 +150,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 +159,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

@@ -29,7 +29,7 @@ Dokku will only select the `dockerfile` builder if both the `herokuish` and `pac
If an application was previously deployed via buildpacks, the following commands should be run before a Dockerfile deploy will succeed:
```shell
dokku config:unset --no-restart node-js-app DOKKU_PROXY_PORT_MAP
dokku proxy:clear node-js-app
```
### Changing the `Dockerfile` location
@@ -38,6 +38,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
```
@@ -112,16 +114,16 @@ 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:
```Dockerfile
FROM ubuntu:18.04
FROM ubuntu:20.04
# set the argument default
ARG NODE_ENV=production
@@ -133,7 +135,7 @@ RUN echo $NODE_ENV
You may also set the argument as an environment variable
```Dockerfile
FROM ubuntu:18.04
FROM ubuntu:20.04
# set the argument default
ARG NODE_ENV=production
@@ -148,18 +150,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
@@ -196,32 +198,7 @@ Setting `$DOKKU_DOCKERFILE_CACHE_BUILD` to `true` or `false` will enable or disa
> 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:18.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

@@ -163,7 +163,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
@@ -213,18 +213,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:
```
@@ -301,7 +301,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 +322,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 +336,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

@@ -43,8 +43,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

@@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Cloning repo
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
fetch-depth: 0

View File

@@ -2,7 +2,7 @@
```
logs <app> [-h|--help] [-t|--tail] [-n|--num num] [-q|--quiet] [-p|--ps process] # Display recent log output
logs:failed [--all|<app>] # Shows the last failed deploy logs
logs:failed --all|<app> # Shows the last failed deploy logs
logs:report [<app>] [<flag>] # Displays a logs report for one or more apps
logs:set [--global|<app>] <key> <value> # Set or clear a logs property for an app
logs:vector-logs [--num num] [--tail] # Display vector log output

View File

@@ -7,6 +7,7 @@ git:allow-host <host> # Adds a host to known_hosts
git:auth <host> [<username> <password>] # Configures netrc authentication for a given git server
git:from-archive [--archive-type ARCHIVE_TYPE] <app> <archive-url> [<git-username> <git-email>] # Updates an app's git repository with a given archive file
git:from-image [--build-dir DIRECTORY] <app> <docker-image> [<git-username> <git-email>] # Updates an app's git repository with a given docker image
git:load-image [--build-dir DIRECTORY] <app> <docker-image> [<git-username> <git-email>] # Updates an app's git repository with a docker image loaded from stdin
git:sync [--build] <app> <repository> [<git-ref>] # Clone or fetch an app from remote git repo
git:initialize <app> # Initialize a git repository for an app
git:public-key # Outputs the dokku public deploy key
@@ -159,18 +160,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):
- 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
@@ -211,6 +200,49 @@ Finally, if the archive url is specified as `--`, the archive will be fetched fr
curl -sSL https://github.com/dokku/smoke-test-app/releases/download/2.0.0/smoke-test-app.tar | dokku git:from-archive node-js-app --
```
### Initializing an app repository from a remote image without a registry
> 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.
```shell
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
```
In the above example, we are saving the image to a tar file via `docker image save`, streaming that to the Dokku host, and then running `git:load-image` on the incoming stream. Dokku will build the app as if the repository contained _only_ a `Dockerfile` with the following content:
```Dockerfile
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
docker inspect --format='{{index .RepoDigests 0}}' $IMAGE_NAME
```
The resulting `git:load-image` call would then be:
```shell
# where the image sha is: sha256:9d187c3025d03c033dcc71e3a284fee53be88cc4c0356a19242758bc80cab673
docker image save dokku/node-js-getting-started:latest | ssh dokku@dokku.me git:load-image node-js-app dokku/node-js-getting-started@sha256:9d187c3025d03c033dcc71e3a284fee53be88cc4c0356a19242758bc80cab673
```
The `git:load-image` command can optionally take a git `user.name` and `user.email` argument (in that order) to customize the author. If the arguments are left empty, they will fallback to `Dokku` and `automated@dokku.sh`, respectively.
```shell
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"
```
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
docker image save dokku/node-js-getting-started:latest | ssh dokku@dokku.me git:load-image --build-dir path/to/build node-js-app dokku/node-js-getting-started:latest "Camila" "camila@example.com"
```
See the [dockerfile documentation](/docs/deployment/builders/dockerfiles.md) to learn about the different ways to configure Dockerfile-based deploys.
### Initializing an app repository from a remote repository
> New as of 0.23.0

View File

@@ -89,6 +89,22 @@ In addition, the following commands have special local side-effects:
- `apps:destroy`:
- Removes the local `dokku` git remote if set.
#### 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.
To see your currently configured remote, run `dokku remote`. This will respect the `--remote` flag.
To list all available remotes, run `dokku remote:list`. This is equivalent to running `git remote`.
To add a remote, run `dokku remote:add $REMOTE_NAME dokku@dokku.me:$APP_NAME`, replacing `$REMOTE_NAME` with your desired remote name, the `$APP_NAME` with your desired app name and the host `dokku.me` with your Dokku host. This is equivalent to running `git remote add $REMOTE_NAME dokku@dokku.me:$APP_NAME`.
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.
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.
## Unofficial Clients
Please refer to the [community clients](/docs/community/clients.md) list for more details.

View File

@@ -82,15 +82,9 @@ Note that increasing the value of `parallel-schedule-count` may significantly im
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 +101,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.

View File

@@ -42,7 +42,7 @@ The keys for a specific user may be listed by specifying a second argument to th
dokku ssh-keys:list admin
```
> 0.22.3
> New as of 0.22.3
The output format may be specified via the `--format` flag. Supported values include `json` and `text`.
@@ -58,7 +58,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 +72,26 @@ 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

@@ -13,7 +13,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 +42,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.
@@ -135,97 +135,45 @@ dokku checks:report node-js-app --checks-disabled-list
## Customizing checks
> 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 +260,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
```

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)
@@ -221,6 +236,22 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `builder-get-property`
- Description: Return the value for an app's builder property
- Invoked by:
- Arguments: `$APP $KEY`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
APP="$1"; PROPERTY="$2"
# TODO
```
### `builder-image-is-cnb`
- Description: Checks if an image is cnb-based
@@ -281,6 +312,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.
@@ -583,6 +629,21 @@ 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
@@ -990,21 +1051,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
@@ -1050,21 +1096,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
@@ -1196,7 +1227,7 @@ echo "$NEW_SUBDOMAIN.$VHOST"
> 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 nginx:build-config`
- Invoked by: `dokku proxy:build-config`
- Arguments: `$APP $INTERNAL_PORT $INTERNAL_IP_ADDRESS`
- Example:
@@ -1210,6 +1241,97 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
nginx -t
```
### `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.
@@ -1372,7 +1494,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
@@ -1482,8 +1604,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:
@@ -1519,71 +1641,6 @@ BUILDER_TYPE="$1"; APP="$2"; IMAGE=$3
# TODO
```
### `post-release-buildpack`
> Warning: Deprecated, please use `post-release-builder` instead
> Warning: Image mutation in this trigger may result in an invalid run state, and is heavily discouraged.
- Description: Allows you to run commands after environment variables are set for the release step of the deploy. Only applies to apps using buildpacks.
- Invoked by: `internal function dokku_release() (release phase)`
- Arguments: `$APP $IMAGE_TAG`
- 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"; IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
# TODO
```
### `post-release-pack`
> Warning: Deprecated, please use `post-release-builder` instead
> Warning: The pack plugin trigger apis are under development and may change
> between minor releases until the 1.0 release.
> Warning: Image mutation in this trigger may result in an invalid run state, and is heavily discouraged.
- Description: Allows you to run commands after environment variables are set for the release step of the deploy. Only applies to apps using pack.
- 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"; IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
# TODO
```
### `post-release-dockerfile`
> Warning: Deprecated, please use `post-release-builder` instead
> Warning: Image mutation in this trigger may result in an invalid run state, and is heavily discouraged.
- Description: Allows you to run commands after environment variables are set for the release step of the deploy. Only applies to apps using a dockerfile.
- Invoked by: `internal function dokku_release() (release phase)`
- Arguments: `$APP $IMAGE_TAG`
- 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"; IMAGE=$(get_app_image_name $APP $IMAGE_TAG)
# TODO
```
### `post-stop`
- Description: Can be used to run commands after an app is manually stopped
@@ -1764,7 +1821,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")
@@ -1859,6 +1916,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
@@ -1891,7 +1963,9 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
### `proxy-configure-ports`
- Description: Configures the proxy port mapping
> Warning: Deprecated, please use `ports-configure` instead
- Description: Configures the port mapping
- Invoked by: `internally triggered by proxy plugins`
- Arguments: `$APP`
- Example:
@@ -2424,7 +2498,7 @@ DOKKU_SCHEDULER="$1"; APP="$2"; REMOVE_CONTAINERS="$3";
- Description: Returns a list of storage mounts
- Invoked by: `dokku storage:list` and `dokku deploy`
- Arguments: `$APP`
- Arguments: `$APP $PHASE $FORMAT`
- Example:
```shell

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

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

View File

@@ -22,7 +22,7 @@ You can always install Dokku straight from the latest - potentially unstable - `
```shell
# using a branch results in installing from source
wget https://raw.githubusercontent.com/dokku/dokku/master/bootstrap.sh;
wget -NP . https://dokku.com/install/master/bootstrap.sh;
sudo DOKKU_BRANCH=master bash bootstrap.sh
```
@@ -47,7 +47,7 @@ sudo SSHCOMMAND_URL=https://raw.githubusercontent.com/yourusername/sshcommand/ma
The bootstrap script allows the Dokku repository URL to be overridden to bootstrap a host from your own clone of Dokku using the `DOKKU_REPO` environment variable. Example:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/master/bootstrap.sh;
wget -NP . https://dokku.com/install/master/bootstrap.sh;
chmod +x bootstrap.sh
sudo DOKKU_REPO=https://github.com/yourusername/dokku.git DOKKU_BRANCH=master ./bootstrap.sh
```

View File

@@ -12,9 +12,10 @@ wget -nv -O - https://get.docker.com/ | sh
# install dokku
wget -qO- https://packagecloud.io/dokku/dokku/gpgkey | sudo tee /etc/apt/trusted.gpg.d/dokku.asc
OS_ID="$(lsb_release -cs 2>/dev/null || echo "bionic")"
echo "bionic focal jammy" | grep -q "$OS_ID" || OS_ID="bionic"
echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ ${OS_ID} main" | sudo tee /etc/apt/sources.list.d/dokku.list
# programmatically determine distro and codename
DISTRO="$(awk -F= '$1=="ID" { print tolower($2) ;}' /etc/os-release)"
OS_ID="$(awk -F= '$1=="VERSION_CODENAME" { print tolower($2) ;}' /etc/os-release)"
echo "deb https://packagecloud.io/dokku/dokku/${DISTRO}/ ${OS_ID} main" | sudo tee /etc/apt/sources.list.d/dokku.list
sudo apt-get update -qq >/dev/null
sudo apt-get -qq -y install dokku
sudo dokku plugin:install-dependencies --core

View File

@@ -3,7 +3,7 @@
Pull the dokku/dokku image:
```shell
docker pull dokku/dokku:0.29.2
docker pull dokku/dokku:0.31.0
```
Next, run the image.
@@ -12,13 +12,14 @@ Next, run the image.
docker container run \
--env DOKKU_HOSTNAME=dokku.me \
--env DOKKU_HOST_ROOT=/var/lib/dokku/home/dokku \
--env DOKKU_LIB_HOST_ROOT=/var/lib/dokku/var/lib/dokku \
--name dokku \
--publish 3022:22 \
--publish 8080:80 \
--publish 8443:443 \
--volume /var/lib/dokku:/mnt/dokku \
--volume /var/run/docker.sock:/var/run/docker.sock \
dokku/dokku:0.29.2
dokku/dokku:0.31.0
```
The above command will start a new docker container that is ready when a message similar to `Runit started as PID 12345` appears.
@@ -40,6 +41,8 @@ Other docker container options can also be used when running Dokku, though the s
## Plugin Installation
### On Dokku start
To install custom plugins, create a `plugin-list` file in the host's `/var/lib/dokku` directory. The plugins listed herein will be automatically installed by Dokku on container boot. This file should be the following format:
```yaml
@@ -53,6 +56,16 @@ postgres: https://github.com/dokku/dokku-postgres.git
redis: https://github.com/dokku/dokku-redis.git
```
### Prior to Dokku start
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.31.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
```
## SSH Key Management
To initialize ssh-keys within the container, use `docker exec` to enter the container and run the appropriate ssh-keys commands.

View File

@@ -19,7 +19,7 @@ source openrc.sh # Set the environment variables for DreamHost Cloud
This allows OpenStack client to connect to DreamHost API endpoints.
The command below creates a new server instance named `my-dokku-instance`
based on Ubuntu 18.04, with 2 GB RAM and 1 CPU (the flavor called
based on Ubuntu 20.04, with 2 GB RAM and 1 CPU (the flavor called
`supersonic`), opening network port access to HTTP and SSH (the
`default` security group), and the name of the chosen SSH key. This
key will be automatically added to the new server in the
@@ -28,7 +28,7 @@ be reused by Dokku.
```sh
openstack server create \
--image Ubuntu-18.04 \
--image Ubuntu-20.04 \
--flavor gp1.supersonic \
--security-group default \
--key-name $YOUR_SSH_KEYNAME \

View File

@@ -38,7 +38,7 @@
> 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 and add your ssh key to the install. Additionally, set the global domain name to `dokku.me`.
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`.
```shell
# usually your key is already available under the current user's `~/.ssh/authorized_keys` file

View File

@@ -9,7 +9,7 @@ Dokku is an extensible, open source Platform as a Service that runs on a single
To start using Dokku, you'll need a system that meets the following minimum requirements:
- A fresh installation of any of the following operating systems:
- [Ubuntu 18.04/20.04/22.04](https://www.ubuntu.com/download)
- [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
@@ -38,8 +38,8 @@ To install the latest stable version of Dokku, you can run the following shell c
```shell
# for debian systems, installs Dokku via apt-get
wget https://raw.githubusercontent.com/dokku/dokku/v0.29.2/bootstrap.sh
sudo DOKKU_TAG=v0.29.2 bash bootstrap.sh
wget -NP . https://dokku.com/install/v0.31.0/bootstrap.sh
sudo DOKKU_TAG=v0.31.0 bash bootstrap.sh
```
The installation process takes about 5-10 minutes, depending upon internet connection speed.

View File

@@ -58,10 +58,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 +72,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.
@@ -167,7 +165,11 @@ When specifying your port you may want to use something similar to:
var port = process.env.PORT || 3000
```
Please see https://github.com/dokku/dokku/issues/282.
Please see [#282](https://github.com/dokku/dokku/issues/282).
Additionally, your application should listen/bind to all interfaces (`0.0.0.0`). Many frameworks default to listening on `127.0.0.1`.
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`.
@@ -231,13 +233,30 @@ 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
Sometimes nginx does something funky and cant actually reload for whatever reason.
```bash
# Validate the configuration
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
$ sudo service nginx restart
# Re-enable Letsencrypt
```
Example: existing AppA (https) and AppB(https), deployed NEW (non-https) then noticed right away NEW's subdomain showed AppB's content and cert but under its own subdomain (cert miss-match of course). AppB still works. AppA also changed to show AppB content and cert.. Other apps were unaffected.
Consider caddy and traefik support via docker containers if this continues to be an issue.

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.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)
- [Upgrading to 0.27](/docs/appendices/0.27.0-migration-guide.md)
@@ -60,7 +62,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
```

View File

@@ -10,26 +10,26 @@
<meta name="author" content="">
<title>Dokku - The smallest PaaS implementation you've ever seen</title>
<link rel="apple-touch-icon" sizes="57x57" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.29.2/docs/assets/favicons/apple-touch-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.29.2/docs/assets/favicons/apple-touch-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.29.2/docs/assets/favicons/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.29.2/docs/assets/favicons/apple-touch-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.29.2/docs/assets/favicons/apple-touch-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.29.2/docs/assets/favicons/apple-touch-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.29.2/docs/assets/favicons/apple-touch-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.29.2/docs/assets/favicons/apple-touch-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.29.2/docs/assets/favicons/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.29.2/docs/assets/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.29.2/docs/assets/favicons/android-chrome-192x192.png" sizes="192x192">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.29.2/docs/assets/favicons/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.29.2/docs/assets/favicons/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.29.2/docs/assets/favicons/manifest.json">
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.29.2/docs/assets/favicons/favicon.ico">
<link rel="apple-touch-icon" sizes="57x57" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.0/docs/assets/favicons/apple-touch-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.0/docs/assets/favicons/apple-touch-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.0/docs/assets/favicons/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.0/docs/assets/favicons/apple-touch-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.0/docs/assets/favicons/apple-touch-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.0/docs/assets/favicons/apple-touch-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.0/docs/assets/favicons/apple-touch-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.0/docs/assets/favicons/apple-touch-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.0/docs/assets/favicons/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.0/docs/assets/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.0/docs/assets/favicons/android-chrome-192x192.png" sizes="192x192">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.0/docs/assets/favicons/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.0/docs/assets/favicons/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.0/docs/assets/favicons/manifest.json">
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.0/docs/assets/favicons/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Dokku">
<meta name="application-name" content="Dokku">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="msapplication-TileImage" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.29.2/docs/assets/favicons/mstile-144x144.png">
<meta name="msapplication-config" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.29.2/docs/assets/favicons/browserconfig.xml">
<meta name="msapplication-TileImage" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.0/docs/assets/favicons/mstile-144x144.png">
<meta name="msapplication-config" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.0/docs/assets/favicons/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-0evHe/X+R7YkIZDRvuzKMRqM+OrBnVFBL6DOitfPri4tjfHxaWutUpFmBp4vmVor" crossorigin="anonymous">
@@ -38,7 +38,7 @@
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.29.2/docs/assets/style.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.31.0/docs/assets/style.css" rel="stylesheet">
<!-- <link href="./assets/style.css" rel="stylesheet"> -->
</head>
@@ -98,7 +98,7 @@
<main class="container px-4 px-lg-5">
<div class="row">
<div class="col-lg-7">
<a class="badge-link" href="https://github.com/dokku/dokku/releases"><span class="badge py-2 d-flex fit-content"><div class="circle align-self-center me-2"></div>Latest release <span id="releaseVersion" class="ms-1">v0.29.2</span></span></a>
<a class="badge-link" href="https://github.com/dokku/dokku/releases"><span class="badge py-2 d-flex fit-content"><div class="circle align-self-center me-2"></div>Latest release <span id="releaseVersion" class="ms-1">v0.31.0</span></span></a>
<h1 class="text-white hero-heading mt-5">An open source PAAS alternative to Heroku.</h1>
<h4 class="text-white mt-5">Dokku helps you build and manage the lifecycle of applications from building to scaling.</h4>
<div class="d-flex mt-5">
@@ -114,19 +114,21 @@
<p class="line">
<span class="output"># download the installation script</span>
</p>
<br>
<p class="line">
<span class="prompt">$</span>
<span class="command">wget https://raw.githubusercontent.com/dokku/dokku/v0.29.2/bootstrap.sh</span>
<span class="command">wget -NP . https://dokku.com/bootstrap.sh</span>
</p>
<br>
<p class="line">
<span class="output"># run the installer</span>
</p>
<p class="line">
<span class="prompt">$</span>
<span class="command">sudo DOKKU_TAG=v0.29.2 bash bootstrap.sh</span>
<span class="command">sudo DOKKU_TAG=v0.31.0 bash bootstrap.sh</span>
</p>
<br>
<p class="line">
<span class="output"># Configure your server domain</span>
</p>
@@ -134,15 +136,23 @@
<span class="prompt">$</span>
<span class="command">dokku domains:set-global dokku.me</span>
</p>
<br>
<p class="line">
<span class="output"># and your ssh key to the dokku user</span>
</p>
<p class="line">
<span class="prompt">$</span>
<span class="command">echo "your-public-key-contents-here" | dokku ssh-keys:add admin</span>
<span class="command">PUBLIC_KEY="your-public-key-contents-here"</span>
</p>
<p class="line">
<span class="output"># # create your first app and you're off to the races!</span>
<span class="prompt">$</span>
<span class="command">echo "$PUBLIC_KEY" | dokku ssh-keys:add admin</span>
</p>
<br>
<p class="line">
<span class="output"># create your first app and you're off!</span>
</p>
<p class="line">
<span class="prompt">$</span>
@@ -217,13 +227,13 @@
Create</a>
<a class="nav-link" id="nav-deploy-tab" data-bs-toggle="tab" href="#nav-deploy" role="tab" aria-controls="nav-deploy" aria-selected="false">
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M29.8709 1.40551C29.8591 1.34642 29.8311 1.29205 29.7903 1.24881C29.7495 1.20556 29.6976 1.17524 29.6407 1.16141C25.8466 0.20375 17.082 3.61605 12.3285 8.51812C11.4813 9.38524 10.7088 10.3268 10.0198 11.3321C8.55457 11.1953 7.08939 11.3105 5.84189 11.8721C2.31916 13.4706 1.29423 17.6454 1.00817 19.4376C0.992669 19.5358 0.999288 19.6364 1.02751 19.7315C1.05574 19.8267 1.10481 19.9138 1.17093 19.9862C1.23705 20.0586 1.31844 20.1144 1.40878 20.1491C1.49913 20.1838 1.59601 20.1966 1.69192 20.1865L7.34824 19.5456C7.35215 19.9859 7.37777 20.4257 7.42498 20.8633C7.4545 21.1658 7.58527 21.4482 7.79477 21.6618L9.98487 23.9221C10.1921 24.1384 10.466 24.2734 10.7593 24.3037C11.1808 24.3522 11.6044 24.3786 12.0285 24.3829L11.4082 30.2153C11.3985 30.3141 11.411 30.414 11.4446 30.507C11.4783 30.6001 11.5323 30.684 11.6023 30.7521C11.6724 30.8202 11.7567 30.8708 11.8487 30.9C11.9408 30.9291 12.0381 30.936 12.1331 30.9202C13.8704 30.6322 17.9241 29.5744 19.4639 25.9396C20.0081 24.6508 20.1198 23.1466 19.9942 21.6417C20.9712 20.9312 21.8861 20.134 22.7285 19.2591C27.4994 14.3627 30.7849 5.51625 29.8709 1.40551ZM18.4878 12.9162C18.0711 12.4862 17.7873 11.9384 17.6723 11.3419C17.5573 10.7455 17.6162 10.1273 17.8417 9.56541C18.0672 9.00356 18.449 8.52333 18.939 8.18546C19.4289 7.84759 20.005 7.66725 20.5942 7.66725C21.1835 7.66725 21.7595 7.84759 22.2494 8.18546C22.7394 8.52333 23.1212 9.00356 23.3467 9.56541C23.5722 10.1273 23.6311 10.7455 23.5161 11.3419C23.4011 11.9384 23.1173 12.4862 22.7006 12.9162C22.4242 13.202 22.0959 13.4288 21.7344 13.5835C21.373 13.7383 20.9855 13.8179 20.5942 13.8179C20.2029 13.8179 19.8154 13.7383 19.454 13.5835C19.0926 13.4288 18.7642 13.202 18.4878 12.9162Z" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M5.29982 22.8765C4.60.29.22.9646 3.95721 23.29 3.46136 23.801C2.232 25.074 2.11548 29.7889 2.11548 29.7889C2.11548 29.7889 6.68686 29.6687 7.91692 28.3985C8.41409 27.8876 8.72993 27.2187 8.81347 26.4997" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M29.8709 1.40551C29.8591 1.34642 29.8311 1.29205 29.7903 1.24881C29.7495 1.20556 29.6976 1.17524 29.6407 1.16141C25.8466 0.20375 17.082 3.61605 12.3285 8.51812C11.4813 9.38524 10.7088 10.3268 10.0198 11.3321C8.55457 11.1953 7.08939 11.3105 5.84189 11.8721C2.31916 13.4706 1.29423 17.6454 1.00817 19.4376C0.992669 19.5358 0.999288 19.6364 1.02751 19.7315C1.05574 19.8267 1.10481 19.9138 1.17093 19.9862C1.23705 20.0586 1.31844 20.1144 1.40878 20.1491C1.49913 20.1838 1.59601 20.1966 1.69192 20.1865L7.34824 19.5456C7.35215 19.9859 7.37777 20.4257 7.42498 20.8633C7.4545 21.1658 7.58527 21.4482 7.79477 21.6618L9.98487 23.9221C10.1921 24.1384 10.466 24.2734 10.7593 24.3037C11.1808 24.3522 11.6044 24.3786 12.0285 24.3829L11.4082 30.2153C11.3985 30.3141 11.411 30.414 11.4446 30.507C11.4783 30.6001 11.5323 30.684 11.6023 30.7521C11.6724 30.8202 11.7567 30.8708 11.8487 30.9C11.9408 30.9291 12.0381 30.936 12.1331 30.9202C13.8704 30.6322 17.9241 29.5744 19.4639 25.9396C20.0081 24.6508 20.1198 23.1466 19.9942 21.6417C20.9712 20.9312 21.8861 20.134 22.7285 19.2591C27.4994 14.3627 30.7849 5.51625 29.8709 1.40551ZM18.4878 12.9162C18.0711 12.4862 17.7873 11.9384 17.6723 11.3419C17.5573 10.7455 17.6162 10.1273 17.8417 9.56541C18.0672 9.00356 18.449 8.52333 18.939 8.18546C19.4289 7.84759 20.005 7.66725 20.5942 7.66725C21.1835 7.66725 21.7595 7.84759 22.2494 8.18546C22.7394 8.52333 23.1212 9.00356 23.3467 9.56541C23.5722 10.1273 23.6311 10.7455 23.5161 11.3419C23.4011 11.9384 23.1173 12.4862 22.7006 12.9162C22.4242 13.202 22.0959 13.4288 21.7344 13.5835C21.373 13.7383 20.9855 13.8179 20.5942 13.8179C20.2029 13.8179 19.8154 13.7383 19.454 13.5835C19.0926 13.4288 18.7642 13.202 18.4878 12.9162Z" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
<path d="M5.29982 22.8765C4.60428 22.9646 3.95721 23.29 3.46136 23.801C2.232 25.074 2.11548 29.7889 2.11548 29.7889C2.11548 29.7889 6.68686 29.6687 7.91692 28.3985C8.41409 27.8876 8.72993 27.2187 8.81347 26.4997" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
</svg>
Deploy</a>
<a class="nav-link" id="nav-scale-tab" data-bs-toggle="tab" href="#nav-scale" role="tab" aria-controls="nav-scale" aria-selected="false">
<svg width="23" height="24" viewBox="0 0 23 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 0L2.5 0V21H23V23.7364H0V0ZM15.1473 4.08735C15.1473 3.89062 15.2543 3.57401 15.3891 3.4349C15.5239 3.29579 15.7067 3.21764 15.8973 3.21764H21.6473C21.8379 3.21764 22.2313 3.38443 22.3661 3.52353C22.5009 3.66264 22.6529 4.06992 22.6529 4.26665V10.2008C22.6529 10.3975 22.5985 10.5861 22.4637 10.7253C22.3289 10.8644 22.0.29.20.9376 21.8622 10.9376C21.6715 10.9376 21.2739 10.8644 21.1391 10.7253C21.0043 10.5861 20.9286 10.3975 20.9286 10.2008V6.34359L15.7349 12.8963C15.6713 12.9764 15.5028 13.1856 15.4132 13.2322C15.3236 13.2788 15.2256 13.3056 15.1254 13.3108C15.0252 13.3159 14.9251 13.2994 14.8314 13.2622C14.7378 13.225 14.6527 13.1681 14.5817 13.0949L10.9086 9.79904L5.65683 16.7063C5.43978 16.9911 4.8927 16.8125 4.47404 16.5042C4.08636 16.2187 3.75998 15.7452 3.99173 15.3696L9.97348 7.33459C10.0345 7.24783 10.113 7.17575 10.2037 7.12332C10.2943 7.0709 10.3948 7.03937 10.4984 7.0309C10.602 7.02244 10.7061 7.03725 10.8036 7.07432C10.9011 7.11138 10.9896 7.16981 11.0631 7.24558L14.8314 10.7253L19.3036 5.07432L15.8973 5.00841C15.7067 5.00841 15.4678 4.92015 15.333 4.78104C15.1982 4.64193 15.1473 4.28407 15.1473 4.08735Z" />
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 0L2.5 0V21H23V23.7364H0V0ZM15.1473 4.08735C15.1473 3.89062 15.2543 3.57401 15.3891 3.4349C15.5239 3.29579 15.7067 3.21764 15.8973 3.21764H21.6473C21.8379 3.21764 22.2313 3.38443 22.3661 3.52353C22.5009 3.66264 22.6529 4.06992 22.6529 4.26665V10.2008C22.6529 10.3975 22.5985 10.5861 22.4637 10.7253C22.3289 10.8644 22.0528 10.9376 21.8622 10.9376C21.6715 10.9376 21.2739 10.8644 21.1391 10.7253C21.0043 10.5861 20.9286 10.3975 20.9286 10.2008V6.34359L15.7349 12.8963C15.6713 12.9764 15.5028 13.1856 15.4132 13.2322C15.3236 13.2788 15.2256 13.3056 15.1254 13.3108C15.0252 13.3159 14.9251 13.2994 14.8314 13.2622C14.7378 13.225 14.6527 13.1681 14.5817 13.0949L10.9086 9.79904L5.65683 16.7063C5.43978 16.9911 4.8927 16.8125 4.47404 16.5042C4.08636 16.2187 3.75998 15.7452 3.99173 15.3696L9.97348 7.33459C10.0345 7.24783 10.113 7.17575 10.2037 7.12332C10.2943 7.0709 10.3948 7.03937 10.4984 7.0309C10.602 7.02244 10.7061 7.03725 10.8036 7.07432C10.9011 7.11138 10.9896 7.16981 11.0631 7.24558L14.8314 10.7253L19.3036 5.07432L15.8973 5.00841C15.7067 5.00841 15.4678 4.92015 15.333 4.78104C15.1982 4.64193 15.1473 4.28407 15.1473 4.08735Z" />
</svg>
Scale</a>
</div>
@@ -408,7 +418,7 @@
<g id="mysql" data-bs-toggle="svg-tooltip" data-bs-placement="bottom" title="MySQL" filter="url(#filter9_d_55_77)" transform="translate(79.2566,394.257) translate(-79.2566,-394.257)" style="animation: 30s linear infinite both mysql_t;">
<ellipse fill="white" rx="51.2566" ry="51.2566" transform="translate(79.2566,394.257)"/>
<path d="M39,411.45L41.6356,411.45L41.6356,401.092L45.7157,410.121C46.1971,411.214,46.8562,411.601,48.1485,411.601C49.4411,411.601,50.0746,411.214,50.5563,410.121L54.6364,401.092L54.6364,411.449L57.272,411.449L57.272,401.109C57.272,400.1,56.8664,399.612,56.0303,399.36C54.0283,398.738,52.685,399.276,52.0767,400.621L48.0726,409.533L44.1953,400.621C43.6124,399.276,42.2439,398.738,40.2419,399.36C39.4055,399.612,39,400.1,39,401.109L39,411.45L39,411.45ZM59.4635,403.019L62.0983,403.019L62.0983,408.725C62.0736,409.035,62.1982,409.763,63.642,409.785C64.3786,409.797,69.327,409.785,69.3732,409.785L69.3732,402.991L72.0141,402.991C72.0263,402.991,72.0115,412.257,72.0117,412.296C72.026,414.581,69.1626,415.078,67.8428,415.116L59.5205,415.116L59.5205,413.351C59.5353,413.351,67.8366,413.353,67.8575,413.351C69.5538,413.173,69.3535,412.334,69.3533,412.051L69.3533,411.363L63.7512,411.363C61.1447,411.339,59.4852,410.207,59.4647,408.905C59.4626,408.785,59.5209,403.076,59.4633,403.019L59.4635,403.019Z" fill="#00618A" transform="translate(55.5095,407.109) translate(-55.5095,-407.109)"/>
<path d="M74.0451,411.45L81.6224,411.45C82.5094,411.45,83.371,411.265,84.0554,410.945C85.1957,410.424,85.7533,409.718,85.7533,408.793L85.7533,406.876C85.7533,406.12,85.1198,405.413,83.8779,404.943C83.2189,404.69,82.408,404.556,81.6224,404.556L78.4289,404.556C77.365,404.556,76.8581,404.236,76.7314,403.53C76.706,403.446,76.706,403.379,76.706,403.295L76.706,402.101C76.706,402.034,76.706,401.966,76.7314,401.882C76.8581,401.344,77.137,401.193,78.0745,401.109C78.1504,401.109,78.2518,401.092,78.328,401.092L85.8547,401.092L85.8547,399.344L78.4546,399.344C77.3902,399.344,76.8326,399.411,76.3259,399.562C74.7546,400.05,74.0704,400.823,74.0704,402.168L74.0704,403.698C74.0704,404.875,75.4136,405.884,77.6689,406.12C77.9226,406.136,78.1759,406.153,78.4291,406.153L81.1661,406.153C81.2677,406.153,81.3691,406.153,81.445,406.17C82.2814,406.237,82.636,406.389,82.8897,406.691C83.0416,406.842,83.0922,406.994,83.0922,407.162L83.0922,408.692C83.0922,408.877,82.9656,409.113,82.7124,409.314C82.4841,409.516,82.104,409.651,81.5971,409.684C81.4957,409.684,81.4198,409.701,81.3184,409.701L74.0449,409.701L74.0449,411.449L74.0451,411.45ZM102.195,408.406C102.195,410.205,103.538,411.214,106.25,411.416C106.503,411.433,106.757,411.45,107.01,411.45L113.878,411.45L113.878,409.701L106.959,409.701C105.413,409.701,104.831,409.314,104.831,408.39L104.831,399.343L102.195,399.343L102.195,408.406ZM87.4354,408.498L87.4354,402.264C87.4354,400.68,88.5529,399.719,90.762,399.416C90.9976,399.383,91.2352,399.366,91.4732,399.366L96.476,399.366C96.7298,399.366,96.9587,399.383,97.2126,399.416C99.4219,399.719,100.539,400.68,100.539,402.264L100.539,408.498C100.539,409.783,100.065,410.47,98.971,410.919L101.567,413.251L98.507,413.251L96.4066,411.364L94.2921,411.497L91.4732,411.497C90.9907,411.497,90.4829,411.43,89.9241,411.278C88.2481,410.823,87.4354,409.947,87.4354,408.498L87.4354,408.498ZM90.29.208.346C90.29.208.431,90.3054,408.515,90.3309,408.616C90.4831,409.341,91.1688,409.745,92.21,409.745L94.6044,409.745L92.4049,407.769L95.465,407.769L97.3835,409.492C97.7369,409.305,97.9697,409.018,98.0509,408.65C98.0762,408.566,98.0762,408.481,98.0762,408.397L98.0762,402.416C98.0762,402.348,98.0762,402.264,98.0509,402.18C97.8984,401.506,97.2128,401.118,96.1971,401.118L92.21,401.118C91.042,401.118,90.29.2,401.624,90.29.2,402.416L90.29.2,408.346L90.29.208.346Z" fill="#E48E00" transform="translate(93.9614,406.297) translate(-93.9614,-406.297)"/>
<path d="M74.0451,411.45L81.6224,411.45C82.5094,411.45,83.371,411.265,84.0554,410.945C85.1957,410.424,85.7533,409.718,85.7533,408.793L85.7533,406.876C85.7533,406.12,85.1198,405.413,83.8779,404.943C83.2189,404.69,82.408,404.556,81.6224,404.556L78.4289,404.556C77.365,404.556,76.8581,404.236,76.7314,403.53C76.706,403.446,76.706,403.379,76.706,403.295L76.706,402.101C76.706,402.034,76.706,401.966,76.7314,401.882C76.8581,401.344,77.137,401.193,78.0745,401.109C78.1504,401.109,78.2518,401.092,78.328,401.092L85.8547,401.092L85.8547,399.344L78.4546,399.344C77.3902,399.344,76.8326,399.411,76.3259,399.562C74.7546,400.05,74.0704,400.823,74.0704,402.168L74.0704,403.698C74.0704,404.875,75.4136,405.884,77.6689,406.12C77.9226,406.136,78.1759,406.153,78.4291,406.153L81.1661,406.153C81.2677,406.153,81.3691,406.153,81.445,406.17C82.2814,406.237,82.636,406.389,82.8897,406.691C83.0416,406.842,83.0922,406.994,83.0922,407.162L83.0922,408.692C83.0922,408.877,82.9656,409.113,82.7124,409.314C82.4841,409.516,82.104,409.651,81.5971,409.684C81.4957,409.684,81.4198,409.701,81.3184,409.701L74.0449,409.701L74.0449,411.449L74.0451,411.45ZM102.195,408.406C102.195,410.205,103.538,411.214,106.25,411.416C106.503,411.433,106.757,411.45,107.01,411.45L113.878,411.45L113.878,409.701L106.959,409.701C105.413,409.701,104.831,409.314,104.831,408.39L104.831,399.343L102.195,399.343L102.195,408.406ZM87.4354,408.498L87.4354,402.264C87.4354,400.68,88.5529,399.719,90.762,399.416C90.9976,399.383,91.2352,399.366,91.4732,399.366L96.476,399.366C96.7298,399.366,96.9587,399.383,97.2126,399.416C99.4219,399.719,100.539,400.68,100.539,402.264L100.539,408.498C100.539,409.783,100.065,410.47,98.971,410.919L101.567,413.251L98.507,413.251L96.4066,411.364L94.2921,411.497L91.4732,411.497C90.9907,411.497,90.4829,411.43,89.9241,411.278C88.2481,410.823,87.4354,409.947,87.4354,408.498L87.4354,408.498ZM90.28,408.346C90.28,408.431,90.31.0,408.515,90.3309,408.616C90.4831,409.341,91.1688,409.745,92.21,409.745L94.6044,409.745L92.4049,407.769L95.465,407.769L97.3835,409.492C97.7369,409.305,97.9697,409.018,98.0509,408.65C98.0762,408.566,98.0762,408.481,98.0762,408.397L98.0762,402.416C98.0762,402.348,98.0762,402.264,98.0509,402.18C97.8984,401.506,97.2128,401.118,96.1971,401.118L92.21,401.118C91.042,401.118,90.2802,401.624,90.2802,402.416L90.2802,408.346L90.28,408.346Z" fill="#E48E00" transform="translate(93.9614,406.297) translate(-93.9614,-406.297)"/>
<path d="M116.197,396.443C114.577,396.399,113.339,396.549,112.281,396.993C111.981,397.119,111.501,397.122,111.452,397.497C111.617,397.67,111.643,397.927,111.774,398.139C112.027,398.546,112.453,399.091,112.834,399.377C113.25,399.69,113.678,400.024,114.124,400.294C114.917,400.775,115.802,401.05,116.565,401.532C117.015,401.816,117.462,402.174,117.901,402.495C118.118,402.653,118.264,402.9,118.546,402.999L118.546,402.953C118.398,402.765,118.36,402.507,118.224,402.311L117.625,401.715C117.039,400.942,116.296,400.262,115.506,399.698C114.876,399.248,113.465,398.64,113.203,397.91L113.156,397.864C113.603,397.814,114.126,397.653,114.539,397.543C115.231,397.358,115.85,397.406,116.565,397.222C116.888,397.131,117.21,397.039,117.533,396.947L117.533,396.764C117.171,396.395,116.914,395.906,116.519,395.572C115.488,394.698,114.362,393.824,113.203,393.096C112.56,392.692,111.765,392.43,111.083,392.087C110.854,391.972,110.451,391.913,110.3,391.721C109.942,391.266,109.747,390.691,109.471,390.162C108.893,389.054,108.325,387.843,107.813,386.677C107.463,385.882,107.235,385.098,106.799,384.385C104.707,380.962,102.456,378.897,98.9679,376.866C98.2258,376.434,97.3322,376.264,96.3879,376.041L94.8677,375.949C94.5584,375.82,94.2366,375.444,93.9462,375.261C92.7908,374.535,89.8272,372.955,88.9714,375.032C88.431,376.344,89.779,377.623,90.2611,378.288C90.5995,378.754,91.0327,379.276,91.2745,379.8C91.4336,380.145,91.4611,380.49,91.5971,380.855C91.9321,381.753,92.2231,382.73,92.6565,383.56C92.8755,383.98,93.1169,384.422,93.3937,384.798C93.5635,385.028,93.8543,385.13,93.9003,385.485C93.6158,385.882,93.5996,386.496,93.4397,386.998C92.7198,389.258,92.9913,392.066,94.0386,393.738C94.36,394.251,95.1169,395.352,96.1576,394.93C97.0681,394.561,96.8647,393.417,97.1251,392.408C97.184,392.18,97.1477,392.011,97.2632,391.858L97.2632,391.904L98.0924,393.554C98.706,394.538,99.7954,395.566,100.718,396.26C101.197,396.619,101.574,397.241,102.193,397.451L102.193,397.406L102.146,397.406C102.027,397.22,101.839,397.142,101.686,396.993C101.325,396.641,100.924,396.204,100.626,395.801C99.7868,394.667,99.0449,393.426,98.369,392.133C98.0462,391.516,97.7656,390.836,97.4935,390.208C97.3886,389.966,97.3899,389.6,97.1713,389.474C96.8733,389.934,96.4343,390.306,96.2038,390.85C95.8352,391.718,95.7876,392.777,95.6511,393.875C95.5703,393.904,95.606,393.884,95.5588,393.921C94.9172,393.767,94.6916,393.11,94.4534,392.546C93.85,391.12,93.7381,388.823,94.2687,387.182C94.4062,386.757,95.0268,385.419,94.7756,385.027C94.6557,384.636,94.26,384.409,94.0386,384.11C93.7646,383.74,93.491,383.253,93.3014,382.826C92.8078,381.714,92.5773,380.466,92.0577,379.342C91.8093,378.805,91.3892,378.261,91.0442,377.783C90.6623,377.254,90.2346,376.864,89.9386,376.224C89.8333,375.997,89.6903,375.633,89.8463,375.399C89.8961,375.241,89.9661,375.175,90.1229,375.124C90.3901,374.919,91.1343,375.192,91.4126,375.307C92.1515,375.613,92.768,375.904,93.3937,376.316C93.6942,376.514,93.998,376.898,94.361,377.004L94.7756,377.004C95.4241,377.152,96.1507,377.05,96.7565,377.233C97.8274,377.557,98.7871,378.061,99.6585,378.608C102.314,380.277,104.485,382.652,105.97,385.485C106.209,385.942,106.312,386.377,106.523,386.861C106.947,387.837,107.482,388.841,107.905,389.795C108.326,390.747,108.737,391.708,109.333,392.5C109.646,392.917,110.856,393.14,111.406,393.371C111.791,393.533,112.423,393.702,112.788,393.921C113.485,394.34,114.161,394.838,114.815,395.297C115.142,395.526,116.147,396.029,116.197,396.443L116.197,396.443Z" fill="#00618A" transform="translate(103.696,388.499) translate(-103.696,-388.499)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M95.6047,378.975C95.2669,378.969,95.028,379.012,94.7754,379.067L94.7754,379.113L94.8216,379.113C94.9827,379.442,95.2669,379.654,95.4664,379.938C95.6199,380.259,95.7735,380.58,95.9272,380.901L95.9731,380.855C96.2584,380.655,96.3891,380.335,96.3877,379.846C96.2734,379.727,96.2564,379.576,96.1574,379.434C96.0257,379.243,95.7708,379.135,95.6047,378.975L95.6047,378.975Z" fill="#00618A" transform="translate(95.5816,379.938) translate(-95.5816,-379.938)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M115.115,409.651C115.115,410.806,116.032,411.584,117.058,411.584C118.083,411.584,119,410.806,119,409.651C119,408.497,118.083,407.718,117.058,407.718C116.032,407.718,115.115,408.497,115.115,409.651L115.115,409.651ZM118.565,409.651C118.565,410.527,117.892,411.182,117.058,411.182C116.214,411.182,115.551,410.527,115.551,409.651C115.551,408.775,116.213,408.12,117.058,408.12C117.892,408.12,118.565,408.775,118.565,409.651ZM117.581,410.754L118.016,410.754L117.379,409.785C117.721,409.749,117.98,409.584,117.98,409.182C117.98,408.734,117.695,408.548,117.146,408.548L116.281,408.548L116.281,410.754L116.654,410.754L116.654,409.801L117.001,409.801L117.581,410.754L117.581,410.754ZM116.654,409.491L116.654,408.857L117.084,408.857C117.307,408.857,117.576,408.899,117.576,409.156C117.576,409.466,117.332,409.491,117.052,409.491L116.654,409.491L116.654,409.491Z" fill="#E48E00" transform="translate(117.058,409.651) translate(-117.058,-409.651)"/>
@@ -705,7 +715,6 @@
var release = data[0];
const releaseSpan = document.getElementById("releaseVersion");
releaseSpan.innerText = release.name;
console.log(release);
});
}

View File

@@ -125,9 +125,7 @@ dokku network:info test-network
### Routing an app to a known ip:port combination
> New as of 0.25.0
In some cases, it may be necessary to route an app to an existing `$IP:$PORT` combination. This is particularly the case for internal admin tools or services that aren't run by Dokku but have a web ui that would benefit from being exposed by Dokku. This can be done by setting a value for `static-web-lister` and running a few other commands when creating an app.
In some cases, it may be necessary to route an app to an existing `$IP:$PORT` combination. This is particularly the case for internal admin tools or services that aren't run by Dokku but have a web ui that would benefit from being exposed by Dokku. This can be done by using a proxy application and routing requests through that.
```shell
# for a service listening on:
@@ -137,25 +135,23 @@ In some cases, it may be necessary to route an app to an existing `$IP:$PORT` co
# create the app
dokku apps:create local-app
# set the builder to the null builder, which does nothing
dokku builder:set local-app selected null
# add an extra host that maps host.docker.internal to the docker gateway
dokku docker-options:add local-app deploy "--add-host=host.docker.internal:host-gateway"
# set the scheduler to the null scheduler, which does nothing
dokku scheduler:set local-app selected null
# set the SERVICE_HOST to the mapped hostname
dokku config:set local-app SERVICE_HOST=host.docker.internal
# set the static-web-listener network property to the ip:port combination for your app.
dokku network:set local-app static-web-listener 127.0.0.1:8080
# set the port map as desired for the port specified in your static-web-listener
dokku proxy:ports-set local-app http:80:8080
# set the SERVICE_PORT to the port combination for your app
dokku config:set local-app SERVICE_PORT=8080
# set the domains desired
dokku domains:set local-app local-app.dokku.me
dokku proxy:build-config local-app
# deploy the service-proxy image
dokku git:from-image local-app dokku/service-proxy:latest
```
Only a single `$IP:$PORT` combination can be routed to for a given app, and that `$IP:$PORT` combination _must_ be accessible to the proxy, or requests to the app may not resolve.
Only a single `$IP:$PORT` combination can be routed to for a given app, and that `$IP:$PORT` combination _must_ be accessible to the service proxy on initial deploy, or the service proxy won't start.
### Attaching an app to a network
@@ -165,15 +161,25 @@ Apps will default to being associated with the default `bridge` network or a net
```shell
# associates the network after a container is created but before it is started
# commonly used for cross-app networking
dokku network:set node-js-app attach-post-create test-network
# associates the network after the deploy is successful but before the proxy is updated
# used for cross-app networking when healthchecks must be invoked first
dokku network:set node-js-app attach-post-deploy other-test-network
# associates the network at container creation
# typically blocks access to services and external routing
dokku network:set node-js-app initial-network global-network
```
Multiple networks can also be specified for the `attach-post-create` and `attach-post-deploy` phases.
```shell
# one or more networks can be specified
dokku network:set node-js-app attach-post-create test-network test-network-2
```
Setting the `attach` network property to an empty value will de-associate the container with the network.
```shell
@@ -200,7 +206,9 @@ dokku network:set --global initial-network
#### Network Aliases
When a container created for a deployment is being attached to a network - regardless of which `attach` property was used - a network alias of the pattern `APP.PROC_TYPE` will be added to all containers. This can be used to load-balance requests between containers. For an application named `node-js-app` with a process type of web, the network alias - or resolvable DNS record within the network - will be:
> Note: This feature is only available when an app has been attached to a network other than the default `bridge` network.
When a container created for a deployment is being attached to a network - regardless of which network property was used - a network alias of the pattern `APP.PROC_TYPE` will be added to all containers. This can be used to load-balance requests between containers. For an application named `node-js-app` with a process type of web, the network alias - or resolvable DNS record within the network - will be:
```
node-js-app.web
@@ -262,27 +270,27 @@ Containers can be attached to a network for a variety of reasons:
Whatever the reason, the semantics of the two network hooks are important and are outlined before.
- `attach-post-create`:
- Phase it applies to:
- `build`: Intermediate containers created during the build process.
- `deploy`: Deployed app containers.
- `run`: Containers created by the `run` command.
- Container state on attach: `created` but not `running`
- Use case: When the container needs to access a resource on the network.
- Example: The app needs to talk to a database on the same network when it first boots.
- Phase it applies to:
- `build`: Intermediate containers created during the build process.
- `deploy`: Deployed app containers.
- `run`: Containers created by the `run` command.
- Container state on attach: `created` but not `running`
- Use case: When the container needs to access a resource on the network.
- Example: The app needs to talk to a database on the same network when it first boots.
- `attach-post-deploy`
- Phase it applies to:
- `deploy`: Deployed app containers.
- Container state on attach: `running`
- Use case: When another container on the network needs to access _this_ container.
- Example: A background process needs to communicate with the web process exposed by this container.
- Phase it applies to:
- `deploy`: Deployed app containers.
- Container state on attach: `running`
- Use case: When another container on the network needs to access _this_ container.
- Example: A background process needs to communicate with the web process exposed by this container.
- `initial-network`:
- Phase it applies to:
- `build`: Intermediate containers created during the build process.
- `deploy`: Deployed app containers.
- `run`: Containers created by the `run` command.
- Container state on attach: `created`
- Use case: When another container on the network is already running and needed by this container.
- Example: A key-value store exposing itself to all your apps may be on the `initial-network`.
- Phase it applies to:
- `build`: Intermediate containers created during the build process.
- `deploy`: Deployed app containers.
- `run`: Containers created by the `run` command.
- Container state on attach: `created`
- Use case: When another container on the network is already running and needed by this container.
- Example: A key-value store exposing itself to all your apps may be on the `initial-network`.
> Warning: If the attachment fails during the `running` container state, this may result in your application failing to respond to proxied requests once older containers are removed.

View File

@@ -1,37 +1,52 @@
# Port Management
> New as of 0.5.0, Enhanced in 0.6.0
> New as of 0.31.0, replaces the previous `proxy:ports*` commands
```
proxy:ports <app> # List proxy port mappings for an app
proxy:ports-add <app> <scheme>:<host-port>:<container-port> [<scheme>:<host-port>:<container-port>...] # Add proxy port mappings to an app
proxy:ports-clear <app> # Clear all proxy port mappings for an app
proxy:ports-remove <app> <host-port> [<host-port>|<scheme>:<host-port>:<container-port>...] # Remove specific proxy port mappings from an app
proxy:ports-set <app> <scheme>:<host-port>:<container-port> [<scheme>:<host-port>:<container-port>...] # Set proxy port mappings for an app
ports:list <app> # List port mappings for an app
ports:add <app> <scheme>:<host-port>:<container-port> [<scheme>:<host-port>:<container-port>...] # Add port mappings to an app
ports:clear <app> # Clear all port mappings for an app
ports:remove <app> <host-port> [<host-port>|<scheme>:<host-port>:<container-port>...] # Remove specific port mappings from an app
ports:set <app> <scheme>:<host-port>:<container-port> [<scheme>:<host-port>:<container-port>...] # Set port mappings for an app
```
In Dokku 0.5.0, port proxying was decoupled from the `nginx-vhosts` plugin into the proxy plugin. Dokku 0.6.0 introduced the ability to map host ports to specific container ports. In the future this will allow other proxy software - such as HAProxy or Caddy - to be used in place of nginx.
## Usage
> Warning: Mapping alternative ports may conflict with the active firewall installed on your server or hosting provider. Such software includes - but is not limited to - AWS Security Groups, iptables, and UFW. Please consult the documentation for those softwares as applicable.
>
> Users should also avoid setting the `PORT` environment variable. Dokku will use port mappings to set this value. Overriding this manually may cause issues in application routing.
> New as of 0.6.0
You can now configure `host -> container` port mappings with the `proxy:ports-*` commands. This mapping is currently supported by the built-in nginx-vhosts plugin.
You can now configure `host -> container` port mappings with the `ports:*` commands. This mapping is currently supported by the built-in nginx-vhosts plugin.
By default, buildpack apps and dockerfile apps **without** explicitly exposed ports (i.e. using the `EXPOSE` directive) will be configured with a listener on port `80` (and additionally a listener on 443 if ssl is enabled) that will proxy to the application container on port `5000`. Dockerfile apps **with** explicitly exposed ports will be configured with a listener on each exposed port and will proxy to that same port of the deployed application container.
> Note: This default behavior **will not** be automatically changed on subsequent pushes and must be manipulated with the `proxy:ports-*` commands detailed below.
> Note: This default behavior **will not** be automatically changed on subsequent pushes and must be manipulated with the `ports:*` commands detailed below.
### Port Scheme
The proxy port scheme is as follows:
- `SCHEME:HOST_PORT:CONTAINER_PORT`
The scheme metadata can be used by proxy implementations in order to properly handle proxying of requests. For example, the built-in `nginx-vhosts` proxy implementation supports the `http`, `https`, `grpc` and `grpcs` schemes.
For the `grpc` and `grpcs` see [nginx blog post on grpc](https://www.nginx.com/blog/nginx-1-13-10-grpc/).
Developers of proxy implementations are encouraged to use whatever schemes make the most sense, and ignore configurations which they do not support. For instance, a `udp` proxy implementation can safely ignore `http` and `https` port mappings.
To change the proxy implementation in use for an application, use the `proxy:set` command:
```shell
# no validation will be performed against
# the specified proxy implementation
dokku proxy:set node-js-app nginx
```
### Listing port mappings
To inspect the port mapping for a given application, use the `proxy:ports` command:
To inspect the port mapping for a given application, use the `ports:list` command:
```shell
dokku proxy:ports node-js-app
dokku ports:list node-js-app
```
```
@@ -62,15 +77,13 @@ curl http://node-js-app.dokku.me:8080
curl: (7) Failed to connect to node-js-app.dokku.me port 8080: Connection refused
```
However, we can use the `proxy:ports-add` command to add a second external port mapping - `8080` - to our application's port `5000`.
However, we can use the `ports:add` command to add a second external port mapping - `8080` - to our application's port `5000`.
```shell
dokku proxy:ports-add node-js-app http:8080:5000
dokku ports:add node-js-app http:8080:5000
```
```
-----> Setting config vars
DOKKU_PROXY_PORT_MAP: http:80:5000 http:8080:5000
-----> Configuring node-js-app.dokku.me...(using built-in template)
-----> Creating http nginx.conf
Reloading nginx
@@ -98,15 +111,13 @@ Hello World!
### Setting all port mappings at once
Port mappings can also be force set using the `proxy:ports-set` command.
Port mappings can also be force set using the `ports:set` command.
```shell
dokku proxy:ports-set node-js-app http:8080:5000
dokku ports:set node-js-app http:8080:5000
```
```
-----> Setting config vars
DOKKU_PROXY_PORT_MAP: http:80:5000 http:8080:5000
-----> Configuring node-js-app.dokku.me...(using built-in template)
-----> Creating http nginx.conf
Reloading nginx
@@ -114,21 +125,21 @@ dokku proxy:ports-set node-js-app http:8080:5000
### Removing a port mapping
A port mapping can be removed using the `proxy:ports-remove` command if it no longer necessary:
A port mapping can be removed using the `ports:remove` command if it no longer necessary:
```shell
dokku proxy:ports-remove node-js-app http:80:5000
dokku ports:remove node-js-app http:80:5000
```
Ports may also be removed by specifying only the `host-port` value. This effectively acts as a wildcard and removes all mappings for that particular host port.
```shell
dokku proxy:ports-remove node-js-app http:80
dokku ports:remove node-js-app http:80
```
## Port management by Deployment Method
> Warning: If you set a proxy port map but _do not have a global domain set_, Dokku will reset that map upon first deployment.
> Warning: If you set a port map but _do not have a global domain set_, Dokku will reset that map upon first deployment.
### Buildpacks
@@ -138,7 +149,7 @@ For buildpack deployments, your application _must_ respect the `PORT` environmen
> Changed as of 0.5.0
Dokku's default proxy implementation - nginx - supports HTTP and GRPC request proxying. At this time, we do not support proxying plain TCP or UDP ports. UDP ports can be exposed by disabling the nginx proxy with `dokku proxy:disable myapp`. If you would like to investigate alternative proxy methods, please refer to our [proxy management documentation](/docs/networking/proxy-management.md).
Dokku's default proxy implementation - nginx - supports HTTP and GRPC request proxying. At this time, we do not support proxying plain TCP or UDP ports. UDP ports can be exposed by disabling the nginx proxy with `dokku proxy:disable myapp` and manually exposing the ports via the `docker-options` plugin. For example, `dokku docker-options:add myapp deploy "-p 2456:2456/udp"`. If you would like to investigate alternative proxy methods, please refer to our [proxy management documentation](/docs/networking/proxy-management.md).
#### Applications using EXPOSE
@@ -147,7 +158,7 @@ Dokku will extract all tcp ports exposed using the `EXPOSE` directive (one port
For example, if the Dokku installation is configured with the domain `dokku.me` and an application named `node-js-app` is deployed with following Dockerfile:
```
FROM ubuntu:18.04
FROM ubuntu:20.04
EXPOSE 1234
RUN python -m SimpleHTTPServer 1234
```
@@ -156,10 +167,10 @@ The application would be exposed to the user at `node-js-app.dokku.me:1234`. If
```shell
# add a port mapping to port 80
dokku proxy:ports-add node-js-app http:80:1234
dokku ports:add node-js-app http:80:1234
# remove the incorrect port mapping
dokku proxy:ports-remove node-js-app http:1234:1234
dokku ports:remove node-js-app http:1234:1234
```
#### Applications not using EXPOSE
@@ -169,24 +180,40 @@ Any application that does not use an `EXPOSE` directive will result in Dokku def
- modify your application to support the `PORT` environment variable.
- switch to using an `EXPOSE` directive in your Dockerfile.
#### Switching between `EXPOSE` usage modes
### Displaying ports reports for an app
When switching between `EXPOSE` usage modes, it is important to reset your port management. The following two commands can be used to reset your state and redeploy your application.
You can get a report about the app's ports status using the `ports:report` command:
```shell
# assuming your application is called `node-js-app`
dokku config:unset --no-restart node-js-app DOKKU_DOCKERFILE_PORTS PORT
dokku proxy:ports-clear node-js-app
dokku ports:report
```
### Docker Image
```
=====> node-js-app ports information
Port map detected: http:80:5000
Port map: http:80:5000 https:443:5000
=====> python-sample ports information
Port map detected: http:80:5000
Port map: http:80:5000
=====> ruby-sample ports information
Port map detected: http:80:5000
Port map: http:80:5000
```
When deploying an image, we will use `docker inspect` to extract the `ExposedPorts` configuration and if defined, use that to populate port mapping. If this behavior is not desired, you can override that configuration variable with the following commands.
You can run the command for a specific app also.
```shell
# assuming your application is called `node-js-app`
dokku config:set node-js-app DOKKU_DOCKERFILE_PORTS="1234/tcp 80/tcp"
dokku proxy:ports-clear node-js-app
dokku ports:report node-js-app
```
All other port-related behavior is the same as when deploying via Dockerfile.
```
=====> node-js-app ports information
Port map detected: http:80:5000
Port map: http:80:5000 https:443:5000
```
You can pass flags which will output only the value of the specific information you want. For example:
```shell
dokku ports:report node-js-app --ports-map
```

View File

@@ -103,7 +103,7 @@ You can use these modifiers as follows:
dokku caddy:logs --tail --num 10
```
The above command will show logs continually from the vector container, with an initial history of 10 log lines
The above command will show logs continually from the caddy container, with an initial history of 10 log lines
### Changing the Caddy log level

View File

@@ -0,0 +1,170 @@
# Haproxy Proxy
> New as of 0.28.0
Dokku provides integration with the [Haproxy](http://www.haproxy.org) proxy service by utilizing the Docker label-based integration implemented by [EasyHaproxy](https://github.com/byjg/docker-easy-haproxy).
```
haproxy:report [<app>] [<flag>] # Displays a haproxy report for one or more apps
haproxy:logs [--num num] [--tail] # Display haproxy log output
haproxy:set <app> <property> (<value>) # Set or clear an haproxy property for an app
haproxy:show-config <app> # Display haproxy compose config
haproxy:start # Starts the haproxy server
haproxy:stop # Stops the haproxy server
```
## Requirements
Using the `haproxy` plugin integration requires the `docker-compose-plugin` for Docker. See [this document](https://docs.docker.com/compose/install/) from the Docker documentation for more information on the installation process for the `docker-compose-plugin`.
## Usage
> Warning: As using multiple proxy plugins on a single Dokku installation can lead to issues routing requests to apps, doing so should be avoided. As the default proxy implementation is nginx, users are encouraged to stop the nginx service before switching to Haproxy.
The Haproxy plugin has specific rules for routing requests:
- Haproxy integration is exposed via docker labels attached to containers. Changes in labels require either app deploys or rebuilds.
- While Haproxy will respect labels associated with other containers, only `web` containers have Haproxy labels injected by the plugin.
- Only `http:80` and `https:443` port mappings are supported at this time.
- Requests are routed as soon as the container is running and passing healthchecks.
### Switching to Haproxy
To use the Haproxy plugin, use the `proxy:set` command for the app in question:
```shell
dokku proxy:set node-js-app haproxy
```
This will enable the docker label-based Haproxy integration. All future deploys will inject the correct labels for Haproxy to read and route requests to containers. Due to the docker label-based integration used by Haproxy, a single deploy or rebuild will be required before requests will route successfully.
```shell
dokku ps:rebuild node-js-app
```
Any changes to domains or port mappings will also require either a deploy or rebuild.
### Starting Haproxy container
Haproxy can be started via the `haproxy:start` command. This will start a Haproxy container via the `docker compose up` command.
```shell
dokku haproxy:start
```
### Stopping the Haproxy container
Haproxy may be stopped via the `haproxy:stop` command.
```shell
dokku haproxy:stop
```
The Haproxy container will be stopped and removed from the system. If the container is not running, this command will do nothing.
### Showing the Haproxy compose config
For debugging purposes, it may be useful to show the Haproxy compose config. This can be achieved via the `haproxy:show-config` command.
```shell
dokku haproxy:show-config
```
### Customizing the Haproxy container image
While the default Haproxy image is hardcoded, users may specify an alternative by setting the `image` property with the `--global` flag:
```shell
dokku haproxy:set --global image byjg/easy-haproxy:4.0.0
```
#### Checking the Haproxy container's logs
It may be necessary to check the Haproxy container's logs to ensure that Haproxy is operating as expected. This can be performed with the `haproxy:logs` command.
```shell
dokku haproxy:logs
```
This command also supports the following modifiers:
```shell
--num NUM # the number of lines to display
--tail # continually stream logs
```
You can use these modifiers as follows:
```shell
dokku haproxy:logs --tail --num 10
```
The above command will show logs continually from the vector container, with an initial history of 10 log lines
### Changing the Haproxy log level
Haproxy log output is set to `ERROR` by default. It may be changed by setting the `log-level` property with the `--global` flag:
```shell
dokku haproxy:set --global log-level DEBUG
```
After modifying, the Haproxy container will need to be restarted.
### SSL Configuration
The haproxy plugin only supports automatic ssl certificates from it's letsencrypt integration. Managed certificates provided by the `certs` plugin are ignored.
#### Enabling letsencrypt integration
By default, letsencrypt is disabled and https port mappings are ignored. To enable, set the `letsencrypt-email` property with the `--global` flag:
```shell
dokku haproxy:set --global letsencrypt-email automated@dokku.sh
```
After enabling, the Haproxy container will need to be restarted and apps will need to be rebuilt. All http requests will then be redirected to https.
#### Customizing the letsencrypt server
The letsencrypt integration is set to the production letsencrypt server by default. To change this, set the `letsencrypt-server` property with the `--global` flag:
```shell
dokku haproxy:set --global letsencrypt-server https://acme-staging-v02.api.letsencrypt.org/directory
```
After enabling, the Haproxy container will need to be restarted and apps will need to be rebuilt to retrieve certificates from the new server.
## Displaying Haproxy reports for an app
You can get a report about the app's Haproxy config using the `haproxy:report` command:
```shell
dokku haproxy:report
```
```
=====> node-js-app haproxy information
Haproxy image: byjg/easy-haproxy:4.0.0
=====> python-app haproxy information
Haproxy image: byjg/easy-haproxy:4.0.0
=====> ruby-app haproxy information
Haproxy image: byjg/easy-haproxy:4.0.0
```
You can run the command for a specific app also.
```shell
dokku haproxy:report node-js-app
```
```
=====> node-js-app haproxy information
Haproxy image: byjg/easy-haproxy:4.0.0
```
You can pass flags which will output only the value of the specific information you want. For example:
```shell
dokku haproxy:report node-js-app --haproxy-image
```

View File

@@ -33,7 +33,7 @@ The nginx server can be started via `nginx:start`.
```shell
dokku nginx:start
````
```
### Stopping nginx
@@ -43,7 +43,7 @@ The nginx server can be stopped via `nginx:stop`.
```shell
dokku nginx:stop
````
```
### Binding to specific addresses
@@ -107,6 +107,42 @@ Once the HSTS setting is disabled globally, it can be re-enabled on a per-app ba
dokku nginx:set node-js-app hsts true
```
### Running behind another proxy — configuring `X-Forwarded-*` headers:
Dokku's default Nginx configuration passes the de-facto standard HTTP headers [`X-Forwarded-For`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For), [`X-Forwarded-Proto`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Proto), and `X-Forwarded-Port` to your application.
These headers indicate the IP address of the original client making the request, the protocol of the original request (HTTP or HTTPS), and the port number of the original request, respectively.
If you have another HTTP proxy sitting in between the end user and your server (for example, a load balancer, or a CDN), then the values of these headers will contain information about (e.g. the IP address of) the the closest proxy, and not the end user.
To fix this, assuming that the other proxy also passes `X-Forwarded-*` headers, which in turn contain information about the end user, you can tell Nginx include those values in the `X-Forwarded-*` headers that it sends to your application. You can do this via `nginx:set`, like so:
```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'
```
However, note that you should only do this if:
1. Requests to your website always go through a trusted proxy.
2. That proxy is configured to send the aforementioned `X-Forwarded-*` headers.
Otherwise, if it's possible for clients to make HTTP requests directly against your server, bypassing the other proxy, or if the other proxy is not configured to set these headers, then a client can basically pass any arbitrary values for these headers (which your app then presumably reads) and thereby fake an IP address, for example.
There's also the `X-Forwarded-Ssl` header which a less common alternative to `X-Forwarded-Proto` — and because of that, isn't included in Dokku's default Nginx configuration.
But you can tell Nginx to send this header as well, if necessary.
```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 off
# removing the value from nginx.conf (default)
dokku nginx:set node-js-app x-forwarded-ssl
```
### Checking access logs
> Note: Changing this value globally or on a per-app basis will require rebuilding the nginx config via the `proxy:build-config` command.
@@ -293,14 +329,17 @@ Dokku uses a templating library by the name of [sigil](https://github.com/glider
When deploying a monorepo, it may be desirable to specify the specific path of the `nginx.conf.sigil` file to use for a given app. This can be done via the `nginx:set` command. If a value 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 `nginx.conf.sigil`.
For deploys via the `git:from-image` and `git:load-image` commands, the `nginx.conf.sigil` is extracted from the configured `WORKDIR` property of the image. For all other deploys - git push, `git:from-archive`, `git:sync` - will have the `nginx.conf.sigil` extracted directly from the source code. Both cases will respect the configured `nginx-conf-sigil-path` property value.
```shell
dokku nginx:set node-js-app nginx-conf-sigil-path dokku/nginx.conf.sigil
dokku nginx:set node-js-app nginx-conf-sigil-path .dokku/nginx.conf.sigil
```
This property can also be changed globally, which will take into effect if there is no value at the app level.
```shell
dokku nginx:set --global nginx-conf-sigil-path dokku/nginx.conf.sigil
dokku nginx:set --global nginx-conf-sigil-path .dokku/nginx.conf.sigil
```
In either case, the value can be reset by specifying an empty value.
@@ -337,9 +376,8 @@ Unsetting this value is the same as enabling custom nginx config usage.
{{ .PROXY_PORT }} Non-SSL nginx listener port (same as `DOKKU_PROXY_PORT` config var)
{{ .PROXY_SSL_PORT }} SSL nginx listener port (same as `DOKKU_PROXY_SSL_PORT` config var)
{{ .NOSSL_SERVER_NAME }} List of non-SSL VHOSTS
{{ .PROXY_PORT_MAP }} List of port mappings (same as `DOKKU_PROXY_PORT_MAP` config var)
{{ .PROXY_UPSTREAM_PORTS }} List of configured upstream ports (derived from `DOKKU_PROXY_PORT_MAP` config var)
{{ .RAW_TCP_PORTS }} List of exposed tcp ports as defined by Dockerfile `EXPOSE` directive (**Dockerfile apps only**)
{{ .PROXY_PORT_MAP }} List of port mappings (same as the `map` ports property)
{{ .PROXY_UPSTREAM_PORTS }} List of configured upstream ports (derived from the `map` ports property)
{{ .SSL_INUSE }} Boolean set when an app is SSL-enabled
{{ .SSL_SERVER_NAME }} List of SSL VHOSTS
```
@@ -397,7 +435,17 @@ These are provided as an alternative to the generic Nginx error page, are shared
### Default site
By default, Dokku will route any received request with an unknown HOST header value to the lexicographically first site in the nginx config stack. If this is not the desired behavior, you may want to add the following configuration to the global nginx configuration.
By default, Dokku will route any received request with an unknown HOST header value to the lexicographically first site in the nginx config stack. This means that accessing the dokku server via its IP address or a bogus domain name may return a seemingly random website.
> Warning: some versions of Nginx may create a default site when installed. This site is simply a static page which says "Welcome to Nginx", and if this default site is enabled, Nginx will not route any requests with an unknown HOST header to Dokku. If you want Dokku to receive all requests, run the following commands:
>
> ```
> rm /etc/nginx/sites-enabled/default
> dokku nginx:stop
> dokku nginx:start
> ```
If services should only be accessed via their domain name, you may want to disable the default site by adding the following configuration to the global nginx configuration.
Create the file at `/etc/nginx/conf.d/00-default-vhost.conf`:
@@ -406,34 +454,28 @@ server {
listen 80 default_server;
listen [::]:80 default_server;
# If services hosted by dokku are available via HTTPS, it is recommended
# to also uncomment the following section.
#
# Please note that in order to let this work, you need an SSL certificate. However
# it does not need to be valid. Users of Debian-based distributions can install the
# `ssl-cert` package with `sudo apt install ssl-cert` to automatically generate
# a self-signed certificate that is stored at `/etc/ssl/certs/ssl-cert-snakeoil.pem`.
#
#listen 443 ssl;
#listen [::]:443 ssl;
#ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
#ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
server_name _;
access_log off;
return 410;
return 444;
}
# To handle HTTPS requests, you can uncomment the following section.
#
# Please note that in order to let this work as expected, you need a valid
# SSL certificate for any domains being served. Browsers will show SSL
# errors in all other cases.
#
# Note that the key and certificate files in the below example need to
# be copied into /etc/nginx/ssl/ folder.
#
# server {
# listen 443 ssl;
# listen [::]:443 ssl;
# server_name _;
# ssl_certificate /etc/nginx/ssl/cert.crt;
# ssl_certificate_key /etc/nginx/ssl/cert.key;
# access_log off;
# return 410;
# }
```
Make sure to reload nginx after creating this file by running `service nginx reload`.
Make sure to reload nginx after creating this file by running `systemctl reload nginx.service`.
This will catch all unknown HOST header values and return a `410 Gone` response. You can replace the `return 410;` with `return 444;` which will cause nginx to not respond to requests that do not match known domains (connection refused).
This will catch all unknown HOST header values and close the connection without responding. You can replace the `return 444;` with `return 410;` which will cause nginx to respond with an error page.
The configuration file must be loaded before `/etc/nginx/conf.d/dokku.conf`, so it can not be arranged as a vhost in `/etc/nginx/sites-enabled` that is only processed afterwards.
@@ -453,10 +495,6 @@ See the [customizing hostnames documentation](/docs/configuration/domains.md#cus
See the [disabling vhosts documentation](/docs/configuration/domains.md#disabling-vhosts) for more information on how to disable domain usage for your app.
### Running behind a load balancer
See the [load balancer documentation](/docs/configuration/ssl.md#running-behind-a-load-balancer) for more information on how to configure your nginx config for running behind a network load balancer.
### SSL Configuration
See the [ssl documentation](/docs/configuration/ssl.md) for more information on how to configure SSL certificates for your application.
@@ -467,7 +505,7 @@ See the [proxy documentation](/docs/networking/proxy-management.md) for more inf
### Managing Proxy Port mappings
See the [proxy documentation](/docs/networking/proxy-management.md#proxy-port-mapping) for more information on how to manage ports proxied for your app.
See the [ports documentation](/docs/networking/port-management.md) for more information on how to manage ports proxied for your app.
### Regenerating nginx config

View File

@@ -0,0 +1,164 @@
# OpenResty Proxy
> New as of 0.31.0
Dokku can provide integration with the [OpenResty](https://openresty.org/) proxy service by utilizing the Docker label-based integration implemented by [openresty-docker-proxy](https://github.com/dokku/openresty-docker-proxy).
```
openresty:report [<app>] [<flag>] # Displays a openresty report for one or more apps
openresty:logs [--num num] [--tail] # Display openresty log output
openresty:set <app> <property> (<value>) # Set or clear an openresty property for an app
openresty:show-config <app> # Display openresty compose config
openresty:start # Starts the openresty server
openresty:stop # Stops the openresty server
```
## Requirements
Using the `openresty` plugin integration requires the `docker-compose-plugin` for Docker. See [this document](https://docs.docker.com/compose/install/) from the Docker documentation for more information on the installation process for the `docker-compose-plugin`.
## Usage
> Warning: As using multiple proxy plugins on a single Dokku installation can lead to issues routing requests to apps, doing so should be avoided. As the default proxy implementation is nginx, users are encouraged to stop the nginx service before switching to OpenResty.
The OpenResty plugin has specific rules for routing requests:
- OpenResty integration is exposed via docker labels attached to containers. Changes in labels require either app deploys or rebuilds.
- While OpenResty will respect labels associated with other containers, only `web` containers have OpenResty labels injected by the plugin.
- Only `http:80` and `https:443` port mappings are supported at this time.
- Requests are routed as soon as the container is running and passing healthchecks.
### Switching to OpenResty
To use the OpenResty plugin, use the `proxy:set` command for the app in question:
```shell
dokku proxy:set node-js-app openresty
```
This will enable the docker label-based OpenResty integration. All future deploys will inject the correct labels for OpenResty to read and route requests to containers. Due to the docker label-based integration used by OpenResty, a single deploy or rebuild will be required before requests will route successfully.
```shell
dokku ps:rebuild node-js-app
```
Any changes to domains or port mappings will also require either a deploy or rebuild.
### Starting OpenResty container
OpenResty can be started via the `openresty:start` command. This will start a OpenResty container via the `docker compose up` command.
```shell
dokku openresty:start
```
### Stopping the OpenResty container
OpenResty may be stopped via the `openresty:stop` command.
```shell
dokku openresty:stop
```
The OpenResty container will be stopped and removed from the system. If the container is not running, this command will do nothing.
### Showing the OpenResty compose config
For debugging purposes, it may be useful to show the OpenResty compose config. This can be achieved via the `openresty:show-config` command.
```shell
dokku openresty:show-config
```
### Customizing the OpenResty container image
While the default OpenResty image is hardcoded, users may specify an alternative by setting the `image` property with the `--global` flag:
```shell
dokku openresty:set --global image dokku/openresty-docker-proxy:0.5.6
```
#### Checking the OpenResty container's logs
It may be necessary to check the OpenResty container's logs to ensure that OpenResty is operating as expected. This can be performed with the `openresty:logs` command.
```shell
dokku openresty:logs
```
This command also supports the following modifiers:
```shell
--num NUM # the number of lines to display
--tail # continually stream logs
```
You can use these modifiers as follows:
```shell
dokku openresty:logs --tail --num 10
```
The above command will show logs continually from the openresty container, with an initial history of 10 log lines
### SSL Configuration
The OpenResty plugin only supports automatic ssl certificates from it's letsencrypt integration. Managed certificates provided by the `certs` plugin are ignored.
#### Enabling letsencrypt integration
By default, letsencrypt is disabled and https port mappings are ignored. To enable, set the `letsencrypt-email` property with the `--global` flag:
```shell
dokku openresty:set --global letsencrypt-email automated@dokku.sh
```
After enabling, the OpenResty container will need to be restarted and apps will need to be rebuilt. All http requests will then be redirected to https.
#### Customizing the letsencrypt server
The letsencrypt integration is set to the production letsencrypt server by default. To change this, set the `letsencrypt-server` property with the `--global` flag:
```shell
dokku openresty:set --global letsencrypt-server https://acme-staging-v02.api.letsencrypt.org/directory
```
After enabling, the OpenResty container will need to be restarted and apps will need to be rebuilt to retrieve certificates from the new server.
## Displaying OpenResty reports for an app
You can get a report about the app's OpenResty config using the `openresty:report` command:
```shell
dokku openresty:report
```
```
=====> node-js-app openresty information
Openresty image: dokku/openresty-docker-proxy:0.5.6
Openresty letsencrypt email: automated@dokku.sh
=====> python-app openresty information
Openresty image: dokku/openresty-docker-proxy:0.5.6
Openresty letsencrypt email: automated@dokku.sh
=====> ruby-app openresty information
Openresty image: dokku/openresty-docker-proxy:0.5.6
Openresty letsencrypt email: automated@dokku.sh
```
You can run the command for a specific app also.
```shell
dokku openresty:report node-js-app
```
```
=====> node-js-app openresty information
Openresty image: dokku/openresty-docker-proxy:0.5.6
Openresty letsencrypt email: automated@dokku.sh
```
You can pass flags which will output only the value of the specific information you want. For example:
```shell
dokku openresty:report node-js-app --openresty-letsencrypt-email
```

View File

@@ -102,7 +102,7 @@ You can use these modifiers as follows:
dokku traefik:logs --tail --num 10
```
The above command will show logs continually from the vector container, with an initial history of 10 log lines
The above command will show logs continually from the traefik container, with an initial history of 10 log lines
### Changing the Traefik log level

View File

@@ -73,15 +73,12 @@ dokku proxy:report
=====> node-js-app proxy information
Proxy enabled: true
Proxy type: nginx
Proxy port map: http:80:5000 https:443:5000
=====> python-sample proxy information
Proxy enabled: true
Proxy type: nginx
Proxy port map: http:80:5000
=====> ruby-sample proxy information
Proxy enabled: true
Proxy type: nginx
Proxy port map: http:80:5000
```
You can run the command for a specific app also.
@@ -94,7 +91,6 @@ dokku proxy:report node-js-app
=====> node-js-app proxy information
Proxy enabled: true
Proxy type: nginx
Proxy port map: http:80:5000 https:443:5000
```
You can pass flags which will output only the value of the specific information you want. For example:
@@ -105,22 +101,7 @@ dokku proxy:report node-js-app --proxy-type
#### Proxy Port Scheme
The proxy port scheme is as follows:
- `SCHEME:HOST_PORT:CONTAINER_PORT`
The scheme metadata can be used by proxy implementations in order to properly handle proxying of requests. For example, the built-in `nginx-vhosts` proxy implementation supports the `http`, `https`, `grpc` and `grpcs` schemes.
For the `grpc` and `grpcs` see [nginx blog post on grpc](https://www.nginx.com/blog/nginx-1-13-10-grpc/).
Developers of proxy implementations are encouraged to use whatever schemes make the most sense, and ignore configurations which they do not support. For instance, a `udp` proxy implementation can safely ignore `http` and `https` port mappings.
To change the proxy implementation in use for an application, use the `proxy:set` command:
```shell
# no validation will be performed against
# the specified proxy implementation
dokku proxy:set node-js-app nginx
```
See the [port scheme documentation](/docs/networking/port-management.md#port-scheme) for more information on the port mapping scheme used by dokku.
### Proxy port mapping
@@ -136,7 +117,7 @@ From Dokku versions `0.5.0` until `0.11.0`, enabling or disabling an application
Custom plugins names _must_ have the suffix `-vhosts` or scheduler overriding via `proxy:set` may not function as expected.
At this time, the following dokku commands are used to implement a complete proxy implementation.
At this time, the following dokku commands are used to interact with a complete proxy implementation.
- `domains:add`: Adds a given domain to an app.
- triggers: `post-domains-update`
@@ -158,13 +139,13 @@ At this time, the following dokku commands are used to implement a complete prox
- triggers: `proxy-disable`
- `proxy:enable`: Enables the proxy configuration for an app.
- triggers: `proxy-enable`
- `proxy:ports-add`: Adds one or more port mappings to an app
- `ports:add`: Adds one or more port mappings to an app
- triggers: `post-proxy-ports-update`
- `proxy:ports-clear`: Clears out all port mappings for an app.
- `ports:clear`: Clears out all port mappings for an app.
- triggers: `post-proxy-ports-update`
- `proxy:ports-remove`: Removes one or more port mappings from an app.
- `ports:remove`: Removes one or more port mappings from an app.
- triggers: `post-proxy-ports-update`
- `proxy:ports-set`: Sets all port mappings for an app.
- `ports:set`: Sets all port mappings for an app.
- triggers: `post-proxy-ports-update`
Proxy implementations may decide to omit some functionality here, or use plugin triggers to supplement config with information from other plugins.

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