Compare commits

...

382 Commits

Author SHA1 Message Date
Dokku Bot
90951d73ac Release 0.28.4
# History

## 0.28.4

Install/update via the bootstrap script:

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

### Bug Fixes

- #5423: @josegonzalez Respect PLUGIN_PATH when checking if a plugin trigger exists
- #5425: @josegonzalez Ignore https mappings when no ssl certificate exists

### New Features

- #5424: @josegonzalez Download all src files for go mod dependencies for use in vscode

### Documentation

- #5421: @josegonzalez Document that scaling via app.json will set all other processes to zero

### Tests

- #5422: @josegonzalez Test that build-arg works as expected

### Other

- #5418: @dependabot[bot] chore(deps): bump node from 18-alpine to 19-alpine in /tests/apps/dockerfile-noexpose
- #5417: @dependabot[bot] chore(deps): bump node from 18-alpine to 19-alpine in /tests/apps/dockerfile-procfile-bad
- #5419: @dependabot[bot] chore(deps): bump node from 18-alpine to 19-alpine in /tests/apps/dockerfile-dokku-scale
- #5416: @dependabot[bot] chore(deps): bump node from 18-alpine to 19-alpine in /tests/apps/dockerfile-procfile
- #5415: @dependabot[bot] chore(deps): bump node from 18-alpine to 19-alpine in /tests/apps/dockerfile
- #5413: @dependabot[bot] chore(deps): bump ibiqlik/action-yamllint from 3.1.0 to 3.1.1
2022-10-23 05:42:31 +00:00
Jose Diaz-Gonzalez
82296dcf33 Merge pull request #5423 from dokku/respect-plugin-path
Respect PLUGIN_PATH when checking if a plugin trigger exists
2022-10-23 01:41:35 -04:00
Jose Diaz-Gonzalez
33ea8f5d85 Merge pull request #5425 from dokku/5368-no-https-without-cert
Ignore https mappings when no ssl certificate exists
2022-10-23 01:41:25 -04:00
Jose Diaz-Gonzalez
83b8d02efd fix: correct shfmt issue 2022-10-22 17:51:06 -04:00
Jose Diaz-Gonzalez
576f3f407a fix: ignore pushd/popd errors 2022-10-22 17:50:14 -04:00
Jose Diaz-Gonzalez
4ef260f57a fix: ignore https mappings when no ssl certificate exists
This fixes issues where users may somehow add an https mapping but are missing an ssl certificate, causing nginx to not load properly. We now ignore the mapping and warn users of the misconfiguration.

Closes #5368
2022-10-22 17:47:54 -04:00
Jose Diaz-Gonzalez
d0966ce3d4 Merge pull request #5424 from dokku/vscode-golang-lsp
Download all src files for go mod dependencies for use in vscode
2022-10-22 16:47:04 -04:00
Jose Diaz-Gonzalez
524ce9b7d7 feat: download all src files for go mod dependencies for use in vscode
Without this, the LSP within the container continually complains that the source for go files cannot be found. While this method isn't _exactly_ correct, it does help with development.
2022-10-22 16:46:49 -04:00
Jose Diaz-Gonzalez
b94488f32f fix: set PLUGIN_PATH for golang tests 2022-10-22 15:56:23 -04:00
Jose Diaz-Gonzalez
03f43b602d Merge pull request #5418 from dokku/dependabot/docker/tests/apps/dockerfile-noexpose/node-19-alpine
chore(deps): bump node from 18-alpine to 19-alpine in /tests/apps/dockerfile-noexpose
2022-10-22 03:05:19 -04:00
Jose Diaz-Gonzalez
fa8ed5d229 fix: respect PLUGIN_PATH when checking if a plugin trigger exists
Without this, upgrades may fail if the user has enabled a plugin which implements a trigger that is checked for during an upgrade.
2022-10-22 02:54:17 -04:00
Jose Diaz-Gonzalez
227947c27f Merge pull request #5422 from dokku/5388-build-arg-test
Test that build-arg works as expected
2022-10-22 01:55:05 -04:00
Jose Diaz-Gonzalez
fc832b580b tests: test that build-arg works as expected
Closes #5388
2022-10-21 22:16:51 -04:00
Jose Diaz-Gonzalez
6727c82ce5 Merge pull request #5421 from dokku/5412-scale-docs
Document that scaling via app.json will set all other processes to zero
2022-10-21 21:38:53 -04:00
Jose Diaz-Gonzalez
b5da7a08b1 docs: document that scaling via app.json will set all other processes to zero
Closes #5412
2022-10-21 21:38:30 -04:00
dependabot[bot]
cc3f8f0c70 chore(deps): bump node in /tests/apps/dockerfile-noexpose
Bumps node from 18-alpine to 19-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-22 01:34:43 +00:00
Jose Diaz-Gonzalez
c916cdc291 Merge pull request #5417 from dokku/dependabot/docker/tests/apps/dockerfile-procfile-bad/node-19-alpine
chore(deps): bump node from 18-alpine to 19-alpine in /tests/apps/dockerfile-procfile-bad
2022-10-21 21:34:03 -04:00
dependabot[bot]
296f71660c chore(deps): bump node in /tests/apps/dockerfile-procfile-bad
Bumps node from 18-alpine to 19-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-22 01:28:15 +00:00
Jose Diaz-Gonzalez
2957c92c01 Merge pull request #5419 from dokku/dependabot/docker/tests/apps/dockerfile-dokku-scale/node-19-alpine
chore(deps): bump node from 18-alpine to 19-alpine in /tests/apps/dockerfile-dokku-scale
2022-10-21 21:27:37 -04:00
dependabot[bot]
364a1a3507 chore(deps): bump node in /tests/apps/dockerfile-dokku-scale
Bumps node from 18-alpine to 19-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-20 04:29:17 +00:00
Jose Diaz-Gonzalez
9231672382 Merge pull request #5416 from dokku/dependabot/docker/tests/apps/dockerfile-procfile/node-19-alpine
chore(deps): bump node from 18-alpine to 19-alpine in /tests/apps/dockerfile-procfile
2022-10-20 00:21:33 -04:00
Jose Diaz-Gonzalez
3415aeff2e Merge pull request #5415 from dokku/dependabot/docker/tests/apps/dockerfile/node-19-alpine
chore(deps): bump node from 18-alpine to 19-alpine in /tests/apps/dockerfile
2022-10-20 00:21:25 -04:00
Jose Diaz-Gonzalez
2df12dae19 Merge pull request #5413 from dokku/dependabot/github_actions/ibiqlik/action-yamllint-3.1.1
chore(deps): bump ibiqlik/action-yamllint from 3.1.0 to 3.1.1
2022-10-20 00:20:48 -04:00
dependabot[bot]
1066f1d3bf chore(deps): bump node in /tests/apps/dockerfile-procfile
Bumps node from 18-alpine to 19-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-19 13:59:48 +00:00
dependabot[bot]
c44ad37f43 chore(deps): bump node in /tests/apps/dockerfile
Bumps node from 18-alpine to 19-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-19 13:59:48 +00:00
dependabot[bot]
1e4b27cdab chore(deps): bump ibiqlik/action-yamllint from 3.1.0 to 3.1.1
Bumps [ibiqlik/action-yamllint](https://github.com/ibiqlik/action-yamllint) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/ibiqlik/action-yamllint/releases)
- [Commits](81e214fd48...2576378a8e)

---
updated-dependencies:
- dependency-name: ibiqlik/action-yamllint
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-17 14:06:16 +00:00
Dokku Bot
1b1bba683f Release 0.28.3
# History

## 0.28.3

Install/update via the bootstrap script:

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

### New Features

- #5394: @josegonzalez Add support for automatically updating Dockerfile FROM statements via dependabot

### Other

- #5411: @dependabot[bot] chore(deps): bump python from 3.8-buster to 3.10.0-buster in /tests/apps/dockerfile-release
- #5400: @dependabot[bot] chore(deps): bump node from 4-alpine to 18-alpine in /tests/apps/dockerfile-procfile
- #5405: @dependabot[bot] chore(deps): bump node from 4-alpine to 18-alpine in /tests/apps/dockerfile
- #5397: @dependabot[bot] chore(deps): bump ruby from 2.5.1 to 3.1.2 in /tests/apps/dockerfile-entrypoint
- #5401: @dependabot[bot] chore(deps): bump golang from 1.17.1 to 1.19.2 in /tests/apps/go-fail-postdeploy
- #5403: @dependabot[bot] chore(deps): bump golang from 1.17.1 to 1.19.2 in /tests/apps/zombies-dockerfile-tini
- #5407: @dependabot[bot] chore(deps): bump python from 3.10-alpine to 3.10.8-alpine in /docs/_build
- #5404: @dependabot[bot] chore(deps): bump node from 4-alpine to 18-alpine in /tests/apps/dockerfile-dokku-scale
- #5402: @dependabot[bot] chore(deps): bump node from 4-alpine to 18-alpine in /tests/apps/dockerfile-procfile-bad
- #5398: @dependabot[bot] chore(deps): bump golang from 1.17.1 to 1.19.2 in /tests/apps/go-fail-predeploy
- #5396: @dependabot[bot] chore(deps): bump golang from 1.17.1 to 1.19.2 in /tests/apps/gogrpc
- #5399: @dependabot[bot] chore(deps): bump golang from 1.17.1 to 1.19.2 in /tests/apps/zombies-dockerfile-no-tini
- #5395: @dependabot[bot] chore(deps): bump node from 4-alpine to 18-alpine in /tests/apps/dockerfile-noexpose
2022-10-15 23:39:38 +00:00
Jose Diaz-Gonzalez
24a37b08df Merge pull request #5411 from dokku/dependabot/docker/tests/apps/dockerfile-release/python-3.10.0-buster
chore(deps): bump python from 3.8-buster to 3.10.0-buster in /tests/apps/dockerfile-release
2022-10-15 14:40:25 -04:00
Jose Diaz-Gonzalez
7c48f0e339 Merge pull request #5400 from dokku/dependabot/docker/tests/apps/dockerfile-procfile/node-18-alpine
chore(deps): bump node from 4-alpine to 18-alpine in /tests/apps/dockerfile-procfile
2022-10-15 13:49:59 -04:00
Jose Diaz-Gonzalez
98ccb9cb65 Merge pull request #5405 from dokku/dependabot/docker/tests/apps/dockerfile/node-18-alpine
chore(deps): bump node from 4-alpine to 18-alpine in /tests/apps/dockerfile
2022-10-15 13:36:06 -04:00
Jose Diaz-Gonzalez
22c919d4e3 Merge pull request #5397 from dokku/dependabot/docker/tests/apps/dockerfile-entrypoint/ruby-3.1.2
chore(deps): bump ruby from 2.5.1 to 3.1.2 in /tests/apps/dockerfile-entrypoint
2022-10-15 13:28:03 -04:00
Jose Diaz-Gonzalez
cd9274a601 fix: update entrypoint used for node:18-alpine 2022-10-15 12:28:34 -04:00
Jose Diaz-Gonzalez
e961cf1c0f fix: update python version for dockerfile dependency 2022-10-15 12:21:29 -04:00
Jose Diaz-Gonzalez
7061fbbc60 Merge pull request #5401 from dokku/dependabot/docker/tests/apps/go-fail-postdeploy/golang-1.19.2
chore(deps): bump golang from 1.17.1 to 1.19.2 in /tests/apps/go-fail-postdeploy
2022-10-15 11:42:23 -04:00
dependabot[bot]
f0ff6d9a49 chore(deps): bump python in /tests/apps/dockerfile-release
Bumps python from 3.8-buster to 3.10.0-buster.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-14 23:11:20 +00:00
dependabot[bot]
53c23b32cb chore(deps): bump golang in /tests/apps/go-fail-postdeploy
Bumps golang from 1.17.1 to 1.19.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-14 23:11:09 +00:00
dependabot[bot]
4b1c9d53f5 chore(deps): bump node in /tests/apps/dockerfile
Bumps node from 4-alpine to 18-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-14 23:10:51 +00:00
dependabot[bot]
dce59e2e41 chore(deps): bump node in /tests/apps/dockerfile-procfile
Bumps node from 4-alpine to 18-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-14 23:10:50 +00:00
Jose Diaz-Gonzalez
b2e27e24d4 Merge pull request #5403 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-tini/golang-1.19.2
chore(deps): bump golang from 1.17.1 to 1.19.2 in /tests/apps/zombies-dockerfile-tini
2022-10-14 19:10:43 -04:00
Jose Diaz-Gonzalez
441436df66 Merge pull request #5407 from dokku/dependabot/docker/docs/_build/python-3.10.8-alpine
chore(deps): bump python from 3.10-alpine to 3.10.8-alpine in /docs/_build
2022-10-14 19:10:29 -04:00
dependabot[bot]
d810b88648 chore(deps): bump golang in /tests/apps/zombies-dockerfile-tini
Bumps golang from 1.17.1 to 1.19.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-14 23:10:25 +00:00
Jose Diaz-Gonzalez
0950d5bb67 Merge pull request #5404 from dokku/dependabot/docker/tests/apps/dockerfile-dokku-scale/node-18-alpine
chore(deps): bump node from 4-alpine to 18-alpine in /tests/apps/dockerfile-dokku-scale
2022-10-14 19:09:44 -04:00
Jose Diaz-Gonzalez
bea3ad5d72 Merge pull request #5402 from dokku/dependabot/docker/tests/apps/dockerfile-procfile-bad/node-18-alpine
chore(deps): bump node from 4-alpine to 18-alpine in /tests/apps/dockerfile-procfile-bad
2022-10-14 19:09:34 -04:00
Jose Diaz-Gonzalez
c86d6cb326 Merge pull request #5398 from dokku/dependabot/docker/tests/apps/go-fail-predeploy/golang-1.19.2
chore(deps): bump golang from 1.17.1 to 1.19.2 in /tests/apps/go-fail-predeploy
2022-10-14 19:09:12 -04:00
Jose Diaz-Gonzalez
adfbb5012c Merge pull request #5396 from dokku/dependabot/docker/tests/apps/gogrpc/golang-1.19.2
chore(deps): bump golang from 1.17.1 to 1.19.2 in /tests/apps/gogrpc
2022-10-14 19:08:51 -04:00
dependabot[bot]
9c426d8f68 chore(deps): bump golang in /tests/apps/go-fail-predeploy
Bumps golang from 1.17.1 to 1.19.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-14 05:19:39 +00:00
dependabot[bot]
388fb9a3ae chore(deps): bump golang from 1.17.1 to 1.19.2 in /tests/apps/gogrpc
Bumps golang from 1.17.1 to 1.19.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-14 05:19:39 +00:00
dependabot[bot]
d290f819a1 chore(deps): bump node in /tests/apps/dockerfile-dokku-scale
Bumps node from 4-alpine to 18-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-14 05:19:18 +00:00
dependabot[bot]
faed5e359d chore(deps): bump node in /tests/apps/dockerfile-procfile-bad
Bumps node from 4-alpine to 18-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-14 05:18:52 +00:00
Jose Diaz-Gonzalez
d880454ffa Merge pull request #5399 from dokku/dependabot/docker/tests/apps/zombies-dockerfile-no-tini/golang-1.19.2
chore(deps): bump golang from 1.17.1 to 1.19.2 in /tests/apps/zombies-dockerfile-no-tini
2022-10-14 01:18:51 -04:00
Jose Diaz-Gonzalez
d82c57e003 Merge pull request #5395 from dokku/dependabot/docker/tests/apps/dockerfile-noexpose/node-18-alpine
chore(deps): bump node from 4-alpine to 18-alpine in /tests/apps/dockerfile-noexpose
2022-10-14 01:17:51 -04:00
dependabot[bot]
77ea355bca chore(deps): bump python in /docs/_build
Bumps python from 3.10-alpine to 3.10.8-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-14 01:20:04 +00:00
dependabot[bot]
5d9e70d155 chore(deps): bump golang in /tests/apps/zombies-dockerfile-no-tini
Bumps golang from 1.17.1 to 1.19.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-14 01:19:46 +00:00
dependabot[bot]
89fcbe42d9 chore(deps): bump ruby in /tests/apps/dockerfile-entrypoint
Bumps ruby from 2.5.1 to 3.1.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-14 01:19:45 +00:00
dependabot[bot]
de1f03c72b chore(deps): bump node in /tests/apps/dockerfile-noexpose
Bumps node from 4-alpine to 18-alpine.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-14 01:19:43 +00:00
Jose Diaz-Gonzalez
e1c74fe305 Merge pull request #5394 from dokku/dependabot-dockerfile
Add support for automatically updating Dockerfile FROM statements via dependabot
2022-10-13 21:19:16 -04:00
Jose Diaz-Gonzalez
ffd4c3470e feat: add support for automatically updating Dockerfile FROM statements via dependabot
There are quite a few images that won't build on ARM, so getting these up to date on a more regular basis is important for local development on M1 Macs (selfish, I know).
2022-10-13 21:18:17 -04:00
Dokku Bot
6cda8189f2 Release 0.28.2
# History

## 0.28.2

Install/update via the bootstrap script:

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

### Bug Fixes

- #5393: @josegonzalez Correct issue with replacing the version in the installation guide
- #5354: @josegonzalez Report the correct value for the letsencrypt server
- #5347: @josegonzalez Set correct version on builder-lambda plugin

### New Features

- #5392: @josegonzalez Add support for devcontainers on ARM64 instances

### Documentation

- #5365: @josegonzalez Use correct indentation for embedded list in remote commands documentation
- #5357: @josegonzalez Reference blog on main domain
- #5355: @josegonzalez Autogenerate documentation in CI
- #5351: @josegonzalez Fix formatting on list in deployment tasks
- #5328: @holtergram Call out git remote change when renaming an app
- #5344: @josegonzalez Generate docs via mkdocs
- #5342: @josegonzalez Ensure doc links work on github as well as on docs site
- #5336: @josegonzalez Add note about docker-compose requirement for using the caddy plugin
- #5337: @josegonzalez Add note about docker-compose requirement for using the traefik…
- #5332: @cdubz Remove errant semicolon from wget command
- #5329: @josegonzalez Use updated url for gliderlabs slack invite app
- #5315: @alexislefebvre Fix doc link for systems with less than 1GB memory

### Other

- #5382: @dependabot[bot] chore(deps): bump sinatra from 2.2.2 to 3.0.2 in /tests/apps/ruby
- #5386: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 224 to 225 in /tests/apps/php
- #5361: @dependabot[bot] chore(deps): bump jetty-servlet from 11.0.11 to 11.0.12 in /tests/apps/java
- #5346: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 223 to 224 in /tests/apps/php
2022-10-13 04:13:09 +00:00
Jose Diaz-Gonzalez
e63dbcd132 Merge pull request #5393 from dokku/josegonzalez-patch-1
Correct issue with replacing the version in the installation guide
2022-10-13 00:11:45 -04:00
Jose Diaz-Gonzalez
716326573c fix: correct issue with replacing the version in the installation guide 2022-10-13 00:11:37 -04:00
Jose Diaz-Gonzalez
99e2e0ea68 Merge pull request #5392 from dokku/vscode-arm
Add support for devcontainers on ARM64 instances
2022-10-13 00:09:30 -04:00
Jose Diaz-Gonzalez
674cb2b6eb docs: document development in a dev container
The process is roughly the same as in a VM.
2022-10-12 22:41:47 -04:00
Jose Diaz-Gonzalez
d9e584f5a1 docs: split out testing documentation a bit 2022-10-12 22:08:50 -04:00
Jose Diaz-Gonzalez
a39a47b3ae feat: respect TARGETARCH when installing development dependencies 2022-10-12 21:53:11 -04:00
Jose Diaz-Gonzalez
dfcce1c6a6 fix: ensure we install the golang for the correct architecture
TARGETARCH is an automatic build-arg that docker injects - https://docs.docker.com/engine/reference/builder/#automatic-platform-args-in-the-global-scope - so this is safe to depend on.
2022-10-12 21:51:52 -04:00
Jose Diaz-Gonzalez
8cb708b8f7 Merge pull request #5382 from dokku/dependabot/bundler/tests/apps/ruby/sinatra-3.0.2
chore(deps): bump sinatra from 2.2.2 to 3.0.2 in /tests/apps/ruby
2022-10-11 18:52:55 -07:00
Jose Diaz-Gonzalez
f8489efe17 Merge pull request #5386 from dokku/dependabot/composer/tests/apps/php/heroku/heroku-buildpack-php-225
chore(deps-dev): bump heroku/heroku-buildpack-php from 224 to 225 in /tests/apps/php
2022-10-11 18:52:42 -07:00
dependabot[bot]
7843738a2f 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 224 to 225.
- [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/v224...v225)

---
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>
2022-10-06 13:13:36 +00:00
dependabot[bot]
300aacfa5b chore(deps): bump sinatra from 2.2.2 to 3.0.2 in /tests/apps/ruby
Bumps [sinatra](https://github.com/sinatra/sinatra) from 2.2.2 to 3.0.2.
- [Release notes](https://github.com/sinatra/sinatra/releases)
- [Changelog](https://github.com/sinatra/sinatra/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sinatra/sinatra/compare/v2.2.2...v3.0.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 13:06:59 +00:00
Jose Diaz-Gonzalez
b72a2544ab Merge pull request #5365 from dokku/josegonzalez-patch-1
Use correct indentation for embedded list in remote commands documentation
2022-09-19 13:30:33 -04:00
Jose Diaz-Gonzalez
1474297397 docs: use correct indentation for embedded list in remote commands documentation 2022-09-19 13:29:47 -04:00
Jose Diaz-Gonzalez
02c304fada Merge pull request #5361 from dokku/dependabot/maven/tests/apps/java/org.eclipse.jetty-jetty-servlet-11.0.12
chore(deps): bump jetty-servlet from 11.0.11 to 11.0.12 in /tests/apps/java
2022-09-16 10:25:11 -04:00
dependabot[bot]
64706f021c chore(deps): bump jetty-servlet in /tests/apps/java
Bumps [jetty-servlet](https://github.com/eclipse/jetty.project) from 11.0.11 to 11.0.12.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-11.0.11...jetty-11.0.12)

---
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>
2022-09-16 13:10:22 +00:00
Jose Diaz-Gonzalez
10c222839d Merge pull request #5357 from dokku/unify-blog
Reference blog on main domain
2022-09-11 15:00:40 -04:00
Jose Diaz-Gonzalez
a3ca2a56b8 docs: reference blog on main domain
The blog is now backed by mkdocs and has been moved to a subdirectory of dokku.com.
2022-09-11 15:00:17 -04:00
Jose Diaz-Gonzalez
bdf12179fa fix: sort files 2022-09-10 16:11:16 -04:00
Jose Diaz-Gonzalez
674de032f8 fix: run shfmt 2022-09-10 16:09:19 -04:00
Jose Diaz-Gonzalez
807ae5e651 chore: drop debug statement 2022-09-10 16:06:00 -04:00
Jose Diaz-Gonzalez
bf26d32495 fix: setup correct python version for generating docs 2022-09-10 16:05:37 -04:00
Jose Diaz-Gonzalez
b23eb8f330 debug: output the current version file for debugging 2022-09-10 16:01:29 -04:00
Jose Diaz-Gonzalez
c715857ac7 fix: ensure the generated site is owned by the CI user 2022-09-10 15:54:39 -04:00
Jose Diaz-Gonzalez
a74ab40494 debug: note the current user and owner of files 2022-09-10 15:09:27 -04:00
Jose Diaz-Gonzalez
7316b6322c fix: ensure the docs image is generated 2022-09-10 15:03:52 -04:00
Jose Diaz-Gonzalez
14752ac407 Merge pull request #5355 from dokku/autogenerate-docs
Autogenerate documentation in CI
2022-09-10 14:59:37 -04:00
Jose Diaz-Gonzalez
3aab81aa7c feat: generate documentation in CI and auto-push to the docs site 2022-09-10 14:53:21 -04:00
Jose Diaz-Gonzalez
bed0e0ce71 feat: clone generated docs site before running docs generation 2022-09-10 14:34:15 -04:00
Jose Diaz-Gonzalez
46b9df3872 Merge pull request #5354 from dokku/caddy-report-output
Report the correct value for the letsencrypt server
2022-09-10 14:26:34 -04:00
Jose Diaz-Gonzalez
a2c8c77dad fix: report the correct value for the letsencrypt server 2022-09-10 00:04:52 -04:00
Jose Diaz-Gonzalez
224dc15f09 Merge pull request #5351 from dokku/josegonzalez-patch-1
Fix formatting on list in deployment tasks
2022-09-08 15:18:57 -04:00
Jose Diaz-Gonzalez
68752c9318 docs: fix formatting on list in deployment tasks 2022-09-08 15:15:26 -04:00
Jose Diaz-Gonzalez
0abbe320f3 Merge pull request #5347 from dokku/josegonzalez-patch-1
Set correct version on builder-lambda plugin
2022-09-06 22:32:08 -04:00
Jose Diaz-Gonzalez
59c7144255 fix: set correct version on builder-lambda plugin 2022-09-06 22:31:55 -04:00
Jose Diaz-Gonzalez
c5d282dcd1 Merge pull request #5328 from holtergram/patch-1
Update docs: Added Git change remote
2022-09-06 22:21:11 -04:00
Jose Diaz-Gonzalez
87c11ca077 Merge pull request #5346 from dokku/dependabot/composer/tests/apps/php/heroku/heroku-buildpack-php-224
chore(deps-dev): bump heroku/heroku-buildpack-php from 223 to 224 in /tests/apps/php
2022-09-06 22:20:32 -04:00
dependabot[bot]
bf13a6fd97 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 223 to 224.
- [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/v223...v224)

---
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>
2022-09-06 13:12:46 +00:00
Jose Diaz-Gonzalez
75beecf65b Merge pull request #5344 from dokku/mkdocs-support
Generate docs via mkdocs
2022-09-05 22:00:41 -04:00
Jose Diaz-Gonzalez
8845715959 fix: correct current version 2022-09-05 21:53:34 -04:00
Jose Diaz-Gonzalez
c2a170b6ec chore: use normal blog link for now 2022-09-05 21:49:04 -04:00
Jose Diaz-Gonzalez
4ed1bcb3f4 chore: fix formatting 2022-09-05 21:45:46 -04:00
Jose Diaz-Gonzalez
dd26a82646 fix: add note about existing docs 2022-09-05 21:33:26 -04:00
Jose Diaz-Gonzalez
9ab58d6f33 feat: cleanup output and only ever generate latest docs for a version 2022-09-05 21:31:55 -04:00
Jose Diaz-Gonzalez
9cb54fc742 chore: silence command 2022-09-05 21:28:05 -04:00
Jose Diaz-Gonzalez
80924a0c31 fix: do not use unsupported hyphens in block name 2022-09-05 21:22:19 -04:00
Jose Diaz-Gonzalez
4b086ff8a4 chore: hide outdated message for latest docs 2022-09-05 21:21:06 -04:00
Jose Diaz-Gonzalez
b53a8526cd fix: add latest alias to latest docs 2022-09-05 21:20:42 -04:00
Jose Diaz-Gonzalez
401183fdd8 feat: use absolute url 2022-09-05 21:20:16 -04:00
Jose Diaz-Gonzalez
a862bdaf88 feat: add override 2022-09-05 21:02:44 -04:00
Jose Diaz-Gonzalez
e77e8d71bd fix: redirect to the correct page for old doc versions 2022-09-05 20:58:29 -04:00
Jose Diaz-Gonzalez
344d2e83ad fix: ensure the versions are sorted 2022-09-05 20:41:40 -04:00
Jose Diaz-Gonzalez
4c9deedba9 fix: rewrite home logo link in index.html 2022-09-05 20:25:41 -04:00
Jose Diaz-Gonzalez
460edc8b3e fix: remove unneeded variables 2022-09-05 20:24:57 -04:00
Jose Diaz-Gonzalez
98117db6a5 feat: write the mkdocs version 2022-09-05 20:20:52 -04:00
Jose Diaz-Gonzalez
cf92615936 feat: add social links to footer 2022-09-05 19:38:46 -04:00
Jose Diaz-Gonzalez
11b640c0b8 fix: drop trace output 2022-09-05 19:28:33 -04:00
Jose Diaz-Gonzalez
48ddbb4279 feat: ensure we build the app with the static buildpack 2022-09-05 19:28:20 -04:00
Jose Diaz-Gonzalez
3240491113 fix: ensure the assets are always up to date 2022-09-05 19:28:05 -04:00
Jose Diaz-Gonzalez
1d232aae89 fix: add missing / 2022-09-05 19:04:53 -04:00
Jose Diaz-Gonzalez
d3890fee9f feat: add rewrites for older versions 2022-09-05 19:03:56 -04:00
Jose Diaz-Gonzalez
8fe33a0e41 docs: copy the extra css to subsites 2022-09-05 17:35:48 -04:00
Jose Diaz-Gonzalez
d560ee13e0 docs: switch to the acquamarine color 2022-09-05 17:35:30 -04:00
Jose Diaz-Gonzalez
1d5c9edbd2 docs: use an easier to understand icon for toggling light mode 2022-09-05 17:35:17 -04:00
Jose Diaz-Gonzalez
4b0a40a20c docs: add navigation indexes for installations and upgrades 2022-09-05 17:29:09 -04:00
Jose Diaz-Gonzalez
47c1bfe26d docs: rename upgrading index to allow supporting navigation indexes 2022-09-05 17:18:00 -04:00
Jose Diaz-Gonzalez
01531c3986 docs: cleanup links to renamed docs 2022-09-05 16:49:56 -04:00
Jose Diaz-Gonzalez
d3a5289156 docs: turn absolute links into relative links
This is necessary as links in mkdocs must be relative.
2022-09-05 16:46:13 -04:00
Jose Diaz-Gonzalez
fa7de79faf docs: cleanup whitespace in codeblocks 2022-09-05 15:38:49 -04:00
Jose Diaz-Gonzalez
db11f1f15f docs: remove unnecessary link
This is duplicated through a redirect.
2022-09-05 15:28:46 -04:00
Jose Diaz-Gonzalez
0d6263c9b5 chore: drop extra print 2022-09-05 15:27:52 -04:00
Jose Diaz-Gonzalez
ab0b127778 chore: update build dependencies 2022-09-05 15:16:37 -04:00
Jose Diaz-Gonzalez
062aa7aa43 docs: add code for generating documentation from all old versions of dokku
This generates the appropriate versions for our usage, in addition to ensuring the markdown is of a format that mkdocs understands.
2022-09-05 14:49:56 -04:00
Jose Diaz-Gonzalez
f7905b4943 docs: add code for building docs in ci 2022-09-05 14:46:55 -04:00
Jose Diaz-Gonzalez
08b77b62d4 docs: add initial files for mkdocs support 2022-09-05 14:46:22 -04:00
Jose Diaz-Gonzalez
b8907d1f8e docs: update page titles to match sidebar 2022-09-05 14:43:45 -04:00
Jose Diaz-Gonzalez
9b05b9c2f4 Merge pull request #5342 from dokku/docs-links
Ensure doc links work on github as well as on docs site
2022-09-03 01:14:09 -04:00
Jose Diaz-Gonzalez
0b097b9b87 docs: ensure doc links work on github as well as on docs site 2022-09-03 01:13:31 -04:00
Jose Diaz-Gonzalez
ece77aa8c4 Merge pull request #5336 from dokku/5335-caddy
Add note about docker-compose requirement for using the caddy plugin
2022-08-30 13:29:05 -04:00
Jose Diaz-Gonzalez
0b5743a74c Merge pull request #5337 from dokku/5335-traefik
Add note about docker-compose requirement for using the traefik…
2022-08-30 13:27:57 -04:00
Jose Diaz-Gonzalez
66d2694751 docs: add note about docker-compose requirement for using the traefik plugin 2022-08-30 13:27:26 -04:00
Jose Diaz-Gonzalez
46ee448489 docs: add note about docker-compose requirement for using the caddy plugin 2022-08-30 13:27:24 -04:00
Jose Diaz-Gonzalez
953a2636a4 Merge pull request #5332 from cdubz/patch-1
Remove errant semicolon from wget command
2022-08-29 11:52:53 -04:00
Christopher Charbonneau Wells
1d1daafc07 Remove errant semicolon
Running the command with the semicolon results in a 404 Not Found.
2022-08-28 19:35:47 -07:00
Jose Diaz-Gonzalez
19ed0b00ea Merge pull request #5329 from dokku/update-invite-links
Use updated url for gliderlabs slack invite app
2022-08-25 18:20:01 -04:00
Jose Diaz-Gonzalez
18e787d65f docs: use updated url for gliderlabs slack invite app 2022-08-25 18:19:33 -04:00
holtergram
548013e46f Update docs: Added Git change remote
In order to make `git push` work after renaming an app the hint was added to update the remote url
2022-08-25 22:39:38 +02:00
Jose Diaz-Gonzalez
6348126f0c docs: add missing upgrade guide 2022-08-22 21:47:54 -04:00
Jose Diaz-Gonzalez
0fd909b277 Merge pull request #5315 from alexislefebvre/patch-1
Fix link to system < 1GB memory
2022-08-18 17:49:42 -04:00
Alexis Lefebvre
563293d1ff Fix link to system < 1GB memory 2022-08-18 23:43:49 +02:00
Dokku Bot
9d87bdf93b Release 0.28.1
# History

## 0.28.1

Install/update via the bootstrap script:

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

### Bug Fixes

- #5313: @josegonzalez Fix issues with multiple domains in new proxy plugins
2022-08-18 20:53:49 +00:00
Jose Diaz-Gonzalez
702fb6c330 Merge pull request #5313 from dokku/5311-proxy-tests
Fix issues with multiple domains in new proxy plugins
2022-08-18 16:53:07 -04:00
Jose Diaz-Gonzalez
16dd0adb35 fix: drop extra quote on LE server 2022-08-18 13:10:47 -04:00
Jose Diaz-Gonzalez
c9caa0880f tests: add unit tests and support multiple routers/services in traefik 2022-08-18 11:13:34 -04:00
Jose Diaz-Gonzalez
801fc5d78c fix: ensure we don't output anything extra in tests 2022-08-18 11:13:01 -04:00
Jose Diaz-Gonzalez
741ffc635c fix: fix issue with multiple domain support for caddy 2022-08-18 10:53:08 -04:00
Jose Diaz-Gonzalez
591fe8642d fix: correct help output for traefik 2022-08-18 10:50:46 -04:00
Jose Diaz-Gonzalez
3a44c414d1 fix: correct help output for caddy 2022-08-18 10:50:39 -04:00
Dokku Bot
5276543ee5 Release 0.28.0
# History

## 0.28.0

Install/update via the bootstrap script:

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

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

### Bug Fixes

- #5299: @josegonzalez Do not trigger restarts when mutating config globally
- #5298: @josegonzalez Set core.bare=true on correct repository path

### New Features

- #5300: @josegonzalez Add the ability to disable the init process
- #5295: @josegonzalez Add an official caddy proxy implementation
- #5293: @josegonzalez Add an official traefik proxy implementation
- #5202: @josegonzalez Add builder-lambda plugin

### Documentation

- #5296: @janlavicka Fix typo in kubernetes docs
- #5288: @josegonzalez Do not have bottom border float on page
- #5283: @alexgleason Homepage: fix link in quick install guide

### Other

- #5297: @josegonzalez Update vector image
- #5294: @josegonzalez Document and enable alternative proxy implementations
- #5291: @dependabot[bot] chore(deps): bump werkzeug from 2.2.1 to 2.2.2 in /tests/apps/python-flask
- #5292: @dependabot[bot] chore(deps): bump flask from 2.2.1 to 2.2.2 in /tests/apps/multi
- #5290: @dependabot[bot] chore(deps): bump flask from 2.2.1 to 2.2.2 in /tests/apps/python-flask
- #5227: @josegonzalez Drop forwarded port from vagrant setup
- #5285: @josegonzalez Update all development dependencies
- #5240: @josegonzalez Drop support for CentOS, Fedora, OpenSuse, as well as Debian 9
- #5281: @dependabot[bot] chore(deps): bump flask from 2.1.3 to 2.2.1 in /tests/apps/multi
- #5280: @dependabot[bot] chore(deps): bump flask from 2.1.3 to 2.2.1 in /tests/apps/python-flask
- #5284: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 222 to 223 in /tests/apps/php
2022-08-17 18:29:17 +00:00
Jose Diaz-Gonzalez
4ce71cb6db Merge pull request #5300 from dokku/5287-disable-init
Add the ability to disable the init process
2022-08-15 16:23:14 -04:00
Jose Diaz-Gonzalez
f09b960997 tests: add a unit test for the init-process option 2022-08-14 13:45:41 -04:00
Jose Diaz-Gonzalez
e15f411939 Merge pull request #5299 from dokku/5289-no-global-restarts
Do not trigger restarts when mutating config globally
2022-08-11 15:50:17 -04:00
Jose Diaz-Gonzalez
58af38a9ab Merge pull request #5298 from dokku/5275-git-bare
Set core.bare=true on correct repository path
2022-08-11 15:50:07 -04:00
Jose Diaz-Gonzalez
bc4eaa002f fix: correct shfmt issue 2022-08-11 13:07:00 -04:00
Jose Diaz-Gonzalez
78ad3f59b1 Merge pull request #5297 from dokku/update-vector
Update vector image
2022-08-11 13:06:12 -04:00
Jose Diaz-Gonzalez
045825857a fix: add missing source and respect any user settings for init-process property 2022-08-11 11:51:31 -04:00
Jose Diaz-Gonzalez
293ead4f35 feat: force-disable the --init flag for linuxserver images
All linuxserver images uses S6, and there are enough of them that this makes sense to autodetect on behalf of users.
2022-08-10 21:33:08 -04:00
Jose Diaz-Gonzalez
c4c6ac5617 feat: add the ability to disable the init process
This allows projects using s6 overlay - in particular linxserver images - the ability to disable --init flag injection.

Closes #5287
2022-08-10 21:32:55 -04:00
Jose Diaz-Gonzalez
414c891c6c fix: do not trigger restarts when mutating config globally
Closes #5289
2022-08-10 17:01:31 -04:00
Jose Diaz-Gonzalez
deeb18b56c fix: set core.bare=true on correct repository path
Closes #5275
2022-08-10 16:51:17 -04:00
Jose Diaz-Gonzalez
f60e0d7c8a feat: update vector image
Also drop value for --watch-config flag, as this is now properly parsed as a boolean value.

Refs #5197
2022-08-10 16:46:56 -04:00
Jose Diaz-Gonzalez
6a3933213c Merge pull request #5295 from dokku/caddy-proxy
Add an official caddy proxy implementation
2022-08-10 16:08:08 -04:00
Jose Diaz-Gonzalez
8b2afbadc2 Merge pull request #5296 from janlavicka/docs-kubernetes
docs: fix typo in kubernetes docs
2022-08-10 14:34:43 -04:00
Jan Lavička
403da909cb docs: fix typo in kubernetes docs 2022-08-10 18:26:27 +00:00
Jose Diaz-Gonzalez
d749a400a2 docs: add new notes 2022-08-10 14:23:17 -04:00
Jose Diaz-Gonzalez
a7d5fb69e2 docs: add migration note 2022-08-10 14:15:05 -04:00
Jose Diaz-Gonzalez
e66671f3c5 feat: implement the caddy plugin
This plugin uses a docker-compose based Caddy installation in conjunction with injected container labels to route requests. It only exposes the minimal necessary for routing traffic to docker containers. Users wishing to customize further labels may explore using the docker-options plugin to attach additional labels during the 'deploy' phase.
2022-08-10 14:13:19 -04:00
Jose Diaz-Gonzalez
583cbc7326 docs: cleanup proxy plugin headers 2022-08-10 14:08:10 -04:00
Jose Diaz-Gonzalez
d32f0fe2b5 docs: add a warning for using multiple proxy services 2022-08-10 14:06:05 -04:00
Jose Diaz-Gonzalez
9c6380f07d chore: update compose version 2022-08-10 13:56:29 -04:00
Jose Diaz-Gonzalez
ea7299eef7 fix: do not expose port 443 if no letsencrypt email is set 2022-08-10 13:56:18 -04:00
Jose Diaz-Gonzalez
d5085d3156 feat: expose letsencrypt-server property for traefik plugin 2022-08-10 13:56:06 -04:00
Jose Diaz-Gonzalez
8ab44f1ab0 Merge pull request #5293 from dokku/traefik-proxy
Add an official traefik proxy implementation
2022-08-10 12:06:19 -04:00
Jose Diaz-Gonzalez
12d5bc4649 refactor: use http and https as traefik entrypoints
This makes it a bit more clear as to where things are being redirected for web containers.

Also gate the https entrypoint behind the letsencrypt integration.
2022-08-10 05:20:54 -04:00
Jose Diaz-Gonzalez
bebb05268c feat: restart traefik automatically unless stopped 2022-08-10 05:20:54 -04:00
Jose Diaz-Gonzalez
aeaf8e78f1 fix: run shfmt 2022-08-10 05:20:54 -04:00
Jose Diaz-Gonzalez
b66a8e6181 docs: note that requests are routed once the container is running. 2022-08-10 05:20:54 -04:00
Jose Diaz-Gonzalez
8fe122ffbd feat: implement the traefik plugin
This plugin uses a docker-compose based Traefik installation in conjunction with injected container labels to route requests. It only exposes the minimal necessary for routing traffic to docker containers. Users wishing to customize further labels may explore using the docker-options plugin to attach additional labels during the 'deploy' phase.
2022-08-10 05:20:54 -04:00
Jose Diaz-Gonzalez
45e250443c Merge pull request #5294 from dokku/alternative-proxies
Document and enable alternative proxy implementations
2022-08-10 05:20:41 -04:00
Jose Diaz-Gonzalez
f4c886e10f Merge pull request #5291 from dokku/dependabot/pip/tests/apps/python-flask/werkzeug-2.2.2
chore(deps): bump werkzeug from 2.2.1 to 2.2.2 in /tests/apps/python-flask
2022-08-10 05:10:46 -04:00
Jose Diaz-Gonzalez
40c5cd089a Merge pull request #5292 from dokku/dependabot/pip/tests/apps/multi/flask-2.2.2
chore(deps): bump flask from 2.2.1 to 2.2.2 in /tests/apps/multi
2022-08-10 05:10:38 -04:00
Jose Diaz-Gonzalez
823928a44c Merge pull request #5290 from dokku/dependabot/pip/tests/apps/python-flask/flask-2.2.2
chore(deps): bump flask from 2.2.1 to 2.2.2 in /tests/apps/python-flask
2022-08-10 05:10:29 -04:00
Jose Diaz-Gonzalez
98feb988fa feat: implement nginx:start and nginx:stop commands 2022-08-10 04:23:05 -04:00
Jose Diaz-Gonzalez
b605de522c refactor: split out proxy port configuration into it's own trigger
This will allow it to be called by plugins other than the nginx-vhosts one.
2022-08-10 04:23:05 -04:00
Jose Diaz-Gonzalez
707cafd26d fix: correct the required networking suffix 2022-08-10 04:23:05 -04:00
Jose Diaz-Gonzalez
f2c7392276 docs: add documentation for implementing a proxy 2022-08-10 04:23:05 -04:00
Jose Diaz-Gonzalez
f094ea1f72 chore: move nginx docs to new proxies location 2022-08-10 04:23:05 -04:00
dependabot[bot]
ebed512dbc chore(deps): bump flask from 2.2.1 to 2.2.2 in /tests/apps/multi
Bumps [flask](https://github.com/pallets/flask) from 2.2.1 to 2.2.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.2.1...2.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-09 13:14:28 +00:00
dependabot[bot]
8cef4a4f5d chore(deps): bump werkzeug in /tests/apps/python-flask
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 2.2.1 to 2.2.2.
- [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.1...2.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-09 13:14:12 +00:00
dependabot[bot]
36e93cab03 chore(deps): bump flask from 2.2.1 to 2.2.2 in /tests/apps/python-flask
Bumps [flask](https://github.com/pallets/flask) from 2.2.1 to 2.2.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.2.1...2.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-09 13:14:08 +00:00
Jose Diaz-Gonzalez
c4de27a4a6 Merge pull request #5202 from dokku/builder-lambda 2022-08-09 04:46:46 -04:00
Jose Diaz-Gonzalez
6caf4e6039 fix: use newer lambda-builder 2022-08-09 02:34:04 -04:00
Jose Diaz-Gonzalez
7cc84dcdbe tests: add unit test for lambda builder 2022-08-09 02:13:06 -04:00
Jose Diaz-Gonzalez
65b9c6aa3e fix: delete the data dir for the app after the app is deleted 2022-08-09 02:12:27 -04:00
Jose Diaz-Gonzalez
2959fdd154 fix: create the data directory for an app as necessary 2022-08-09 02:11:48 -04:00
Jose Diaz-Gonzalez
a71e4219be fix: set the correct image source type based on label
We also have a special carveout for herokuish as folks may deploy built images with it.
2022-08-09 02:11:32 -04:00
Jose Diaz-Gonzalez
30e279b6b9 fix: suppress labeling output for the dockerfile builder 2022-08-09 02:10:46 -04:00
Jose Diaz-Gonzalez
216647890e Merge pull request #5288 from dokku/josegonzalez-patch-1
Do not have bottom border float on page
2022-08-08 22:33:19 -04:00
Jose Diaz-Gonzalez
9c3876045a fix: do not have bottom border float on page
This covers up some of the content.
2022-08-08 22:33:06 -04:00
Jose Diaz-Gonzalez
86d7b6b649 docs: fix path for alternative lamba.yml 2022-08-08 15:15:29 -04:00
Jose Diaz-Gonzalez
d91957b969 fix: use correct path for source call 2022-08-08 15:15:29 -04:00
Jose Diaz-Gonzalez
5ee0619888 fix: install the lambda-builder package in ci and development 2022-08-08 15:15:28 -04:00
Jose Diaz-Gonzalez
fbd77ee5e8 docs: document the lambda builder 2022-08-08 15:14:49 -04:00
Jose Diaz-Gonzalez
35c248fb5c fix: use correct variable name for lambda.yml path 2022-08-08 15:14:49 -04:00
Jose Diaz-Gonzalez
7eecbefdd0 chore: run shfmt 2022-08-08 15:14:49 -04:00
Jose Diaz-Gonzalez
2715d2a485 chore: drop extra cp statement 2022-08-08 15:14:49 -04:00
Jose Diaz-Gonzalez
951dd98f17 feat: ensure the container is routable by dokku
- Keep the container alive via DOCKER_LAMBDA_STAY_OPEN=1
- Set the default listening port to 5000 (which is what herokuish will use)
2022-08-08 15:14:49 -04:00
Jose Diaz-Gonzalez
8ca71d9ff5 fix: add com.dokku.builder-type label to built image
This will allow schedulers to make decisions when interacting with images from specific builders.
2022-08-08 15:14:49 -04:00
Jose Diaz-Gonzalez
f2e791f48f fix: do not detect builder-lambda on armhf
While the lambda-builder project builds for armhf, the underlying images are not armhf/arm compatible (only arm64).
2022-08-08 15:14:48 -04:00
Jose Diaz-Gonzalez
f549934740 fix: update lambda-builder usage and write out Procfile/lambda.zip 2022-08-08 15:14:48 -04:00
Jose Diaz-Gonzalez
3a09d2217f feat: initial templates for scheduling (not building, but i need them somewhere) 2022-08-08 15:14:48 -04:00
Jose Diaz-Gonzalez
92790b70e8 feat: broken support for lambda-builder
It's currently broken because there are flags in there that aren't actually implemented
2022-08-08 15:14:48 -04:00
Jose Diaz-Gonzalez
02d6813209 scratch: initial implementation 2022-08-08 15:14:48 -04:00
Jose Diaz-Gonzalez
96ef82cbc9 Merge pull request #5227 from dokku/josegonzalez-patch-1
Drop forwarded port from vagrant setup
2022-08-08 15:08:32 -04:00
Jose Diaz-Gonzalez
f9c2251711 Merge branch 'master' into josegonzalez-patch-1 2022-08-08 15:08:22 -04:00
Jose Diaz-Gonzalez
fb73c9e1d9 Merge pull request #5285 from dokku/update-dev-dependencies
Update all development dependencies
2022-08-08 15:07:57 -04:00
Jose Diaz-Gonzalez
15695eded2 Merge pull request #5240 from dokku/drop-unsupported-os
Drop support for CentOS, Fedora, OpenSuse, as well as Debian 9
2022-08-07 18:36:52 -04:00
Jose Diaz-Gonzalez
70fc35c317 chore: drop unsupported operating systems
We will no longer support CentOS, Fedora, and Opensuse as installation targets. These are not actively maintained by anyone with commit rights and occasionally cause issues for users as they are not tested during the release process.

Rather than have subpar support for an untested operating system, we're removing support for them completely. Users of these operating systems should take a look migration to the docker-based installation method, which will always be tested and supported by the project.

Additionally, drop support for Debian 9 as it is now EOL.
2022-08-07 18:36:30 -04:00
Jose Diaz-Gonzalez
0835e7706f Merge pull request #5281 from dokku/dependabot/pip/tests/apps/multi/flask-2.2.1
chore(deps): bump flask from 2.1.3 to 2.2.1 in /tests/apps/multi
2022-08-07 18:34:43 -04:00
Jose Diaz-Gonzalez
c4d1196975 Merge pull request #5280 from dokku/dependabot/pip/tests/apps/python-flask/flask-2.2.1
chore(deps): bump flask from 2.1.3 to 2.2.1 in /tests/apps/python-flask
2022-08-07 18:34:37 -04:00
Jose Diaz-Gonzalez
4ce2d63a0e Merge pull request #5284 from dokku/dependabot/composer/tests/apps/php/heroku/heroku-buildpack-php-223
chore(deps-dev): bump heroku/heroku-buildpack-php from 222 to 223 in /tests/apps/php
2022-08-07 18:34:21 -04:00
Jose Diaz-Gonzalez
e4db82aebf chore: update all development dependencies 2022-08-07 14:16:16 -04:00
dependabot[bot]
3f05666d59 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 222 to 223.
- [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/v222...v223)

---
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>
2022-08-05 13:10:58 +00:00
Jose Diaz-Gonzalez
35e1ac9825 Merge pull request #5283 from alexgleason/homepage-install-link
Homepage: fix link in quick install guide
2022-08-04 13:59:57 -04:00
Alex Gleason
4a81bce0e7 Homepage: fix link in quick install guide 2022-08-04 12:33:05 -05:00
dependabot[bot]
1d9b8fdda8 chore(deps): bump flask from 2.1.3 to 2.2.1 in /tests/apps/multi
Bumps [flask](https://github.com/pallets/flask) from 2.1.3 to 2.2.1.
- [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.1.3...2.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-04 13:10:51 +00:00
dependabot[bot]
571a96fc77 chore(deps): bump flask from 2.1.3 to 2.2.1 in /tests/apps/python-flask
Bumps [flask](https://github.com/pallets/flask) from 2.1.3 to 2.2.1.
- [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.1.3...2.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-04 13:10:45 +00:00
Dokku Bot
63f7f39048 Release 0.27.10
# History

## 0.27.10

Install/update via the bootstrap script:

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

### Bug Fixes

- #5276: @d6rkaiz Remove duplicate syntax for nginx.conf

### Other

- #5274: @kennell readme: mention Ubuntu 22.04 compability
2022-08-01 15:09:46 +00:00
Jose Diaz-Gonzalez
ef5a2a9f5b Merge pull request #5276 from d6rkaiz/fix_duplicate_nginxconf
Remove duplicate syntax for nginx.conf
2022-08-01 11:08:50 -04:00
Isao Sugimoto
51547b7688 fix duplicate syntax for nginx.conf 2022-07-31 15:38:53 +00:00
Jose Diaz-Gonzalez
6fe2559c01 Merge pull request #5274 from kennell/patch-1 2022-07-30 17:30:31 -04:00
Kevin Kennell
af069041c5 readme: mention Ubuntu 22.04 compability 2022-07-30 23:30:06 +02:00
Dokku Bot
9192198096 Release 0.27.9
# History

## 0.27.9

Install/update via the bootstrap script:

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

### Bug Fixes

- #5273: @josegonzalez Correct issue where more complex docker args were not properly parsed when scheduling containers
- #5272: @josegonzalez Add support for --global as app name when calling config-get trigger
- #5263: @alexgleason Update deprecated apt-key command

### New Features

- #5262: @josegonzalez Run shfmt against all test files
- #5257: @chrisjdixon Move nginx.conf.d includes after all other hard-coded config to allow for overrides

### Other

- #5184: @yasoob New website. Closes #5175
- #5270: @dependabot[bot] chore(deps): bump werkzeug from 2.2.0 to 2.2.1 in /tests/apps/python-flask
- #5265: @dependabot[bot] chore(deps): bump werkzeug from 2.1.2 to 2.2.0 in /tests/apps/python-flask
- #5264: @dependabot[bot] chore(deps): bump sinatra from 2.2.1 to 2.2.2 in /tests/apps/ruby
- #5261: @dependabot[bot] chore(deps): bump luizm/action-sh-checker from 0.4.0 to 0.5.0
- #5258: @dependabot[bot] chore(deps): bump sinatra from 2.2.0 to 2.2.1 in /tests/apps/ruby
2022-07-30 19:42:09 +00:00
Jose Diaz-Gonzalez
d68fbd5e09 Merge pull request #5184 from yasoob/new-website
New website. Closes #5175
2022-07-30 15:41:10 -04:00
Jose Diaz-Gonzalez
39561bde4a Merge pull request #5273 from dokku/complex-docker-args
Correct issue where more complex docker args were not properly parsed when scheduling containers
2022-07-30 12:58:46 -04:00
Jose Diaz-Gonzalez
16090e58c7 Merge pull request #5272 from dokku/5269-global-config-trigger-flag
Add support for --global as app name when calling config-get trigger
2022-07-30 00:49:28 -04:00
Jose Diaz-Gonzalez
d8e9511769 fix: correct issue where more complex docker args were not properly parsed when scheduling containers
In cases where a docker arg uses backticks - which may happen with docker labels - scheduled containers would fail to support these due to performing a double-eval. This is particularly noticeable for traefik labels, where backticks and parenthesis are common. This fix properly handles docker args as an array instead of performing an extra eval when scheduling containers.
2022-07-30 00:48:38 -04:00
Jose Diaz-Gonzalez
652a9ec26c chore: switch to correct trigger when getting a global argument
While both will now work, using the correct trigger will skip some extra logic.
2022-07-29 22:45:23 -04:00
Jose Diaz-Gonzalez
d243433625 fix: add support for --global as app name when calling config-get trigger
The trigger in use _should_ be config-get-global, but some calling code does not check, so adding support here will ensure the calling code gets what it expects.

Refs #5269
2022-07-29 22:44:23 -04:00
M.Yasoob Ullah Khalid ☺
40143622ad Merge branch 'master' into new-website 2022-07-29 09:34:14 +05:00
Jose Diaz-Gonzalez
bfe679fb50 Merge pull request #5270 from dokku/dependabot/pip/tests/apps/python-flask/werkzeug-2.2.1
chore(deps): bump werkzeug from 2.2.0 to 2.2.1 in /tests/apps/python-flask
2022-07-28 19:28:52 -04:00
Jose Diaz-Gonzalez
e7a8793414 Merge pull request #5263 from alexgleason/apt-key
Update deprecated apt-key command
2022-07-28 19:26:18 -04:00
dependabot[bot]
a9f3ed206b chore(deps): bump werkzeug in /tests/apps/python-flask
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 2.2.0 to 2.2.1.
- [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.0...2.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-28 13:20:21 +00:00
Jose Diaz-Gonzalez
2f58ab0637 Merge pull request #5265 from dokku/dependabot/pip/tests/apps/python-flask/werkzeug-2.2.0
chore(deps): bump werkzeug from 2.1.2 to 2.2.0 in /tests/apps/python-flask
2022-07-26 14:49:23 -04:00
Jose Diaz-Gonzalez
abaf6db3e3 Merge pull request #5264 from dokku/dependabot/bundler/tests/apps/ruby/sinatra-2.2.2
chore(deps): bump sinatra from 2.2.1 to 2.2.2 in /tests/apps/ruby
2022-07-26 14:49:14 -04:00
Jose Diaz-Gonzalez
235dfd2257 Merge pull request #5261 from dokku/dependabot/github_actions/luizm/action-sh-checker-0.5.0
chore(deps): bump luizm/action-sh-checker from 0.4.0 to 0.5.0
2022-07-26 14:49:04 -04:00
dependabot[bot]
a09262b35e chore(deps): bump werkzeug in /tests/apps/python-flask
Bumps [werkzeug](https://github.com/pallets/werkzeug) from 2.1.2 to 2.2.0.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/2.1.2...2.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-25 13:10:56 +00:00
dependabot[bot]
2daf25186f chore(deps): bump sinatra from 2.2.1 to 2.2.2 in /tests/apps/ruby
Bumps [sinatra](https://github.com/sinatra/sinatra) from 2.2.1 to 2.2.2.
- [Release notes](https://github.com/sinatra/sinatra/releases)
- [Changelog](https://github.com/sinatra/sinatra/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sinatra/sinatra/compare/v2.2.1...v2.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-25 13:04:33 +00:00
dependabot[bot]
2648e90f29 chore(deps): bump luizm/action-sh-checker from 0.4.0 to 0.5.0
Bumps [luizm/action-sh-checker](https://github.com/luizm/action-sh-checker) from 0.4.0 to 0.5.0.
- [Release notes](https://github.com/luizm/action-sh-checker/releases)
- [Commits](38985be9e8...edd0e45ecf)

---
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>
2022-07-25 03:59:32 +00:00
Jose Diaz-Gonzalez
fa9595ea35 Merge pull request #5262 from dokku/shfmt
Run shfmt against all test files
2022-07-24 23:59:05 -04:00
Alex Gleason
480ee7b9af Update deprecated apt-key command 2022-07-24 11:12:16 -05:00
Jose Diaz-Gonzalez
9d332e9b2d chore: run shfmt against all test files 2022-07-21 14:57:42 -04:00
Jose Diaz-Gonzalez
e6b9851b52 Merge pull request #5257 from chrisjdixon/master
Move nginx.conf.d includes after all other hard-coded config to allow for overrides
2022-07-21 14:56:28 -04:00
Jose Diaz-Gonzalez
71210df5ec Merge pull request #5258 from dokku/dependabot/bundler/tests/apps/ruby/sinatra-2.2.1
chore(deps): bump sinatra from 2.2.0 to 2.2.1 in /tests/apps/ruby
2022-07-18 15:44:07 -04:00
dependabot[bot]
99b25d3e91 chore(deps): bump sinatra from 2.2.0 to 2.2.1 in /tests/apps/ruby
Bumps [sinatra](https://github.com/sinatra/sinatra) from 2.2.0 to 2.2.1.
- [Release notes](https://github.com/sinatra/sinatra/releases)
- [Changelog](https://github.com/sinatra/sinatra/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sinatra/sinatra/compare/v2.2.0...v2.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-18 13:05:44 +00:00
chrisjdixon
a8a9bc93ab moved "include {{ $.DOKKU_ROOT }}/{{ $.APP }}/nginx.conf.d/*.conf" after default error pages 2022-07-18 17:29:19 +10:00
Dokku Bot
d5590b61af Release 0.27.8
# History

## 0.27.8

Install/update via the bootstrap script:

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

### Bug Fixes

- #5232: @YuukiHogo builder-build fix for DOKKU_DOCKERFILE_CACHE_BUILD and DOKKU_DOCKER_BUILD_OPTS variables

### New Features

- #5255: @josegonzalez export DOKKU_COMMAND for use in authentication systems

### Other

- #5250: @dependabot[bot] chore(deps): bump flask from 2.1.2 to 2.1.3 in /tests/apps/multi
- #5251: @dependabot[bot] chore(deps): bump flask from 2.1.2 to 2.1.3 in /tests/apps/python-flask
- #5245: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 221 to 222 in /tests/apps/php
2022-07-17 23:07:58 +00:00
Jose Diaz-Gonzalez
84aee0909d Merge pull request #5255 from dokku/josegonzalez-patch-2
export DOKKU_COMMAND for use in authentication systems
2022-07-17 19:05:05 -04:00
Jose Diaz-Gonzalez
cfc1cfb305 feat: export DOKKU_COMMAND for use in authentication systems
Some auth systems may decide that an app is not available for use by a particular command vs making them wholly available or not. Exporting the variable here allows such systems to function correctly.
2022-07-17 17:58:37 -04:00
Jose Diaz-Gonzalez
4d8e8148d5 Merge pull request #5250 from dokku/dependabot/pip/tests/apps/multi/flask-2.1.3
chore(deps): bump flask from 2.1.2 to 2.1.3 in /tests/apps/multi
2022-07-17 15:23:45 -04:00
Jose Diaz-Gonzalez
beec7f8468 Merge pull request #5232 from YuukiHogo/builder-dockerfile-patch-1
builder-build fix for DOKKU_DOCKERFILE_CACHE_BUILD and DOKKU_DOCKER_BUILD_OPTS variables
2022-07-17 14:03:42 -04:00
dependabot[bot]
5b35bab62c chore(deps): bump flask from 2.1.2 to 2.1.3 in /tests/apps/multi
Bumps [flask](https://github.com/pallets/flask) from 2.1.2 to 2.1.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.1.2...2.1.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-17 18:03:11 +00:00
Jose Diaz-Gonzalez
ebed25693a Merge pull request #5251 from dokku/dependabot/pip/tests/apps/python-flask/flask-2.1.3
chore(deps): bump flask from 2.1.2 to 2.1.3 in /tests/apps/python-flask
2022-07-17 14:02:47 -04:00
dependabot[bot]
6ae507a0b2 chore(deps): bump flask from 2.1.2 to 2.1.3 in /tests/apps/python-flask
Bumps [flask](https://github.com/pallets/flask) from 2.1.2 to 2.1.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.1.2...2.1.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-14 13:11:13 +00:00
Jose Diaz-Gonzalez
5182638599 Merge branch 'master' into builder-dockerfile-patch-1 2022-07-13 03:45:28 -04:00
Jose Diaz-Gonzalez
23341bd0c5 Merge pull request #5245 from dokku/dependabot/composer/tests/apps/php/heroku/heroku-buildpack-php-222
chore(deps-dev): bump heroku/heroku-buildpack-php from 221 to 222 in /tests/apps/php
2022-07-10 20:54:08 -04:00
dependabot[bot]
8a2f7401a3 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 221 to 222.
- [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/v221...v222)

---
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>
2022-07-08 13:22:28 +00:00
Dokku Bot
6c3de8c628 Release 0.27.7
# History

## 0.27.7

Install/update via the bootstrap script:

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

### Bug Fixes

- #5238: @josegonzalez Respect dokku system user/group when setting storage permissions on installation

### New Features

- #5239: @josegonzalez Add builder-type and image-stage labels to all images

### Documentation

- #5241: @josegonzalez Clarify where logs are pulled from and general log shipping stance
- #5237: @josegonzalez Fix builder-pack:set command example

### Other

- #5235: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 220 to 221 in /tests/apps/php
2022-07-05 23:20:17 +00:00
Jose Diaz-Gonzalez
99dd31ceeb Merge pull request #5239 from dokku/builder-labels
Add builder-type and image-stage labels to all images
2022-07-05 19:06:26 -04:00
Jose Diaz-Gonzalez
b983afe9fa feat: add builder-type and image-stage labels to all images
This allows users to further introspect where an image came from, and therefore what - if any - custom logic to perform.
2022-07-05 15:09:59 -04:00
Jose Diaz-Gonzalez
ef64210821 Merge pull request #5241 from dokku/5234-log-docs
Clarify where logs are pulled from and general log shipping stance
2022-07-05 14:50:38 -04:00
Jose Diaz-Gonzalez
dcb880b0f2 docs: clarify log shipping stance
While it is unfortunate that we don't store logs locally, doing so is actually a fairly difficult ask. Rather than pretending the problem doesn't exist, we'll clarify how logs are currently fetched, as well as point users to integrations/tools that may make their lives easier.

Refs #5234
2022-07-05 14:49:21 -04:00
Jose Diaz-Gonzalez
b26aec249c Merge pull request #5235 from dokku/dependabot/composer/tests/apps/php/heroku/heroku-buildpack-php-221
chore(deps-dev): bump heroku/heroku-buildpack-php from 220 to 221 in /tests/apps/php
2022-07-05 14:16:45 -04:00
Jose Diaz-Gonzalez
3903b8a331 Merge pull request #5238 from dokku/storage-perms
Respect dokku system user/group when setting storage permissions on installation
2022-07-05 14:16:28 -04:00
Jose Diaz-Gonzalez
5f192ec3a1 fix: respect dokku system user/group when setting storage permissions on installation 2022-07-04 23:32:58 -04:00
Jose Diaz-Gonzalez
f42972fc3c Merge pull request #5237 from dokku/cnb-docs
Fix builder-pack:set command example
2022-07-04 23:31:18 -04:00
Jose Diaz-Gonzalez
f4f3d4adc6 docs: fix builder-pack:set command example 2022-07-04 23:30:38 -04:00
dependabot[bot]
7e0a8dca94 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 220 to 221.
- [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/v220...v221)

---
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>
2022-07-04 13:15:04 +00:00
YuukiHogo
ab45435473 Update builder-build 2022-06-28 12:28:59 +03:00
Dokku Bot
23322b6dde Release 0.27.6
# History

## 0.27.6

Install/update via the bootstrap script:

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

### Bug Fixes

- #5225: @josegonzalez Use original app name when setting include_labels for vector source
- #5228: @josegonzalez Always respect app.json formations in scale settings
- #5201: @josegonzalez Use pack as default builder for arm64 servers

### Documentation

- #5230: @josegonzalez Clarify usage of build args to set environment variables for Dockerfile deploys
- #5208: @asokoloski-m Fix typo in dockerfile builder docs
- #5206: @AxelTheGerman Added dokku-litestream to list of community plugins

### Other

- #5218: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 219 to 220 in /tests/apps/php
- #5222: @dependabot[bot] chore(deps): bump jetty-servlet from 11.0.10 to 11.0.11 in /tests/apps/java
- #5224: @josegonzalez Document that the community registry plugin should be uninstalled before upgrading past 0.24.x
- #5220: @dependabot[bot] chore(deps): bump jetty-servlet from 11.0.9 to 11.0.10 in /tests/apps/java
- #5212: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 218 to 219 in /tests/apps/php
- #5210: @dependabot[bot] chore(deps): bump monolog/monolog from 1.27.0 to 1.27.1 in /tests/apps/php
- #5204: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 217 to 218 in /tests/apps/php
2022-06-27 17:19:21 +00:00
Jose Diaz-Gonzalez
fbf136bbe3 Merge pull request #5218 from dokku/dependabot/composer/tests/apps/php/heroku/heroku-buildpack-php-220
chore(deps-dev): bump heroku/heroku-buildpack-php from 219 to 220 in /tests/apps/php
2022-06-27 12:28:40 -04:00
Jose Diaz-Gonzalez
952e7c6fda Merge pull request #5230 from dokku/josegonzalez-patch-2
Clarify usage of build args to set environment variables for Dockerfile deploys
2022-06-27 10:54:44 -04:00
Jose Diaz-Gonzalez
ae10527b8a docs: clarify usage of build args to set environment variables for Dockerfile deploys
While documented under Dockerfile deploys, developers looking at docs might not know to go to those docs to find this information out.
2022-06-27 10:53:09 -04:00
dependabot[bot]
b4d0456f5f 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 219 to 220.
- [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/v219...v220)

---
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>
2022-06-27 14:47:33 +00:00
Jose Diaz-Gonzalez
3f28c24b57 Merge pull request #5225 from dokku/5221-inflected-app-name
Use original app name when setting include_labels for vector source
2022-06-27 10:46:25 -04:00
Jose Diaz-Gonzalez
9da3b4e155 Merge pull request #5228 from dokku/5205-sync-ps-with-app-json
Always respect app.json formations in scale settings
2022-06-27 10:46:13 -04:00
Jose Diaz-Gonzalez
dded26625b fix: always respect app.json formations in scale settings
Without this change, it was possible would end up in a state where we might still try to scale processes up that no longer exists.

Closes #5205
2022-06-26 14:33:19 -04:00
Jose Diaz-Gonzalez
dac21b7280 chore: drop forwarded port from vagrant setup
This isn't necessary since routing should be performed via the exposed `DOKKU_IP` or `dokku.me` hostname.
2022-06-26 12:41:17 -04:00
Jose Diaz-Gonzalez
515eb372a4 Merge pull request #5201 from dokku/5113-switch-to-pack
Use pack as default builder for arm64 servers
2022-06-25 01:17:11 -04:00
Jose Diaz-Gonzalez
abe06b3d84 docs: fix the error message to be slightly more readable 2022-06-25 01:16:53 -04:00
Jose Diaz-Gonzalez
229d97e502 Merge pull request #5222 from dokku/dependabot/maven/tests/apps/java/org.eclipse.jetty-jetty-servlet-11.0.11
chore(deps): bump jetty-servlet from 11.0.10 to 11.0.11 in /tests/apps/java
2022-06-25 01:15:27 -04:00
Jose Diaz-Gonzalez
51cd7fd85e fix: use original app name when setting include_labels for vector source
Closes #5221
2022-06-25 01:06:28 -04:00
Jose Diaz-Gonzalez
9a52cbdd27 Merge pull request #5224 from dokku/5223-uninstall-registry
Document that the community registry plugin should be uninstalled before upgrading past 0.24.x
2022-06-25 00:26:54 -04:00
Jose Diaz-Gonzalez
7d5c242fa9 docs: document that the community registry plugin should be uninstalled first
Without this, it's unknown what will happen.

Refs #5223
2022-06-25 00:26:31 -04:00
dependabot[bot]
e665243ae1 chore(deps): bump jetty-servlet in /tests/apps/java
Bumps [jetty-servlet](https://github.com/eclipse/jetty.project) from 11.0.10 to 11.0.11.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-11.0.10...jetty-11.0.11)

---
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>
2022-06-23 15:11:04 +00:00
Jose Diaz-Gonzalez
6f79fb2e87 Merge pull request #5220 from dokku/dependabot/maven/tests/apps/java/org.eclipse.jetty-jetty-servlet-11.0.10
chore(deps): bump jetty-servlet from 11.0.9 to 11.0.10 in /tests/apps/java
2022-06-23 01:29:07 -04:00
dependabot[bot]
211f0ef049 chore(deps): bump jetty-servlet in /tests/apps/java
Bumps [jetty-servlet](https://github.com/eclipse/jetty.project) from 11.0.9 to 11.0.10.
- [Release notes](https://github.com/eclipse/jetty.project/releases)
- [Commits](https://github.com/eclipse/jetty.project/compare/jetty-11.0.9...jetty-11.0.10)

---
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>
2022-06-21 13:08:59 +00:00
Jose Diaz-Gonzalez
07aa343140 Merge pull request #5212 from dokku/dependabot/composer/tests/apps/php/heroku/heroku-buildpack-php-219
chore(deps-dev): bump heroku/heroku-buildpack-php from 218 to 219 in /tests/apps/php
2022-06-10 10:44:57 -04:00
dependabot[bot]
ab658ec274 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 218 to 219.
- [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/v218...v219)

---
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>
2022-06-10 13:11:39 +00:00
Jose Diaz-Gonzalez
a2eab242b6 Merge pull request #5210 from dokku/dependabot/composer/tests/apps/php/monolog/monolog-1.27.1
chore(deps): bump monolog/monolog from 1.27.0 to 1.27.1 in /tests/apps/php
2022-06-09 10:28:27 -04:00
dependabot[bot]
321b94db19 chore(deps): bump monolog/monolog in /tests/apps/php
Bumps [monolog/monolog](https://github.com/Seldaek/monolog) from 1.27.0 to 1.27.1.
- [Release notes](https://github.com/Seldaek/monolog/releases)
- [Changelog](https://github.com/Seldaek/monolog/blob/1.27.1/CHANGELOG.md)
- [Commits](https://github.com/Seldaek/monolog/compare/1.27.0...1.27.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-09 13:18:32 +00:00
Jose Diaz-Gonzalez
e17f87d62d Merge pull request #5208 from asokoloski-m/patch-1
Fix docs: incorrect command for app storage status
2022-06-08 11:05:29 -04:00
asokoloski-m
4fc23a8ffb Fix incorrect command for app storage status 2022-06-08 09:08:31 -05:00
Jose Diaz-Gonzalez
044027e31b Merge pull request #5206 from AxelTheGerman/patch-1
Added dokku-litestream
2022-06-05 22:08:39 -04:00
Jose Diaz-Gonzalez
e4be7e38ad Merge pull request #5204 from dokku/dependabot/composer/tests/apps/php/heroku/heroku-buildpack-php-218
chore(deps-dev): bump heroku/heroku-buildpack-php from 217 to 218 in /tests/apps/php
2022-06-05 22:07:06 -04:00
Axel Gustav
5a93e875a3 Added dokku-litestream
I recently created a plugin for SQLite replication via Litestream to S3. Been using it myself in production for a couple of weeks and was able to successfully restore a backed up DB so I guess it's ready for people to try and be added to this list.
2022-05-31 21:51:05 -07:00
M.Yasoob Ullah Khalid ☺
ddfbdbe6d3 Merge branch 'master' into new-website 2022-05-30 23:23:32 +05:00
dependabot[bot]
24fdc0a778 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 217 to 218.
- [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/v217...v218)

---
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>
2022-05-30 13:14:40 +00:00
Jose Diaz-Gonzalez
3db3bfb150 feat: use pack as default builder for arm64 servers
Herokuish is not and will never be supported on arm servers, so attempting to use it will only fail builds.

Also fail when trying to default to herokuish on armhf instances. We can't default to pack as it's just not built for armhf/arm (only arm64).

Closes #5113
2022-05-29 16:41:42 -04:00
Dokku Bot
37036ec2fa Release 0.27.5
# History

## 0.27.5

Install/update via the bootstrap script:

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

### Bug Fixes

- #5183: @josegonzalez Filter apps when verifying app names
- #5199: @josegonzalez Revert "fix: Vector fails to start container due to --watch-config flag"
- #5197: @holamendi fix: Vector fails to start container due to --watch-config flag
- #5192: @josegonzalez Confirm installation of universe packages when installing on ubuntu
- #5193: @josegonzalez Force-set correct permissions on env files
- #5181: @josegonzalez Ensure we default SSH_NAME to NAME when filtering apps

### New Features

- #5196: @josegonzalez Disable herokuish usage on both armhf and arm64 platforms
- #5194: @josegonzalez Upgrade base Dockerfile image to phusion/baseimage:focal-1.2.0

### Other

- #5200: @dependabot[bot] chore(deps): bump rack from 2.2.3 to 2.2.3.1 in /tests/apps/ruby
- #5198: @dependabot[bot] chore(deps): bump grunt from 1.5.2 to 1.5.3 in /tests/apps/multi
- #5187: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 216 to 217 in /tests/apps/php
2022-05-29 19:12:03 +00:00
Jose Diaz-Gonzalez
4b94a37f72 Merge pull request #5183 from dokku/user-access-to-app
Filter apps when verifying app names
2022-05-29 12:50:44 -04:00
Yasoob Khalid
863eead7fd added asciicasts 2022-05-29 21:22:10 +05:00
Jose Diaz-Gonzalez
db4d8dba88 refactor: consolidate app name verification into golang binary
This change ensures we only have to change this logic once in order to get them to apply to both languages in the codebase.
2022-05-29 11:32:24 -04:00
Jose Diaz-Gonzalez
cc9d76aa11 fix: set globally 2022-05-29 00:00:26 -04:00
Jose Diaz-Gonzalez
97bbded5bb tests: set the PLUGIN_ENABLED_PATH for config tests 2022-05-28 23:23:25 -04:00
Jose Diaz-Gonzalez
a95e5d210d tests: test the command funcs to exercise app validation 2022-05-28 18:23:34 -04:00
Jose Diaz-Gonzalez
0f7b24fcc7 Merge pull request #5200 from dokku/dependabot/bundler/tests/apps/ruby/rack-2.2.3.1
chore(deps): bump rack from 2.2.3 to 2.2.3.1 in /tests/apps/ruby
2022-05-28 18:08:02 -04:00
dependabot[bot]
3a2e9973b6 chore(deps): bump rack from 2.2.3 to 2.2.3.1 in /tests/apps/ruby
Bumps [rack](https://github.com/rack/rack) from 2.2.3 to 2.2.3.1.
- [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.3...2.2.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-28 16:22:59 +00:00
Jose Diaz-Gonzalez
5b5f6031b2 Merge pull request #5198 from dokku/dependabot/npm_and_yarn/tests/apps/multi/grunt-1.5.3
chore(deps): bump grunt from 1.5.2 to 1.5.3 in /tests/apps/multi
2022-05-28 12:22:26 -04:00
Jose Diaz-Gonzalez
96a2ec01f5 fix: ensure go tests have PLUGIN_ENABLED_PATH set 2022-05-28 12:22:11 -04:00
dependabot[bot]
9473ac5f38 chore(deps): bump grunt from 1.5.2 to 1.5.3 in /tests/apps/multi
Bumps [grunt](https://github.com/gruntjs/grunt) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/gruntjs/grunt/releases)
- [Changelog](https://github.com/gruntjs/grunt/blob/main/CHANGELOG)
- [Commits](https://github.com/gruntjs/grunt/compare/v1.5.2...v1.5.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-28 03:59:34 +00:00
Jose Diaz-Gonzalez
d803dbb84a fix: drop extra unnecessary validation of app name
The app name is already validated when calling subcommands, so no need to validate it yet again here.
2022-05-27 23:44:46 -04:00
Jose Diaz-Gonzalez
5981ff8e9b refactor: split out config logic to remove need to check app name for function-based usage
This MR splits out the logic such that there is now a binary that handles function based calls without validating the app name. We should only every check the app name for the subcommands and not internally. Internal calls should have their arguments taken at face value.
2022-05-27 23:28:59 -04:00
Jose Diaz-Gonzalez
b3d7174a7a fix: filter apps when verifying app names
This ensures folks can't interact with apps that are hidden from them via the filtering performed in app listing.
2022-05-27 23:28:59 -04:00
Jose Diaz-Gonzalez
9ea888f62e Merge pull request #5199 from dokku/revert-5197-fix-vector-start-container
Revert "fix: Vector fails to start container due to --watch-config flag"
2022-05-26 10:22:54 -04:00
Jose Diaz-Gonzalez
2ba5c9df50 Revert "fix: Vector fails to start container due to --watch-config flag" 2022-05-26 10:22:32 -04:00
Jose Diaz-Gonzalez
d30fb7b85c Merge pull request #5197 from holamendi/fix-vector-start-container
fix: Vector fails to start container due to --watch-config flag
2022-05-25 10:52:18 -04:00
Pablo Orellana
0a895b2d11 remove --watch-config argument on startVectorContainer 2022-05-25 07:44:38 +02:00
Jose Diaz-Gonzalez
20ed65efdd Merge pull request #5196 from dokku/herokuish-arm64
Disable herokuish usage on both armhf and arm64 platforms
2022-05-23 12:21:46 -04:00
Jose Diaz-Gonzalez
27769f54b0 feat: disable herokuish usage on both armhf and arm64 platforms
We will not provide support for herokuish on either as herokuish is meant to be Heroku-compatible, and the Heroku stack does not support arm. Use 'pack' or Dockerfiles for app building instead.
2022-05-22 17:12:52 -04:00
Jose Diaz-Gonzalez
0748b3eec8 Merge pull request #5194 from dokku/josegonzalez-patch-1
Upgrade base Dockerfile image to phusion/baseimage:focal-1.2.0
2022-05-22 16:39:05 -04:00
Jose Diaz-Gonzalez
469156ac98 Merge pull request #5187 from dokku/dependabot/composer/tests/apps/php/heroku/heroku-buildpack-php-217
chore(deps-dev): bump heroku/heroku-buildpack-php from 216 to 217 in /tests/apps/php
2022-05-21 14:42:49 -04:00
Jose Diaz-Gonzalez
6f5f3fa908 feat: upgrade base Dockerfile image to phusion/baseimage:focal-1.2.0 2022-05-21 13:42:45 -04:00
Jose Diaz-Gonzalez
fe84ec08a8 Merge pull request #5192 from dokku/5191-jammy-bootstrap
Confirm installation of universe packages when installing on ubuntu
2022-05-21 13:37:13 -04:00
Jose Diaz-Gonzalez
f6cd3f5c89 Merge pull request #5193 from dokku/5190-env-perms
Force-set correct permissions on env files
2022-05-21 13:37:03 -04:00
Jose Diaz-Gonzalez
88c1abc608 fix: force-set correct permissions on env files
If an env file is written as a root user - for example, during plugin install - the permissions on the file may change to root. This forces those permissions back to what they should be so that the dokku user can edit the files later on.

Closes #5190
2022-05-21 03:45:05 -04:00
Jose Diaz-Gonzalez
a937e6de50 fix: confirm installation of universe packages when installing on ubuntu
This fixes installs stalling on Ubuntu 22.04 because of necessary confirmation of the addition.

Closes #5191
2022-05-21 02:47:06 -04:00
dependabot[bot]
5d36264dd2 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 216 to 217.
- [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/v216...v217)

---
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>
2022-05-19 13:20:54 +00:00
Yasoob Khalid
2d5799625c added a small freelance tooltip :) 2022-05-17 10:47:13 +05:00
Yasoob Khalid
156da6c30a triggering the animation once images are loaded. Wasn't playing correctly on safari earlier 2022-05-17 10:42:05 +05:00
Yasoob Khalid
22fd5ea0f0 improved display on mobile 2022-05-17 10:34:59 +05:00
Yasoob Khalid
0fca7f5256 increased padding for larger screens 2022-05-17 10:26:59 +05:00
Yasoob Khalid
aeae7cea53 scale the svg based on screen size 2022-05-17 10:26:04 +05:00
Yasoob Khalid
cbe8376bdb added asciinema demo on homepage 2022-05-17 10:10:14 +05:00
Yasoob Khalid
8cbe7e66a3 updated copy on homepage 2022-05-17 05:49:59 +05:00
Yasoob Khalid
2994e724c2 moved SVG hover group to the left to balance out the page 2022-05-17 03:13:57 +05:00
Yasoob Khalid
9b76012f1c modified the quickstart commands 2022-05-17 03:04:23 +05:00
Yasoob Khalid
21ad711055 make use of versioned css 2022-05-17 02:57:08 +05:00
Yasoob Khalid
70217bcc13 apparently tooltips can not be initialized twice 2022-05-17 02:42:40 +05:00
Yasoob Khalid
53d1a21638 dropdown toggle should stay white when it is toggled 2022-05-17 02:30:08 +05:00
Yasoob Khalid
f26ca309e3 New website ✨ 2022-05-17 02:21:24 +05:00
Jose Diaz-Gonzalez
af88aabfb6 Merge pull request #5181 from dokku/fix-user-auth-app
Ensure we default SSH_NAME to NAME when filtering apps
2022-05-15 22:18:08 -04:00
Jose Diaz-Gonzalez
4491142a7b fix: ensure we default SSH_NAME to NAME when filtering apps
This mirrors how SSH_NAME is populated for the user-auth trigger.
2022-05-15 21:19:11 -04:00
Dokku Bot
5df4bd710a Release 0.27.4
# History

## 0.27.4

Install/update via the bootstrap script:

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

### Documentation

- #5180: @Bilal-io fixes rst-versions height
2022-05-15 23:44:34 +00:00
Jose Diaz-Gonzalez
a41cb46b77 Merge pull request #5180 from Bilal-io/master
fixes rst-versions height
2022-05-15 18:29:18 -04:00
BK
7477f6438a fixes rst-versions height 2022-05-15 15:27:50 -07:00
Dokku Bot
ed2c4493a4 Release 0.27.3
# History

## 0.27.3

Install/update via the bootstrap script:

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

### Bug Fixes

- #5178: @josegonzalez Fix app filtering for authenticated usage
- #5173: @bitjockey42 Add 22.04 to supported distro versions

### Documentation

- #5179: @Bilal-io Fixes to the Docs version switcher
- #5177: @josegonzalez docs: cleanup experimental warning in scheduler docs
- #5176: @josegonzalez Update installation requirements to mention arm64 and ubuntu 22.04
- #5174: @vladdoster Fix typos and phrasing in remote commands documentation
2022-05-15 21:52:19 +00:00
Jose Diaz-Gonzalez
2ed14fc81c Merge pull request #5179 from Bilal-io/master
Fixes to the Docs version switcher
2022-05-15 17:21:57 -04:00
BK
978e2fd702 Merge branch 'dokku:master' into master 2022-05-15 14:18:18 -07:00
BK
712954560a fixes version switcher height
The panel expands to a max-height of 600, and shrinks to 100vh - 100px on browsers with height smaller than 600px.
2022-05-15 14:17:25 -07:00
BK
5e648c29ed Fixes the overflow in the docs' version switcher
hides the scroll bar from the overflow switcher and displays a vertical scroll when the panel is expanded.
2022-05-15 14:13:54 -07:00
Jose Diaz-Gonzalez
ea84e4d5e4 Merge pull request #5178 from dokku/fix-app-filtering
Fix app filtering for authenticated usage
2022-05-15 17:11:34 -04:00
BK
f2a32ae0f6 Fix docs version switcher to display latest first
Changes the old sorting which displays master then the oldest to newest, so that it would display master followed by the newest version
2022-05-15 14:08:33 -07:00
Jose Diaz-Gonzalez
358b02ac39 fix: add missing app-list event 2022-05-15 15:52:30 -04:00
Jose Diaz-Gonzalez
268c318bc5 fix: ensure we do not filter apps for certain commands and triggers
Some things must pull *all* apps vs filtered apps (mostly things that write out config files or install triggers). Using an unflitered list is best.

Also, we default to filtering, which should be what most usage needs.
2022-05-15 15:47:13 -04:00
Jose Diaz-Gonzalez
f87cd22340 feat: allow returning an unfiltered list of users
This is useful for upgrades or commands that _must_ perform against all apps.
2022-05-15 15:33:19 -04:00
Jose Diaz-Gonzalez
b1223cd6cc Merge pull request #5177 from dokku/docs-experimental
docs: cleanup experimental warning in scheduler docs
2022-05-15 10:10:23 -04:00
Jose Diaz-Gonzalez
9fb4ce6cb4 docs: cleanup experimental warning in kubernetes docs 2022-05-15 10:10:16 -04:00
Jose Diaz-Gonzalez
d73eee201d docs: cleanup experimental warning in nomad docs 2022-05-15 10:09:39 -04:00
Jose Diaz-Gonzalez
dd900a3975 Merge pull request #5176 from dokku/josegonzalez-patch-1
Update installation requirements to mention arm64 and ubuntu 22.04
2022-05-15 10:06:42 -04:00
Jose Diaz-Gonzalez
9452699aaf docs: update installation requirements to mention arm64 and ubuntu 22.04 2022-05-15 10:05:54 -04:00
Jose Diaz-Gonzalez
f2081505eb Merge pull request #5174 from vladdoster/patch-1 2022-05-14 16:04:13 -04:00
vladislav doster
857724984e docs: fix typos & phrasing in remote-commands.md
- `interpretting` -> `interpreting`
- `overriden`      -> `overridden`
- correct article agreement
2022-05-14 14:29:45 -05:00
Jose Diaz-Gonzalez
4e36ab9361 Merge pull request #5173 from bitjockey42/add_2204_to_supported_distro_versions
Add 22.04 to supported distro versions
2022-05-14 03:26:03 -04:00
Bitjockey
b3ac4f36f7 Add 22.04 to supported distro versions 2022-05-14 03:13:29 -04:00
303 changed files with 7333 additions and 1662 deletions

View File

@@ -7,8 +7,9 @@ RUN apt-get install --no-install-recommends -y build-essential file nano && \
apt-get autoremove --yes && \
rm -rf /var/lib/apt/lists/*
RUN wget https://dl.google.com/go/go1.17.9.linux-amd64.tar.gz && \
tar -xvf go1.17.9.linux-amd64.tar.gz && \
ARG TARGETARCH
RUN wget https://dl.google.com/go/go1.17.9.linux-${TARGETARCH}.tar.gz && \
tar -xvf go1.17.9.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

@@ -0,0 +1,25 @@
#!/usr/bin/env bash
main() {
declare PLUGIN_NAME="$1"
local plugin_root="/root/go/src/github.com/dokku/dokku/plugins"
export GO111MODULE=off
echo "-----> Fetching onsi/gomega dependency for tests"
go get github.com/onsi/gomega || true
echo "-----> Fetching spf13/pflag dependency for subcommands"
go get github.com/spf13/pflag || true
pushd "$plugin_root" >/dev/null || true
find "$plugin_root/" -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | while read -r plugin; do
pushd "$plugin_root/$plugin" >/dev/null || true
if [[ -f "go.mod" ]]; then
echo "-----> Fetching dependencies for $plugin plugin"
go get || true
fi
popd >/dev/null || true
done
popd >/dev/null || true
}
main "$@"

View File

@@ -18,7 +18,7 @@
"source=${localWorkspaceFolder}/tmp/data/,target=/mnt/dokku/,type=bind"
],
"overrideCommand": false,
"postCreateCommand": "make setup-deploy-tests",
"postCreateCommand": "download-go-mod && make setup-deploy-tests",
"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

@@ -7,6 +7,8 @@ build
docs
tests
!build/package/*
!docs/_build/entrypoint
!docs/_build/requirements.txt
!tests/dhparam.pem
!contrib/bash-completion
!contrib/docker

View File

@@ -110,3 +110,78 @@ updates:
schedule:
interval: daily
open-pull-requests-limit: 10
- package-ecosystem: "docker"
directory: /""
schedule:
interval: daily
open-pull-requests-limit: 10
- package-ecosystem: "docker"
directory: "/tests/apps/dockerfile-noexpose"
schedule:
interval: daily
open-pull-requests-limit: 10
- package-ecosystem: "docker"
directory: "/tests/apps/dockerfile"
schedule:
interval: daily
open-pull-requests-limit: 10
- package-ecosystem: "docker"
directory: "/tests/apps/dockerfile-procfile"
schedule:
interval: daily
open-pull-requests-limit: 10
- package-ecosystem: "docker"
directory: "/tests/apps/dockerfile-entrypoint"
schedule:
interval: daily
open-pull-requests-limit: 10
- package-ecosystem: "docker"
directory: "/tests/apps/dockerfile-procfile-bad"
schedule:
interval: daily
open-pull-requests-limit: 10
- package-ecosystem: "docker"
directory: "/tests/apps/go-fail-predeploy"
schedule:
interval: daily
open-pull-requests-limit: 10
- package-ecosystem: "docker"
directory: "/tests/apps/zombies-dockerfile-no-tini"
schedule:
interval: daily
open-pull-requests-limit: 10
- package-ecosystem: "docker"
directory: "/tests/apps/dockerfile-release"
schedule:
interval: daily
open-pull-requests-limit: 10
- package-ecosystem: "docker"
directory: "/tests/apps/dockerfile-dokku-scale"
schedule:
interval: daily
open-pull-requests-limit: 10
- package-ecosystem: "docker"
directory: "/tests/apps/gogrpc"
schedule:
interval: daily
open-pull-requests-limit: 10
- package-ecosystem: "docker"
directory: "/tests/apps/zombies-dockerfile-tini"
schedule:
interval: daily
open-pull-requests-limit: 10
- package-ecosystem: "docker"
directory: "/tests/apps/go-fail-postdeploy"
schedule:
interval: daily
open-pull-requests-limit: 10
- package-ecosystem: "docker"
directory: "/docs/_build"
schedule:
interval: daily
open-pull-requests-limit: 10
- package-ecosystem: "docker"
directory: "/.devcontainer"
schedule:
interval: daily
open-pull-requests-limit: 10

39
.github/workflows/docs.yml vendored Normal file
View File

@@ -0,0 +1,39 @@
---
name: 'docs'
# yamllint disable-line rule:truthy
on:
push:
branches:
- master
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Cloning repo
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: "Setup python 3.10"
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Generate documentation
env:
BOT_GITHUB_USERNAME: ${{ secrets.HOMEBREW_GITHUB_USERNAME }}
BOT_GITHUB_API_TOKEN: ${{ secrets.HOMEBREW_GITHUB_API_TOKEN }}
run: |
git config --global user.name 'Dokku Bot'
git config --global user.email no-reply@dokku.com
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install gh -y
gh auth login --with-token <<<"$BOT_GITHUB_API_TOKEN"
contrib/build-docs

View File

@@ -54,7 +54,7 @@ jobs:
- name: Clone
uses: actions/checkout@v3
- name: Run shfmt
uses: luizm/action-sh-checker@38985be9e872ef709f8ffca07af3ff88572fe429
uses: luizm/action-sh-checker@edd0e45ecff35b05f162052b50df50976c1b74fc
# v0.3.0 => 7f44869033b40ee4ffe7dc76c87a1bc66e3d025a
env:
SHFMT_OPTS: -l -bn -ci -i 2 -d
@@ -68,7 +68,7 @@ jobs:
- name: Clone
uses: actions/checkout@v3
- name: Run yamllint
uses: ibiqlik/action-yamllint@81e214fd484713882ce4237cb7cd264d550856cf
uses: ibiqlik/action-yamllint@2576378a8e339169678f9939646ee3ee325e845c
# v3.0.4 => ed2b6e911569708ed121c14b87d513860a7e36a7
with:
config_file: '.github/linters/.yamllint.yml'

View File

@@ -135,4 +135,4 @@ which contains test setup information as well as tips for running tests.
- [Existing issues](https://github.com/dokku/dokku/issues)
- [General GitHub documentation](https://help.github.com/)
- [GitHub pull request documentation](https://help.github.com/send-pull-requests/)
- [Gliderlabs Slack in the #dokku channel](https://glider-slackin.herokuapp.com/)
- [Gliderlabs Slack in the #dokku channel](https://slack.dokku.com/)

View File

@@ -1,4 +1,4 @@
FROM phusion/baseimage:focal-1.1.0
FROM phusion/baseimage:focal-1.2.0
CMD ["/sbin/my_init"]

View File

@@ -1,5 +1,355 @@
# History
## 0.28.4
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.28.4/bootstrap.sh
sudo DOKKU_TAG=v0.28.4 bash bootstrap.sh
```
### Bug Fixes
- #5423: @josegonzalez Respect PLUGIN_PATH when checking if a plugin trigger exists
- #5425: @josegonzalez Ignore https mappings when no ssl certificate exists
### New Features
- #5424: @josegonzalez Download all src files for go mod dependencies for use in vscode
### Documentation
- #5421: @josegonzalez Document that scaling via app.json will set all other processes to zero
### Tests
- #5422: @josegonzalez Test that build-arg works as expected
### Other
- #5418: @dependabot[bot] chore(deps): bump node from 18-alpine to 19-alpine in /tests/apps/dockerfile-noexpose
- #5417: @dependabot[bot] chore(deps): bump node from 18-alpine to 19-alpine in /tests/apps/dockerfile-procfile-bad
- #5419: @dependabot[bot] chore(deps): bump node from 18-alpine to 19-alpine in /tests/apps/dockerfile-dokku-scale
- #5416: @dependabot[bot] chore(deps): bump node from 18-alpine to 19-alpine in /tests/apps/dockerfile-procfile
- #5415: @dependabot[bot] chore(deps): bump node from 18-alpine to 19-alpine in /tests/apps/dockerfile
- #5413: @dependabot[bot] chore(deps): bump ibiqlik/action-yamllint from 3.1.0 to 3.1.1
## 0.28.3
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.28.3/bootstrap.sh
sudo DOKKU_TAG=v0.28.3 bash bootstrap.sh
```
### New Features
- #5394: @josegonzalez Add support for automatically updating Dockerfile FROM statements via dependabot
### Other
- #5411: @dependabot[bot] chore(deps): bump python from 3.8-buster to 3.10.0-buster in /tests/apps/dockerfile-release
- #5400: @dependabot[bot] chore(deps): bump node from 4-alpine to 18-alpine in /tests/apps/dockerfile-procfile
- #5405: @dependabot[bot] chore(deps): bump node from 4-alpine to 18-alpine in /tests/apps/dockerfile
- #5397: @dependabot[bot] chore(deps): bump ruby from 2.5.1 to 3.1.2 in /tests/apps/dockerfile-entrypoint
- #5401: @dependabot[bot] chore(deps): bump golang from 1.17.1 to 1.19.2 in /tests/apps/go-fail-postdeploy
- #5403: @dependabot[bot] chore(deps): bump golang from 1.17.1 to 1.19.2 in /tests/apps/zombies-dockerfile-tini
- #5407: @dependabot[bot] chore(deps): bump python from 3.10-alpine to 3.10.8-alpine in /docs/_build
- #5404: @dependabot[bot] chore(deps): bump node from 4-alpine to 18-alpine in /tests/apps/dockerfile-dokku-scale
- #5402: @dependabot[bot] chore(deps): bump node from 4-alpine to 18-alpine in /tests/apps/dockerfile-procfile-bad
- #5398: @dependabot[bot] chore(deps): bump golang from 1.17.1 to 1.19.2 in /tests/apps/go-fail-predeploy
- #5396: @dependabot[bot] chore(deps): bump golang from 1.17.1 to 1.19.2 in /tests/apps/gogrpc
- #5399: @dependabot[bot] chore(deps): bump golang from 1.17.1 to 1.19.2 in /tests/apps/zombies-dockerfile-no-tini
- #5395: @dependabot[bot] chore(deps): bump node from 4-alpine to 18-alpine in /tests/apps/dockerfile-noexpose
## 0.28.2
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.28.2/bootstrap.sh
sudo DOKKU_TAG=v0.28.2 bash bootstrap.sh
```
### Bug Fixes
- #5393: @josegonzalez Correct issue with replacing the version in the installation guide
- #5354: @josegonzalez Report the correct value for the letsencrypt server
- #5347: @josegonzalez Set correct version on builder-lambda plugin
### New Features
- #5392: @josegonzalez Add support for devcontainers on ARM64 instances
### Documentation
- #5365: @josegonzalez Use correct indentation for embedded list in remote commands documentation
- #5357: @josegonzalez Reference blog on main domain
- #5355: @josegonzalez Autogenerate documentation in CI
- #5351: @josegonzalez Fix formatting on list in deployment tasks
- #5328: @holtergram Call out git remote change when renaming an app
- #5344: @josegonzalez Generate docs via mkdocs
- #5342: @josegonzalez Ensure doc links work on github as well as on docs site
- #5336: @josegonzalez Add note about docker-compose requirement for using the caddy plugin
- #5337: @josegonzalez Add note about docker-compose requirement for using the traefik…
- #5332: @cdubz Remove errant semicolon from wget command
- #5329: @josegonzalez Use updated url for gliderlabs slack invite app
- #5315: @alexislefebvre Fix doc link for systems with less than 1GB memory
### Other
- #5382: @dependabot[bot] chore(deps): bump sinatra from 2.2.2 to 3.0.2 in /tests/apps/ruby
- #5386: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 224 to 225 in /tests/apps/php
- #5361: @dependabot[bot] chore(deps): bump jetty-servlet from 11.0.11 to 11.0.12 in /tests/apps/java
- #5346: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 223 to 224 in /tests/apps/php
## 0.28.1
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.28.1/bootstrap.sh
sudo DOKKU_TAG=v0.28.1 bash bootstrap.sh
```
### Bug Fixes
- #5313: @josegonzalez Fix issues with multiple domains in new proxy plugins
## 0.28.0
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.28.0/bootstrap.sh
sudo DOKKU_TAG=v0.28.0 bash bootstrap.sh
```
See the [0.28.0 migration guide](/docs/appendices/0.28.0-migration-guide.md) for more information on migrating to 0.28.0.
### Bug Fixes
- #5299: @josegonzalez Do not trigger restarts when mutating config globally
- #5298: @josegonzalez Set core.bare=true on correct repository path
### New Features
- #5300: @josegonzalez Add the ability to disable the init process
- #5295: @josegonzalez Add an official caddy proxy implementation
- #5293: @josegonzalez Add an official traefik proxy implementation
- #5202: @josegonzalez Add builder-lambda plugin
### Documentation
- #5296: @janlavicka Fix typo in kubernetes docs
- #5288: @josegonzalez Do not have bottom border float on page
- #5283: @alexgleason Homepage: fix link in quick install guide
### Other
- #5297: @josegonzalez Update vector image
- #5294: @josegonzalez Document and enable alternative proxy implementations
- #5291: @dependabot[bot] chore(deps): bump werkzeug from 2.2.1 to 2.2.2 in /tests/apps/python-flask
- #5292: @dependabot[bot] chore(deps): bump flask from 2.2.1 to 2.2.2 in /tests/apps/multi
- #5290: @dependabot[bot] chore(deps): bump flask from 2.2.1 to 2.2.2 in /tests/apps/python-flask
- #5227: @josegonzalez Drop forwarded port from vagrant setup
- #5285: @josegonzalez Update all development dependencies
- #5240: @josegonzalez Drop support for CentOS, Fedora, OpenSuse, as well as Debian 9
- #5281: @dependabot[bot] chore(deps): bump flask from 2.1.3 to 2.2.1 in /tests/apps/multi
- #5280: @dependabot[bot] chore(deps): bump flask from 2.1.3 to 2.2.1 in /tests/apps/python-flask
- #5284: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 222 to 223 in /tests/apps/php
## 0.27.10
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.27.10/bootstrap.sh
sudo DOKKU_TAG=v0.27.10 bash bootstrap.sh
```
### Bug Fixes
- #5276: @d6rkaiz Remove duplicate syntax for nginx.conf
### Other
- #5274: @kennell readme: mention Ubuntu 22.04 compability
## 0.27.9
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.27.9/bootstrap.sh
sudo DOKKU_TAG=v0.27.9 bash bootstrap.sh
```
### Bug Fixes
- #5273: @josegonzalez Correct issue where more complex docker args were not properly parsed when scheduling containers
- #5272: @josegonzalez Add support for --global as app name when calling config-get trigger
- #5263: @alexgleason Update deprecated apt-key command
### New Features
- #5262: @josegonzalez Run shfmt against all test files
- #5257: @chrisjdixon Move nginx.conf.d includes after all other hard-coded config to allow for overrides
### Other
- #5184: @yasoob New website. Closes #5175
- #5270: @dependabot[bot] chore(deps): bump werkzeug from 2.2.0 to 2.2.1 in /tests/apps/python-flask
- #5265: @dependabot[bot] chore(deps): bump werkzeug from 2.1.2 to 2.2.0 in /tests/apps/python-flask
- #5264: @dependabot[bot] chore(deps): bump sinatra from 2.2.1 to 2.2.2 in /tests/apps/ruby
- #5261: @dependabot[bot] chore(deps): bump luizm/action-sh-checker from 0.4.0 to 0.5.0
- #5258: @dependabot[bot] chore(deps): bump sinatra from 2.2.0 to 2.2.1 in /tests/apps/ruby
## 0.27.8
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.27.8/bootstrap.sh
sudo DOKKU_TAG=v0.27.8 bash bootstrap.sh
```
### Bug Fixes
- #5232: @YuukiHogo builder-build fix for DOKKU_DOCKERFILE_CACHE_BUILD and DOKKU_DOCKER_BUILD_OPTS variables
### New Features
- #5255: @josegonzalez export DOKKU_COMMAND for use in authentication systems
### Other
- #5250: @dependabot[bot] chore(deps): bump flask from 2.1.2 to 2.1.3 in /tests/apps/multi
- #5251: @dependabot[bot] chore(deps): bump flask from 2.1.2 to 2.1.3 in /tests/apps/python-flask
- #5245: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 221 to 222 in /tests/apps/php
## 0.27.7
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.27.7/bootstrap.sh
sudo DOKKU_TAG=v0.27.7 bash bootstrap.sh
```
### Bug Fixes
- #5238: @josegonzalez Respect dokku system user/group when setting storage permissions on installation
### New Features
- #5239: @josegonzalez Add builder-type and image-stage labels to all images
### Documentation
- #5241: @josegonzalez Clarify where logs are pulled from and general log shipping stance
- #5237: @josegonzalez Fix builder-pack:set command example
### Other
- #5235: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 220 to 221 in /tests/apps/php
## 0.27.6
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.27.6/bootstrap.sh
sudo DOKKU_TAG=v0.27.6 bash bootstrap.sh
```
### Bug Fixes
- #5225: @josegonzalez Use original app name when setting include_labels for vector source
- #5228: @josegonzalez Always respect app.json formations in scale settings
- #5201: @josegonzalez Use pack as default builder for arm64 servers
### Documentation
- #5230: @josegonzalez Clarify usage of build args to set environment variables for Dockerfile deploys
- #5208: @asokoloski-m Fix typo in dockerfile builder docs
- #5206: @AxelTheGerman Added dokku-litestream to list of community plugins
### Other
- #5218: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 219 to 220 in /tests/apps/php
- #5222: @dependabot[bot] chore(deps): bump jetty-servlet from 11.0.10 to 11.0.11 in /tests/apps/java
- #5224: @josegonzalez Document that the community registry plugin should be uninstalled before upgrading past 0.24.x
- #5220: @dependabot[bot] chore(deps): bump jetty-servlet from 11.0.9 to 11.0.10 in /tests/apps/java
- #5212: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 218 to 219 in /tests/apps/php
- #5210: @dependabot[bot] chore(deps): bump monolog/monolog from 1.27.0 to 1.27.1 in /tests/apps/php
- #5204: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 217 to 218 in /tests/apps/php
## 0.27.5
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.27.5/bootstrap.sh
sudo DOKKU_TAG=v0.27.5 bash bootstrap.sh
```
### Bug Fixes
- #5183: @josegonzalez Filter apps when verifying app names
- #5199: @josegonzalez Revert "fix: Vector fails to start container due to --watch-config flag"
- #5197: @holamendi fix: Vector fails to start container due to --watch-config flag
- #5192: @josegonzalez Confirm installation of universe packages when installing on ubuntu
- #5193: @josegonzalez Force-set correct permissions on env files
- #5181: @josegonzalez Ensure we default SSH_NAME to NAME when filtering apps
### New Features
- #5196: @josegonzalez Disable herokuish usage on both armhf and arm64 platforms
- #5194: @josegonzalez Upgrade base Dockerfile image to phusion/baseimage:focal-1.2.0
### Other
- #5200: @dependabot[bot] chore(deps): bump rack from 2.2.3 to 2.2.3.1 in /tests/apps/ruby
- #5198: @dependabot[bot] chore(deps): bump grunt from 1.5.2 to 1.5.3 in /tests/apps/multi
- #5187: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 216 to 217 in /tests/apps/php
## 0.27.4
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.27.4/bootstrap.sh
sudo DOKKU_TAG=v0.27.4 bash bootstrap.sh
```
### Documentation
- #5180: @Bilal-io fixes rst-versions height
## 0.27.3
Install/update via the bootstrap script:
```shell
wget https://raw.githubusercontent.com/dokku/dokku/v0.27.3/bootstrap.sh
sudo DOKKU_TAG=v0.27.3 bash bootstrap.sh
```
### Bug Fixes
- #5178: @josegonzalez Fix app filtering for authenticated usage
- #5173: @bitjockey42 Add 22.04 to supported distro versions
### Documentation
- #5179: @Bilal-io Fixes to the Docs version switcher
- #5177: @josegonzalez docs: cleanup experimental warning in scheduler docs
- #5176: @josegonzalez Update installation requirements to mention arm64 and ubuntu 22.04
- #5174: @vladdoster Fix typos and phrasing in remote commands documentation
## 0.27.2
Install/update via the bootstrap script:

View File

@@ -31,7 +31,7 @@
> For problems affecting all applications, the report output for a broken application is useful for our debugging.
> In these cases, you may run `dokku report` without any arguments to display the top-level reporting information.
### How (deb/make/rpm) and where (AWS, VirtualBox, physical, etc.) was Dokku installed?
### How (deb/make) and where (AWS, VirtualBox, physical, etc.) was Dokku installed?
### Additional information

View File

@@ -1,17 +1,21 @@
DOKKU_VERSION ?= master
DOCKER_IMAGE_LABELER_VERSION ?= 0.4.1
HEROKUISH_VERSION ?= 0.5.34
NETRC_VERSION ?= 0.5.1
PLUGN_VERSION ?= 0.8.2
PROCFILE_VERSION ?= 0.14.1
SIGIL_VERSION ?= 0.8.1
SSHCOMMAND_VERSION ?= 0.15.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_amd64.tgz
NETRC_URL ?= https://github.com/dokku/netrc/releases/download/v${NETRC_VERSION}/netrc_${NETRC_VERSION}_linux_amd64.tgz
PLUGN_URL ?= https://github.com/dokku/plugn/releases/download/v${PLUGN_VERSION}/plugn_${PLUGN_VERSION}_linux_amd64.tgz
PROCFILE_UTIL_URL ?= https://github.com/josegonzalez/go-procfile-util/releases/download/v${PROCFILE_VERSION}/procfile-util_${PROCFILE_VERSION}_linux_amd64.tgz
SIGIL_URL ?= https://github.com/gliderlabs/sigil/releases/download/v${SIGIL_VERSION}/gliderlabs-sigil_${SIGIL_VERSION}_linux_amd64.tgz
TARGETARCH ?= amd64
DOCKER_IMAGE_LABELER_VERSION ?= 0.5.0
HEROKUISH_VERSION ?= 0.5.37
LAMBDA_BUILDER_VERSION ?= 0.4.0
NETRC_VERSION ?= 0.6.0
PLUGN_VERSION ?= 0.12.0
PROCFILE_VERSION ?= 0.15.0
SIGIL_VERSION ?= 0.9.0
SSHCOMMAND_VERSION ?= 0.16.0
DOCKER_IMAGE_LABELER_URL ?= https://github.com/dokku/docker-image-labeler/releases/download/v${DOCKER_IMAGE_LABELER_VERSION}/docker-image-labeler_${DOCKER_IMAGE_LABELER_VERSION}_linux_${TARGETARCH}.tgz
LAMBDA_BUILDER_URL ?= https://github.com/dokku/lambda-builder/releases/download/v${LAMBDA_BUILDER_VERSION}/lambda-builder_${LAMBDA_BUILDER_VERSION}_linux_${TARGETARCH}.tgz
NETRC_URL ?= https://github.com/dokku/netrc/releases/download/v${NETRC_VERSION}/netrc_${NETRC_VERSION}_linux_${TARGETARCH}.tgz
PLUGN_URL ?= https://github.com/dokku/plugn/releases/download/v${PLUGN_VERSION}/plugn_${PLUGN_VERSION}_linux_${TARGETARCH}.tgz
PROCFILE_UTIL_URL ?= https://github.com/josegonzalez/go-procfile-util/releases/download/v${PROCFILE_VERSION}/procfile-util_${PROCFILE_VERSION}_linux_${TARGETARCH}.tgz
SIGIL_URL ?= https://github.com/gliderlabs/sigil/releases/download/v${SIGIL_VERSION}/gliderlabs-sigil_${SIGIL_VERSION}_linux_${TARGETARCH}.tgz
SSHCOMMAND_URL ?= https://github.com/dokku/sshcommand/releases/download/v${SSHCOMMAND_VERSION}/sshcommand_${SSHCOMMAND_VERSION}_linux_x86_64.tgz
STACK_URL ?= https://github.com/gliderlabs/herokuish.git
PREBUILT_STACK_URL ?= gliderlabs/herokuish:latest-20
@@ -36,12 +40,12 @@ endif
include common.mk
.PHONY: all apt-update install version copyfiles copyplugin man-db plugins dependencies docker-image-labeler netrc sshcommand procfile-util plugn docker aufs stack count vagrant-acl-add vagrant-dokku go-build
.PHONY: all apt-update install version copyfiles copyplugin man-db plugins dependencies docker-image-labeler lambda-builder netrc sshcommand procfile-util plugn docker aufs stack count vagrant-acl-add vagrant-dokku go-build
include docs.mk
include tests.mk
include package.mk
include deb.mk
include rpm.mk
include arch.mk
all:
@@ -131,7 +135,7 @@ plugin-dependencies: plugn procfile-util
plugins: plugn procfile-util docker
sudo -E dokku plugin:install --core
dependencies: apt-update docker-image-labeler netrc sshcommand plugn procfile-util docker help2man man-db sigil dos2unix jq parallel
dependencies: apt-update docker-image-labeler lambda-builder netrc sshcommand plugn procfile-util docker help2man man-db sigil dos2unix jq parallel
$(MAKE) -e stack
apt-update:
@@ -155,27 +159,32 @@ man-db:
docker-image-labeler:
wget -qO /tmp/docker-image-labeler_latest.tgz ${DOCKER_IMAGE_LABELER_URL}
tar xzf /tmp/docker-image-labeler_latest.tgz -C /usr/local/bin
mv /usr/local/bin/docker-image-labeler-amd64 /usr/local/bin/docker-image-labeler
mv /usr/local/bin/docker-image-labeler-${TARGETARCH} /usr/local/bin/docker-image-labeler
lambda-builder:
wget -qO /tmp/lambda-builder_latest.tgz ${LAMBDA_BUILDER_URL}
tar xzf /tmp/lambda-builder_latest.tgz -C /usr/local/bin
mv /usr/local/bin/lambda-builder-${TARGETARCH} /usr/local/bin/lambda-builder
netrc:
wget -qO /tmp/netrc_latest.tgz ${NETRC_URL}
tar xzf /tmp/netrc_latest.tgz -C /usr/local/bin
mv /usr/local/bin/netrc-amd64 /usr/local/bin/netrc
mv /usr/local/bin/netrc-${TARGETARCH} /usr/local/bin/netrc
procfile-util:
wget -qO /tmp/procfile-util_latest.tgz ${PROCFILE_UTIL_URL}
tar xzf /tmp/procfile-util_latest.tgz -C /usr/local/bin
mv /usr/local/bin/procfile-util-amd64 /usr/local/bin/procfile-util
mv /usr/local/bin/procfile-util-${TARGETARCH} /usr/local/bin/procfile-util
plugn:
wget -qO /tmp/plugn_latest.tgz ${PLUGN_URL}
tar xzf /tmp/plugn_latest.tgz -C /usr/local/bin
mv /usr/local/bin/plugn-amd64 /usr/local/bin/plugn
mv /usr/local/bin/plugn-${TARGETARCH} /usr/local/bin/plugn
sigil:
wget -qO /tmp/sigil_latest.tgz ${SIGIL_URL}
tar xzf /tmp/sigil_latest.tgz -C /usr/local/bin
mv /usr/local/bin/gliderlabs-sigil-amd64 /usr/local/bin/sigil
mv /usr/local/bin/gliderlabs-sigil-${TARGETARCH} /usr/local/bin/sigil
sshcommand:
wget -qO /tmp/sshcommand_latest.tgz ${SSHCOMMAND_URL}

View File

@@ -3,7 +3,7 @@
[![Build Status](https://github.com/dokku/dokku/workflows/CI/badge.svg)](https://github.com/dokku/dokku/actions?query=workflow%3ACI)
[![Ubuntu Package](https://img.shields.io/badge/package-ubuntu-brightgreen.svg?style=flat-square "Ubuntu Package")](https://packagecloud.io/dokku/dokku)
[![Arch Package](https://img.shields.io/badge/package-arch-brightgreen.svg?style=flat-square "Arch Package")](https://aur.archlinux.org/packages/dokku/)
[![Slack Group](https://img.shields.io/badge/irc-slack-blue.svg?style=flat-square "Slack Group")](https://glider-slackin.herokuapp.com/)
[![Slack Group](https://img.shields.io/badge/irc-slack-blue.svg?style=flat-square "Slack Group")](https://slack.dokku.com/)
[![Documentation](https://img.shields.io/badge/docs-site-blue.svg?style=flat-square "Site")](https://dokku.com/docs/getting-started/installation/)
[![OpenCollective](https://opencollective.com/dokku/sponsors/badge.svg?style=flat-square)](#sponsors)
[![OpenCollective](https://opencollective.com/dokku/backers/badge.svg?style=flat-square)](#backers)
@@ -74,9 +74,8 @@ 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 x64 - Any currently supported release
- Debian 9+ x64
- CentOS 7 x64 *(experimental)*
- Ubuntu 18.04 / 20.04 / 22.04 x64 - Any currently supported release
- Debian 10+ x64
- Arch Linux x64 *(experimental)*
An SSH keypair that can be used for application deployment. If this exists before installation, it will be automatically imported into dokku.
@@ -87,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.27.2/bootstrap.sh
sudo DOKKU_TAG=v0.27.2 bash bootstrap.sh
wget https://raw.githubusercontent.com/dokku/dokku/v0.28.4/bootstrap.sh
sudo DOKKU_TAG=v0.28.4 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.
@@ -105,11 +104,11 @@ Full documentation - including advanced installation docs - are available online
## Support
You can use [GitHub Issues](https://github.com/dokku/dokku/issues), check [Troubleshooting](https://dokku.com/docs/getting-started/troubleshooting/) in the documentation, or join us on [Gliderlabs Slack in the #dokku channel](https://glider-slackin.herokuapp.com/).
You can use [GitHub Issues](https://github.com/dokku/dokku/issues), check [Troubleshooting](https://dokku.com/docs/getting-started/troubleshooting/) in the documentation, or join us on [Gliderlabs Slack in the #dokku channel](https://slack.dokku.com/).
## Contribution
After checking [GitHub Issues](https://github.com/dokku/dokku/issues), the [Troubleshooting Guide](https://dokku.com/docs/getting-started/troubleshooting/) or having a chat with us on [Gliderlabs Slack in the #dokku channel](https://glider-slackin.herokuapp.com/), feel free to fork and create a Pull Request.
After checking [GitHub Issues](https://github.com/dokku/dokku/issues), the [Troubleshooting Guide](https://dokku.com/docs/getting-started/troubleshooting/) or having a chat with us on [Gliderlabs Slack in the #dokku channel](https://slack.dokku.com/), feel free to fork and create a Pull Request.
While we may not merge your PR as is, they serve to start conversations and improve the general Dokku experience for all users.

17
Vagrantfile vendored
View File

@@ -6,7 +6,6 @@ BOX_CPUS = ENV["BOX_CPUS"] || "1"
BOX_MEMORY = ENV["BOX_MEMORY"] || "1024"
DOKKU_DOMAIN = ENV["DOKKU_DOMAIN"] || "dokku.me"
DOKKU_IP = ENV["DOKKU_IP"] || "10.0.0.2"
FORWARDED_PORT = (ENV["FORWARDED_PORT"] || '8080').to_i
PREBUILT_STACK_URL = File.exist?("#{File.dirname(__FILE__)}/stack.tgz") ? 'file:///root/dokku/stack.tgz' : nil
PUBLIC_KEY_PATH = "#{Dir.home}/.ssh/id_rsa.pub"
@@ -43,7 +42,6 @@ Vagrant::configure("2") do |config|
config.vm.define "dokku", primary: true do |vm|
vm.vm.synced_folder File.dirname(__FILE__), "/root/dokku"
vm.vm.network :forwarded_port, guest: 80, host: FORWARDED_PORT
vm.vm.hostname = "#{DOKKU_DOMAIN}"
vm.vm.network :private_network, ip: DOKKU_IP
@@ -72,7 +70,6 @@ Vagrant::configure("2") do |config|
# For windows users. Sharing folder from windows creates problem with sym links and so, sync the repo instead from GOS.
config.vm.define "dokku-windows", autostart: false do |vm|
vm.vm.network :forwarded_port, guest: 80, host: FORWARDED_PORT
vm.vm.hostname = "#{DOKKU_DOMAIN}"
vm.vm.network :private_network, ip: DOKKU_IP
vm.vm.provision :shell, :inline => "export DEBIAN_FRONTEND=noninteractive && apt-get update -qq >/dev/null && apt-get -qq -y --no-install-recommends install git dos2unix >/dev/null"
@@ -81,28 +78,17 @@ Vagrant::configure("2") do |config|
config.vm.define "dokku-deb", autostart: false do |vm|
vm.vm.synced_folder File.dirname(__FILE__), "/root/dokku"
vm.vm.network :forwarded_port, guest: 80, host: FORWARDED_PORT
vm.vm.hostname = "#{DOKKU_DOMAIN}"
vm.vm.network :private_network, ip: DOKKU_IP
vm.vm.provision :shell, :inline => "cd /root/dokku && make install-from-deb"
end
config.vm.define "dokku-rpm", autostart: false do |vm|
vm.vm.box = "centos/7"
vm.vm.synced_folder File.dirname(__FILE__), "/root/dokku"
vm.vm.network :forwarded_port, guest: 80, host: FORWARDED_PORT
vm.vm.hostname = "#{DOKKU_DOMAIN}"
vm.vm.network :private_network, ip: DOKKU_IP
vm.vm.provision :shell, :inline => "cd /root/dokku && bash bootstrap.sh"
end
config.vm.define "build", autostart: false do |vm|
vm.vm.synced_folder File.dirname(__FILE__), "/root/dokku"
vm.vm.network :forwarded_port, guest: 80, host: FORWARDED_PORT
vm.vm.hostname = "#{DOKKU_DOMAIN}"
vm.vm.network :private_network, ip: DOKKU_IP
vm.vm.provision :shell, :inline => "export DEBIAN_FRONTEND=noninteractive && apt-get update -qq >/dev/null && apt-get -qq -y --no-install-recommends install git >/dev/null && cd /root/dokku && #{make_cmd}"
vm.vm.provision :shell, :inline => "export IS_RELEASE=true && cd /root/dokku && make deb-all rpm-all"
vm.vm.provision :shell, :inline => "export IS_RELEASE=true && cd /root/dokku && make deb-all"
end
config.vm.define "build-arch", autostart: false do |vm|
@@ -111,7 +97,6 @@ Vagrant::configure("2") do |config|
if Pathname.new("#{File.dirname(__FILE__)}/../dokku-arch").exist?
vm.vm.synced_folder "#{File.dirname(__FILE__)}/../dokku-arch", "/dokku-arch"
end
vm.vm.network :forwarded_port, guest: 80, host: FORWARDED_PORT
vm.vm.hostname = "#{DOKKU_DOMAIN}"
vm.vm.network :private_network, ip: DOKKU_IP
vm.vm.provision :shell, :inline => "cd /dokku && make arch-all", privileged: false

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, or CentOS 7 via 'sudo'
# It expects to be run on Ubuntu 18.04/20.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 [9, 10, 11], CentOS [7], Fedora (partial) [33, 34], Ubuntu [18.04, 20.04]"
SUPPORTED_VERSIONS="Debian [10, 11], Ubuntu [18.04, 20.04, 22.04]"
log-fail() {
declare desc="log fail formatter"
@@ -63,7 +63,7 @@ install-requirements() {
apt-get -qq -y --no-install-recommends install software-properties-common
fi
add-apt-repository universe >/dev/null
add-apt-repository -y universe >/dev/null
apt-get update -qq >/dev/null
;;
esac
@@ -139,9 +139,6 @@ install-dokku-from-package() {
debian | ubuntu)
install-dokku-from-deb-package "$@"
;;
centos | fedora | rhel)
install-dokku-from-rpm-package "$@"
;;
*)
log-fail "Unsupported Linux distribution. For manual installation instructions, consult https://dokku.com/docs/getting-started/advanced-installation/"
;;
@@ -163,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" "9" "10" "11"; then
if ! in-array "$DOKKU_DISTRO_VERSION" "18.04" "20.04" "22.04" "10" "11"; then
log-fail "Unsupported Linux distribution. Only the following versions are supported: $SUPPORTED_VERSIONS"
fi
@@ -212,7 +209,7 @@ install-dokku-from-deb-package() {
fi
echo "--> Installing dokku"
wget -nv -O - https://packagecloud.io/dokku/dokku/gpgkey | apt-key add -
wget -qO- https://packagecloud.io/dokku/dokku/gpgkey | sudo tee /etc/apt/trusted.gpg.d/dokku.asc
echo "deb https://packagecloud.io/dokku/dokku/$DOKKU_DISTRO/ $OS_ID main" | tee /etc/apt/sources.list.d/dokku.list
apt-get update -qq >/dev/null
@@ -231,35 +228,6 @@ install-dokku-from-deb-package() {
fi
}
install-dokku-from-rpm-package() {
local DOKKU_CHECKOUT="$1"
if ! in-array "$DOKKU_DISTRO_VERSION" "7"; then
log-fail "Unsupported Linux distribution. Only the following versions are supported: $SUPPORTED_VERSIONS"
fi
echo "--> Installing docker"
curl -fsSL https://get.docker.com/ | sh
echo "--> Installing epel for nginx packages to be available"
yum install -y epel-release
echo "--> Installing herokuish and dokku"
curl -s https://packagecloud.io/install/repositories/dokku/dokku/script.rpm.sh | bash
if [[ -n $DOKKU_CHECKOUT ]]; then
yum -y install herokuish "dokku-$DOKKU_CHECKOUT"
else
yum -y install herokuish dokku
fi
echo "--> Enabling docker and nginx on system startup"
systemctl enable docker
systemctl enable nginx
echo "--> Starting nginx"
systemctl start nginx
}
main() {
export DOKKU_DISTRO DOKKU_DISTRO_VERSION
# shellcheck disable=SC1091

154
contrib/build-docs Executable file
View File

@@ -0,0 +1,154 @@
#!/usr/bin/env bash
set -eo pipefail
readonly ROOT_DIR="$(cd "$(dirname "$(dirname "${BASH_SOURCE[0]}")")" && pwd)"
main() {
pushd "$ROOT_DIR" >/dev/null || return 1
rm -rf docs-main tmp/docs-source tmp/docs-build # tmp/docs-build
cp -r docs docs-main
echo "====> Generating docs image"
make docs-build-image
echo "====> Fetching latest docs"
git clone -q https://github.com/dokku/docs.git tmp/docs-build
echo "====> Processing version: latest"
rm -rf tmp/docs-build/docs
git clone -q https://github.com/dokku/dokku.git tmp/docs-source
rm -rf docs/assets
mkdir -p docs/assets
cp -r docs-main/assets/extra.css docs/assets/extra.css
cp -r docs-main/assets/favicons docs/assets/favicons
cp -r docs-main/assets/dokku-logo.svg docs/assets/dokku-logo.svg
rm -rf tmp/docs-build/assets
cp -r docs-main/assets tmp/docs-build/assets
cp docs-main/_build/app-nginx.conf.sigil tmp/docs-build/app-nginx.conf.sigil
mkdir -p tmp/docs-build/nginx.conf.d
touch tmp/docs-build/.static
echo "[]" >tmp/docs-build/versions.json
sed -i.bak "s/outdated/outdated_hidden/g" docs/_overrides/main.html && rm docs/_overrides/main.html.bak
echo "----> Generating docs"
make docs-build
if [[ -n "$GITHUB_ACTION" ]]; then
sudo chown -R "$(whoami)" site
fi
rm -rf site/_build
mv site tmp/docs-build/docs
mv docs/home.html tmp/docs-build/index.html
sed -i.bak "s/{{NAME}}~{{REF}}/docs/g" tmp/docs-build/index.html && rm tmp/docs-build/index.html.bak
sed -i.bak "s/{{NAME}}/docs/g" tmp/docs-build/index.html && rm tmp/docs-build/index.html.bak
sed -i.bak 's/="\/docs\/"/="\/"/g' tmp/docs-build/index.html && rm tmp/docs-build/index.html.bak
jq -C -r '.["max-versions"][]' docs-main/assets/versions.json | while read -r current_version; do
major="$(echo "$current_version" | cut -d'.' -f1)"
minor="$(echo "$current_version" | cut -d'.' -f2)"
patch="$(echo "$current_version" | cut -d'.' -f3)"
while true; do
if [[ "$patch" -lt 0 ]]; then
break
fi
version="${major}.${minor}.${patch}"
echo "====> Processing version: ${major}.${minor}.${patch}"
if [[ "$major" -lt 1 ]]; then
if [[ "$current_version" != "$version" ]]; then
echo " Writing rewrite rule"
echo "rewrite ^/docs~v$version/(.*)$ /docs~v$current_version/\$1 redirect;" >"tmp/docs-build/nginx.conf.d/$version.conf"
echo " Removing old docs"
rm -rf "tmp/docs-build/docs~v${version}"
patch=$((patch - 1))
continue
fi
fi
jq --arg title "v$version" --arg version "docs~v$version" '. += [{"title": $title, "version": $version, "aliases": []}]' tmp/docs-build/versions.json >tmp/docs-build/versions.json.bak
mv tmp/docs-build/versions.json.bak tmp/docs-build/versions.json
if [[ -d "tmp/docs-build/docs~v${version}" ]]; then
echo " ! Docs exist, skipping regeneration"
rm -rf "tmp/docs-build/docs~v${version}/assets/favicons"
cp -r docs-main/assets/favicons "tmp/docs-build/docs~v${version}/assets/favicons"
cp -r docs-main/assets/dokku-logo.svg "tmp/docs-build/docs~v${version}/assets/dokku-logo.svg"
cp -r docs-main/assets/extra.css "tmp/docs-build/docs~v${version}/assets/extra.css"
patch=$((patch - 1))
continue
fi
git -C tmp/docs-source checkout -q -- .
git -C tmp/docs-source checkout -q "tags/v${version}" -b "v${version}-branch"
rm -rf docs
mv tmp/docs-source/docs docs
rm -rf docs/assets
mkdir -p docs/assets
cp -r docs-main/assets/favicons docs/assets/favicons
cp -r docs-main/assets/dokku-logo.svg docs/assets/dokku-logo.svg
cp -r docs-main/assets/extra.css docs/assets/extra.css
cp -r docs-main/_build docs/_build
cp -r docs-main/_overrides docs/_overrides
git checkout -q -- mkdocs.yml
sed -i.bak "s/site_dir: site/site_dir: docs~v$version/g" mkdocs.yml && rm mkdocs.yml.bak
if [[ ! -f docs/template.html ]]; then
if [[ "$patch" -eq 0 ]]; then
break
fi
continue
fi
echo "----> Generating docs"
if ! make docs-build; then
continue
fi
if [[ -d "docs~v${version}" ]]; then
if [[ -n "$GITHUB_ACTION" ]]; then
sudo chown -R "$(whoami)" "docs~v${version}"
fi
rm -rf "docs~v${version}/_build"
mv "docs~v${version}" "tmp/docs-build/docs~v${version}"
fi
if [[ "$patch" -eq 0 ]]; then
break
fi
patch=$((patch - 1))
done
done
echo "====> Rebuild versions"
if [[ -f "tmp/docs-build/versions.json" ]]; then
python contrib/sort-mkdocs-versions
else
echo " No version file exists"
fi
echo "====> Cleanup main repo"
rm -rf docs
mv docs-main docs
git checkout -- mkdocs.yml docs
if [[ "$(git -C tmp/docs-build ls-files -dmo)" == "docs/sitemap.xml.gz" ]]; then
echo " ! No doc changes found"
git -C tmp/docs-build checkout -- docs/sitemap.xml.gz
else
echo "====> Pushing docs"
git -C tmp/docs-build add .
git -C tmp/docs-build commit -m "chore: regenerate docs"
if [[ -n "$BOT_GITHUB_USERNAME" ]] && [[ -n "$BOT_GITHUB_API_TOKEN" ]]; then
git -C tmp/docs-build remote set-url origin "https://$BOT_GITHUB_USERNAME:$BOT_GITHUB_API_TOKEN@github.com/dokku/docs.git"
fi
git -C tmp/docs-build push origin master
fi
}
main "$@"

View File

@@ -18,7 +18,7 @@ WORKDIR ${WORKDIR}
COPY Makefile ${WORKDIR}/
COPY *.mk ${WORKDIR}/
RUN make deb-setup rpm-setup sshcommand plugn
RUN make deb-setup sshcommand plugn
COPY . ${WORKDIR}
@@ -37,7 +37,7 @@ RUN PLUGIN_MAKE_TARGET=${PLUGIN_MAKE_TARGET} \
IS_RELEASE=${IS_RELEASE} \
SKIP_GO_CLEAN=true \
make version copyfiles \
&& make deb-dokku rpm-dokku
&& make deb-dokku
FROM builder as armhf

View File

@@ -134,7 +134,6 @@ fn-publish-package() {
local OS_ID ex
[[ "$IS_RELEASE" == "true" ]] && REPOSITORY=dokku/dokku
[[ "$RELEASE_TYPE" == "rpm" ]] && DIST=el/7
[[ "$RELEASE_TYPE" == "raspbian" ]] && DIST=raspbian
if [[ "$RELEASE_TYPE" == "raspbian" ]]; then
@@ -159,7 +158,7 @@ fn-publish-package() {
done
DIST=debian
OS_IDS=("stretch" "buster" "bullseye")
OS_IDS=("buster" "bullseye")
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"
@@ -224,7 +223,7 @@ fn-repo-update() {
fn-replace-version "$CURRENT_VERSION" "$NEXT_VERSION" docs/assets/style.css
fn-replace-version "$CURRENT_VERSION" "$NEXT_VERSION" docs/development/release-process.md
fn-replace-version "$CURRENT_VERSION" "$NEXT_VERSION" docs/getting-started/install/docker.md
fn-replace-version "$CURRENT_VERSION" "$NEXT_VERSION" docs/getting-started/installation.md
fn-replace-version "$CURRENT_VERSION" "$NEXT_VERSION" docs/getting-started/installation/index.md
fn-replace-version "$CURRENT_VERSION" "$NEXT_VERSION" docs/home.html
fn-replace-version "$CURRENT_VERSION" "$NEXT_VERSION" docs/template.html
fn-replace-version "$CURRENT_VERSION" "$NEXT_VERSION" README.md
@@ -408,18 +407,15 @@ main() {
fn-extract-package "$IS_RELEASE" "dokku_${NEXT_VERSION}_armhf.deb" || log-fail "Error extracting deb package"
fn-extract-package "$IS_RELEASE" "dokku_${NEXT_VERSION}_arm64.deb" || log-fail "Error extracting deb package"
fn-extract-package "$IS_RELEASE" "dokku_${NEXT_VERSION}_amd64.deb" || log-fail "Error extracting deb package"
fn-extract-package "$IS_RELEASE" "dokku-${NEXT_VERSION}-1.x86_64.rpm" || log-fail "Error extracting rpm package"
mkdir -p build/package
cp -f "build/dokku_${NEXT_VERSION}_amd64.deb" build/package/dokku-amd64.deb
cp -f "build/dokku_${NEXT_VERSION}_arm64.deb" build/package/dokku-arm64.deb
cp -f "build/dokku_${NEXT_VERSION}_armhf.deb" build/package/dokku-armhf.deb
cp -f "build/dokku-${NEXT_VERSION}-1.x86_64.rpm" build/package/dokku-amd64.rpm
if [[ "$RELEASE" != "build" ]]; then
fn-publish-package "$IS_RELEASE" "raspbian" "build/dokku_${NEXT_VERSION}_armhf.deb" || log-fail "Error publishing deb package"
fn-publish-package "$IS_RELEASE" "deb" "build/dokku_${NEXT_VERSION}_arm64.deb" || log-fail "Error publishing deb package"
fn-publish-package "$IS_RELEASE" "deb" "build/dokku_${NEXT_VERSION}_amd64.deb" || log-fail "Error publishing deb package"
fn-publish-package "$IS_RELEASE" "rpm" "build/dokku-${NEXT_VERSION}-1.x86_64.rpm" || log-fail "Error publishing rpm package"
fn-build-docker-image "$NEXT_VERSION" "$IS_RELEASE" || log-fail "Error building docker image"
fn-repo-push-tags "$IS_RELEASE"

View File

@@ -0,0 +1,38 @@
#!/usr/bin/env python
import json
def main():
version_file = "tmp/docs-build/versions.json"
data = []
with open(version_file) as f:
data = json.load(f)
versions = []
for info in data:
if info["title"] == "latest":
continue
versions.append(info["title"].removeprefix("v"))
versions.sort(key=lambda x: list(map(int, x.split('.'))), reverse=True)
data = [
{
"aliases": ["latest"],
"title": "latest",
"version": "docs",
}
]
for version in versions:
data.append({
"aliases": [],
"title": f"v{version}",
"version": f"docs~v{version}",
})
with open(version_file, "w") as f:
json.dump(data, f, indent=4)
if __name__ == "__main__":
main()

344
contrib/write-mkdocs Normal file
View File

@@ -0,0 +1,344 @@
#!/usr/bin/env python
from bs4 import BeautifulSoup
import os
import pathlib
import shutil
import sys
import yaml
def get_nav_from_selector(soup, selector, docs_dir):
navigation = []
header_name = ""
for anchor in soup.select(selector):
classes = anchor.get("class", [])
if classes is None:
continue
if "disabled" in classes:
header_name = anchor.text
navigation.append({header_name: []})
href = anchor.get("href", "")
if href is None:
continue
href = str(href)
if href == "#":
continue
url = href.replace("{{NAME}}", "")
filename = url.replace("http://progrium.viewdocs.io/dokku/", "")
filename = filename.replace("http://dokku.viewdocs.io/dokku/", "")
filename = filename.strip("/") + ".md"
filename = filename.removeprefix("dokku/")
ignore_errors_for = [
"getting-started/installation.md",
"getting-started/upgrading.md",
]
if not os.path.exists(docs_dir + "/" + filename):
if filename not in ignore_errors_for:
print("error fetching markdown file:", filename)
continue
for nav in navigation:
if header_name in nav:
if filename == "getting-started/installation.md":
child_dir = "getting-started/install/"
children = os.listdir(docs_dir + "/" + child_dir)
children = [child_dir + c for c in children]
children.sort()
children.insert(
0, "getting-started/advanced-installation.md")
if os.path.exists(docs_dir + "/" + filename):
children.insert(0, filename)
else:
children.insert(
0, "getting-started/installation/index.md")
nav[header_name].append({
"Getting Started with Dokku": children,
})
continue
elif filename == "getting-started/upgrading.md":
child_dir = "appendices/"
children = os.listdir(docs_dir + "/" + child_dir)
children.sort(key=lambda x: list(
map(int, x.split("-")[0].split('.'))),
reverse=True)
children = [child_dir + c for c in children]
if os.path.exists(docs_dir + "/" + filename):
children.insert(0, filename)
else:
children.insert(
0, "getting-started/upgrading/index.md")
nav[header_name].append({
"Upgrading": children,
})
continue
else:
nav[header_name].append(filename)
return navigation
def generate_nav(src, dest):
navigation = []
repo_dir = pathlib.Path(__file__).parent.parent.resolve()
docs_dir = str(repo_dir) + "/docs"
with open(docs_dir + "/template.html") as response:
soup = BeautifulSoup(response, "html.parser")
selectors = [
".container .row .list-group a",
".container-fluid .row .list-group a",
]
for selector in selectors:
navigation = get_nav_from_selector(soup, selector, docs_dir)
if len(navigation) > 0:
break
if len(navigation) == 0:
print("No navigation found")
sys.exit(1)
with open(src) as f:
data = yaml.unsafe_load(f)
data["nav"] = [
{"Docs": navigation},
{"Pro": "https://pro.dokku.com/docs/getting-started/"},
{"Blog": "https://dokku.com/blog/"},
{"Purchase Dokku Pro": "https://dokku.dpdcart.com/cart/add?product_id=217344&method_id=236878"},
]
with open(dest, mode="wt", encoding="utf-8") as f:
yaml.dump(data, f)
def modify_content_noop(lines, _):
modified = False
updated_lines = []
for line in lines:
updated_lines.append(line)
return updated_lines, modified
def modify_content_links(lines, filename):
filename = filename.replace("/usr/src/source/docs/", "")
parts = filename.split("/")
parts.pop()
replacement = "](" + '/'.join([".." for _ in parts]) + "/"
modified = False
updated_lines = []
for line in lines:
if "](/docs/" in line:
line = line.replace("](/docs/", replacement)
modified = True
updated_lines.append(line)
return updated_lines, modified
def modify_content_stripspace(lines, _):
modified = False
updated_lines = []
for line in lines:
line = line.rstrip()
updated_lines.append(line)
return updated_lines, modified
def modify_content_inject_newlines(lines, _):
modified = False
updated_lines = []
for line in lines:
updated_lines.append(line.rstrip() + "\n")
return updated_lines, modified
def is_info(line):
return line.startswith("> ")
def is_new(line):
return line.startswith("> ") and "new as of" in line.lower()
def is_note(line):
return line.startswith("> Note:")
def is_warning(line):
return line.startswith("> Warning:")
def modify_content_admonition(lines, _):
modified = False
updated_lines = []
admonition_lines = []
is_admonition = False
for line in lines:
if is_info(line) or is_new(line) or is_note(line) or is_warning(line):
if is_new(line):
line = line.replace("> ", "!!! tip \"New\"\n\n ")
line = line.replace("New as of", "Introduced in")
line = line.replace("new as of", "introduced in")
if is_note(line):
line = line.replace(
"> Note: ", "!!! note \"Note\"\n\n ")
elif is_warning(line):
line = line.replace(
"> Warning: ", "!!! warning \"Warning\"\n\n ")
elif is_info(line):
if not is_admonition:
line = line.replace("> ", "!!! info \"Info\"\n\n ")
elif line in [">", "> "]:
line = ""
else:
line = " " + line.removeprefix("> ")
is_admonition = True
admonition_lines.append(line)
elif is_admonition and line in [">", "> "]:
line = ""
admonition_lines.append(line)
elif is_admonition and line.startswith("> "):
line = " " + line.removeprefix("> ")
admonition_lines.append(line)
elif line == "":
is_admonition = False
if len(admonition_lines) > 0:
updated_lines.extend(admonition_lines)
admonition_lines = []
updated_lines.append("")
else:
updated_lines.append(line)
return updated_lines, modified
def is_shell_codeblock_start(line):
return line == "```shell"
def modify_content_terminal_example(lines, _):
modified = False
updated_lines = []
command_block = []
example_block = []
in_command_block = False
in_example_block = False
previous_block = ""
next_line_must_be = None
for line in lines:
if is_shell_codeblock_start(line):
command_block.append(line)
modified = True
in_command_block = True
continue
elif in_command_block:
command_block.append(line)
if line == "```":
in_command_block = False
previous_block = "command_block"
next_line_must_be = ""
continue
elif line == "```":
if previous_block == "":
updated_lines.append(line)
continue
elif previous_block == "command_block":
example_block.append(line)
if in_example_block:
previous_block = ""
in_example_block = False
updated_lines.append("=== \"Shell\"")
updated_lines.append("")
for command_line in command_block:
updated_lines.append(f" {command_line}")
command_block = []
updated_lines.append("")
updated_lines.append("=== \"Output\"")
updated_lines.append("")
for example_line in example_block:
updated_lines.append(f" {example_line}")
example_block = []
else:
in_example_block = True
continue
elif previous_block == "command_block":
if next_line_must_be is None:
if in_example_block:
example_block.append(line)
else:
updated_lines.extend(command_block)
updated_lines.append("")
updated_lines.append(line)
command_block = []
previous_block = ""
continue
elif next_line_must_be == "":
if line == "":
next_line_must_be = None
continue
updated_lines.append(line)
if len(command_block) > 0:
updated_lines.extend(command_block)
return updated_lines, modified
def update_markdown(src):
markdown_files = []
allowed_extensions = [".md"]
for subdir, _, files in os.walk(src):
for file in files:
ext = os.path.splitext(file)[-1].lower()
file_path = os.path.join(subdir, file)
if ext in allowed_extensions:
markdown_files.append(file_path)
modifiers = [
modify_content_noop,
modify_content_links,
modify_content_stripspace,
modify_content_admonition,
modify_content_terminal_example,
modify_content_inject_newlines,
]
for file in markdown_files:
modified = False
lines = []
with open(file, 'r') as f:
lines = f.readlines()
for modifier in modifiers:
lines, m = modifier(lines, file)
if m:
modified = True
if modified:
with open(file, 'w') as fp:
fp.writelines(lines)
def main():
print("----> Copying mkdocs.yml")
print(" Generating navigation")
generate_nav("/usr/src/source/mkdocs.yml", "/usr/src/app/mkdocs.yml")
print("----> Copying docs folder")
update_markdown("/usr/src/source/docs",)
if os.path.exists("/usr/src/app/docs"):
print(" Removing old docs folder")
shutil.rmtree("/usr/src/app/docs")
print(" Performing copy")
shutil.copytree("/usr/src/source/docs", "/usr/src/app/docs")
if __name__ == "__main__":
main()

2
deb.mk
View File

@@ -19,7 +19,7 @@ install-from-deb:
wget -nv -O - https://get.docker.com/ | sh
@echo "--> Installing dokku"
wget -nv -O - https://packagecloud.io/dokku/dokku/gpgkey | apt-key add -
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
sudo apt-get update -qq >/dev/null
sudo DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true apt-get -qq -y --no-install-recommends install dokku

4
debian/control vendored
View File

@@ -1,9 +1,9 @@
Package: dokku
Version: 0.27.2
Version: 0.28.4
Section: web
Priority: optional
Architecture: amd64
Depends: 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-image-labeler (>= 0.2.2), net-tools, netrc, software-properties-common, parallel, procfile-util (>= 0.11.0), python-software-properties | python3-software-properties, rsync, rsyslog, dos2unix, jq, unzip
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-image-labeler (>= 0.2.2), lambda-builder, net-tools, netrc, software-properties-common, parallel, procfile-util (>= 0.11.0), python-software-properties | python3-software-properties, rsync, rsyslog, dos2unix, jq, unzip
Recommends: herokuish (>= 0.3.4), bash-completion, dokku-update, dokku-event-listener
Pre-Depends: gliderlabs-sigil, nginx (>= 1.8.0) | openresty, dnsutils, cgroupfs-mount | cgroup-lite, plugn (>= 0.3.0), sudo, python3, debconf
Maintainer: Jose Diaz-Gonzalez <dokku@josediazgonzalez.com>

19
docs.mk Normal file
View File

@@ -0,0 +1,19 @@
.PHONY: docs-build-image
docs-build-image:
docker build -f docs/_build/Dockerfile --progress plain -t app/mkdocs .
.PHONY: docs-build
docs-build:
@docker run --rm -p 3487:3487 -v "$(PWD):/usr/src/source" --name docs-serve app/mkdocs build
.PHONY: docs-serve
docs-serve:
docker run --rm -p 3487:3487 -v "$(PWD):/usr/src/source" --name docs-serve app/mkdocs serve
.PHONY: docs-deps
docs-deps:
@docker run --rm -p 3487:3487 -v "$(PWD):/usr/src/app" app/mkdocs deps
.PHONY: docs-enter
docs-enter:
docker exec -it docs-serve bash

12
docs/_build/Dockerfile vendored Normal file
View File

@@ -0,0 +1,12 @@
FROM python:3.10.8-alpine
WORKDIR /usr/src/app
COPY docs/_build/requirements.txt .
RUN apk add --no-cache bash yaml && \
pip install --no-cache-dir -r requirements.txt
COPY docs/_build/entrypoint /bin/entrypoint
ENTRYPOINT [ "/bin/entrypoint" ]

30
docs/_build/app-nginx.conf.sigil vendored Normal file
View File

@@ -0,0 +1,30 @@
worker_processes 1;
error_log stderr;
pid nginx.pid;
daemon off;
events {
worker_connections 768;
}
http {
types_hash_max_size 2048;
include mime.types;
charset UTF-8;
server {
listen {{ $.PORT }};
server_name _;
root /app/www;
index index.html;
port_in_redirect off;
include /app/www/nginx.conf.d/*.conf;
location ^~ /nginx.conf.d/ {
return 404;
}
location / {
try_files $uri $uri/ =404;
}
}
}

39
docs/_build/entrypoint vendored Executable file
View File

@@ -0,0 +1,39 @@
#!/usr/bin/env bash
set -eo pipefail
write-mkdocs() {
if [[ -f /usr/src/source/contrib/write-mkdocs ]]; then
if ! python /usr/src/source/contrib/write-mkdocs; then
exit 0
fi
fi
}
main() {
declare CMD="$1" ARGS=("${@:2}")
if [[ "$CMD" == "build" ]]; then
write-mkdocs
echo "----> Executing mkdocs build"
mkdocs build
site_dir="$(grep site_dir mkdocs.yml | awk '{print $2}')"
cp -r "/usr/src/app/${site_dir}" "/usr/src/source/${site_dir}"
return $?
fi
if [[ "$CMD" == "deps" ]]; then
pip freeze
return $?
fi
if [[ "$CMD" == "serve" ]]; then
write-mkdocs
mkdocs serve -a 0.0.0.0:3487
return $?
fi
"$CMD" "${ARGS[@]}"
}
main "$@"

23
docs/_build/requirements.txt vendored Normal file
View File

@@ -0,0 +1,23 @@
beautifulsoup4==4.11.1
click==8.1.3
ghp-import==2.1.0
importlib-metadata==4.12.0
Jinja2==3.1.2
Markdown==3.3.7
MarkupSafe==2.1.1
mergedeep==1.3.4
mkdocs==1.3.1
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
python-dateutil==2.8.2
PyYAML==6.0
pyyaml_env_tag==0.1
six==1.16.0
soupsieve==2.3.2.post1
watchdog==2.1.9
zipp==3.8.1

56
docs/_overrides/main.html Normal file
View File

@@ -0,0 +1,56 @@
<!--
Copyright (c) 2016-2022 Martin Donath <martin.donath@squidfunk.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
-->
{% extends "base.html" %}
<!-- Custom front matter -->
{% block extrahead %}
<!-- Extra style sheets (can't be set in mkdocs.yml due to content hash) -->
<link
rel="stylesheet"
href="{{ 'overrides/assets/stylesheets/main.css' | url }}"
/>
{% endblock %}
<!-- Announcement bar -->
{% block announce %}
<a href="https://twitter.com/dokku">
For updates follow <strong>@dokku</strong> on
<span class="twemoji twitter">
{% include ".icons/fontawesome/brands/twitter.svg" %}
</span>
<strong>Twitter</strong>
</a>
{% endblock %}
<!-- Theme-related JavaScript -->
{% block scripts %}
{{ super() }}
<!-- Extra JavaScript (can't be set in mkdocs.yml due to content hash) -->
<script src="{{ 'overrides/assets/javascripts/bundle.js' | url }}"></script>
{% endblock %}
{% block outdated %}
You're not viewing the latest version.
<a href="{{ page.abs_url }}">
<strong>Click here to go to latest.</strong>
</a>
{% endblock %}

View File

@@ -17,30 +17,30 @@ To support this, Dokku provides support for a special `release` command within y
Each "phase" has different expectations and limitations:
- `app.json`: `scripts.dokku.predeploy`
- When to use: This should be used if your app does not support arbitrary build commands and you need to make changes to the built image.
- Are changes committed to the image at this phase: Yes
- Example use-cases
- Bundling assets in a slightly different way
- Installing a custom package from source or copying a binary into place
- When to use: This should be used if your app does not support arbitrary build commands and you need to make changes to the built image.
- Are changes committed to the image at this phase: Yes
- Example use-cases
- Bundling assets in a slightly different way
- Installing a custom package from source or copying a binary into place
- `app.json`: `scripts.dokku.postdeploy`
- When to use: This should be used in conjunction with external systems to signal the completion of your deploy.
- Are changes committed to the image at this phase: No
- Example use-cases
- Notifying slack that your app is deployed
- Coordinating traffic routing with a central load balancer
- When to use: This should be used in conjunction with external systems to signal the completion of your deploy.
- Are changes committed to the image at this phase: No
- Example use-cases
- Notifying slack that your app is deployed
- Coordinating traffic routing with a central load balancer
- `app.json`: `scripts.postdeploy`
- When to use: This should be used when you wish to run a command _once_, after the app is created and not on subsequent deploys to the app.
- Are changes committed to the image at this phase: No
- Example use-cases
- Setting up OAuth clients and DNS
- Loading seed/test data into the app’s test database
- When to use: This should be used when you wish to run a command _once_, after the app is created and not on subsequent deploys to the app.
- Are changes committed to the image at this phase: No
- Example use-cases
- Setting up OAuth clients and DNS
- Loading seed/test data into the app’s test database
- `Procfile`: `release`
- When to use: This should be used in conjunction with external systems to signal the completion of your app image build.
- Are changes committed to the image at this phase: No
- Example use-cases
- Sending CSS, JS, and other assets from your app’s slug to a CDN or S3 bucket
- Priming or invalidating cache stores
- Running database migrations
- When to use: This should be used in conjunction with external systems to signal the completion of your app image build.
- Are changes committed to the image at this phase: No
- Example use-cases
- Sending CSS, JS, and other assets from your app’s slug to a CDN or S3 bucket
- Priming or invalidating cache stores
- Running database migrations
Additionally, if using a Dockerfile with an `ENTRYPOINT`, the deployment task is passed to that entrypoint as is. The exceptions are if the entrypoint is one of the following:

View File

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

View File

@@ -35,35 +35,35 @@ dokku plugin:list
```
plugn: dev
00_dokku-standard 0.27.2 enabled dokku core standard plugin
20_events 0.27.2 enabled dokku core events logging plugin
app-json 0.27.2 enabled dokku core app-json plugin
apps 0.27.2 enabled dokku core apps plugin
build-env 0.27.2 enabled dokku core build-env plugin
buildpacks 0.27.2 enabled dokku core buildpacks plugin
certs 0.27.2 enabled dokku core certificate management plugin
checks 0.27.2 enabled dokku core checks plugin
common 0.27.2 enabled dokku core common plugin
config 0.27.2 enabled dokku core config plugin
docker-options 0.27.2 enabled dokku core docker-options plugin
domains 0.27.2 enabled dokku core domains plugin
enter 0.27.2 enabled dokku core enter plugin
git 0.27.2 enabled dokku core git plugin
logs 0.27.2 enabled dokku core logs plugin
network 0.27.2 enabled dokku core network plugin
nginx-vhosts 0.27.2 enabled dokku core nginx-vhosts plugin
plugin 0.27.2 enabled dokku core plugin plugin
proxy 0.27.2 enabled dokku core proxy plugin
ps 0.27.2 enabled dokku core ps plugin
repo 0.27.2 enabled dokku core repo plugin
resource 0.27.2 enabled dokku core resource plugin
scheduler-docker-local 0.27.2 enabled dokku core scheduler-docker-local plugin
shell 0.27.2 enabled dokku core shell plugin
ssh-keys 0.27.2 enabled dokku core ssh-keys plugin
storage 0.27.2 enabled dokku core storage plugin
tags 0.27.2 enabled dokku core tags plugin
tar 0.27.2 enabled dokku core tar plugin
trace 0.27.2 enabled dokku core trace plugin
00_dokku-standard 0.28.4 enabled dokku core standard plugin
20_events 0.28.4 enabled dokku core events logging plugin
app-json 0.28.4 enabled dokku core app-json plugin
apps 0.28.4 enabled dokku core apps plugin
build-env 0.28.4 enabled dokku core build-env plugin
buildpacks 0.28.4 enabled dokku core buildpacks plugin
certs 0.28.4 enabled dokku core certificate management plugin
checks 0.28.4 enabled dokku core checks plugin
common 0.28.4 enabled dokku core common plugin
config 0.28.4 enabled dokku core config plugin
docker-options 0.28.4 enabled dokku core docker-options plugin
domains 0.28.4 enabled dokku core domains plugin
enter 0.28.4 enabled dokku core enter plugin
git 0.28.4 enabled dokku core git plugin
logs 0.28.4 enabled dokku core logs plugin
network 0.28.4 enabled dokku core network plugin
nginx-vhosts 0.28.4 enabled dokku core nginx-vhosts plugin
plugin 0.28.4 enabled dokku core plugin plugin
proxy 0.28.4 enabled dokku core proxy plugin
ps 0.28.4 enabled dokku core ps plugin
repo 0.28.4 enabled dokku core repo plugin
resource 0.28.4 enabled dokku core resource plugin
scheduler-docker-local 0.28.4 enabled dokku core scheduler-docker-local plugin
shell 0.28.4 enabled dokku core shell plugin
ssh-keys 0.28.4 enabled dokku core ssh-keys plugin
storage 0.28.4 enabled dokku core storage plugin
tags 0.28.4 enabled dokku core tags plugin
tar 0.28.4 enabled dokku core tar plugin
trace 0.28.4 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.

View File

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

View File

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

View File

@@ -7,7 +7,9 @@ The [dokku-registry](https://github.com/dokku/dokku-registry) plugin is now buil
- Builder plugins should call `post-release-builder` at the end of the build.
- The `push` and `pull` command are not implemented. Users wishing to deploy a remote image should use `git:from-image`. Image pushing is not available at this time.
- At this time, remote docker repositories are not automatically created for AWS, and users must create those repositories for their applications as necessary. This may be implemented in the future.
- Docker images are only pushed when configured to do so. See the [registry management documentation](/docs/deployment/registry-management.md) for more details.
- Docker images are only pushed when configured to do so. See the [registry management documentation](/docs/advanced-usage/registry-management.md) for more details.
Before upgrading, uninstall the registry plugin via `dokku plugin:uninstall registry`. Not doing so will cause issues with Dokku.
## Other

View File

@@ -0,0 +1,25 @@
# 0.28.0 Migration Guide
## Removals
Support for the following operating systems has been removed:
- CentOS 7
- Debian 9 (Stretch)
- Fedora
- OpenSuse
Dokku will no longer provide packages for RPM based systems. Debian 9 users _may_ use new Debian packages, though support is not guaranteed.
All users are encouraged to install Dokku via the [Docker-based installation method](/docs/getting-started/install/docker.md), or switch to a supported operating system.
## Deprecations
Ubuntu 18.04 is now a deprecated installation target. The operating system will be considered EOL by Canonical in April 2023. Users are encouraged to upgrade to Ubuntu 22.04 or consider switching their instllation method to the [Docker-based installation method](/docs/getting-started/install/docker.md) to avoid any disruption in usage.
## Additions
New in 0.28.0 are the Caddy 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`.

View File

@@ -5,11 +5,11 @@
- The nginx-vhosts template language is now [sigil](https://github.com/gliderlabs/sigil)
- No need to escape literal `$` characters (or other "bash-isms")
- Template variables are represented as {{ .VARIABLE_NAME }}
- A detailed list of template variables can be found [here](/docs/configuration/nginx.md#available-template-variables)
- A detailed list of template variables can be found [here](/docs/networking/proxies/nginx.md#available-template-variables)
- A custom nginx-vhosts template must be named `nginx.conf.sigil`
- The default path for this custom template is the root of your repo (i.e. `/app` in the container or `WORKDIR` if defined in a dockerfile app)
- Dokku no longer looks for this file in `/home/dokku/node-js-app` on the Dokku server
- Check out an example template [here](/docs/configuration/nginx.md)
- Check out an example template [here](/docs/networking/proxies/nginx.md)
- Support for server-wide SSL certs have been dropped in favor of using the `certs` plugin
- `dokku certs:add node-js-app < certs.tar`
- All domains for an SSL-enabled app will be redirected to https by default

View File

@@ -0,0 +1,31 @@
<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>

After

Width:  |  Height:  |  Size: 6.3 KiB

5
docs/assets/extra.css Normal file
View File

@@ -0,0 +1,5 @@
:root > * {
--md-primary-fg-color: #2A8FBD;
--md-primary-fg-color--light: #ECB7B7;
--md-primary-fg-color--dark: #90030C;
}

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 825 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 469 B

BIN
docs/assets/social/irc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 686 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 816 B

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 91 KiB

View File

@@ -24,6 +24,7 @@
"0.24.10",
"0.25.7",
"0.26.8",
"0.27.2"
"0.27.10",
"0.28.4"
]
}

View File

@@ -102,6 +102,7 @@ The following plugins are available and provided by Dokku maintainers. Please f
| [Haproxy tcp load balancer](https://github.com/256dpi/dokku-haproxy) | [256dpi][] | 0.4.0+ |
| [Hostname](https://github.com/michaelshobbs/dokku-hostname) | [michaelshobbs][] | 0.4.0+ |
| [HTTP Auth Secure Apps](https://github.com/matto1990/dokku-secure-apps) | [matto1990][] | 0.4.0+ |
| [Litestream](https://github.com/AxelTheGerman/dokku-litestream)<sup>2</sup> | [AxelTheGerman][] | 0.27.0+ |
| [Monit (Health Checks)](https://github.com/mbreit/dokku-monit) | [mbreit][] | 0.8.0+ |
| [Nuke Containers](https://github.com/josegonzalez/dokku-nuke) | [josegonzalez][] | 0.4.0+ |
| [Open App Ports](https://github.com/josegonzalez/dokku-ports) | [josegonzalez][] | 0.3.x |
@@ -116,13 +117,15 @@ The following plugins are available and provided by Dokku maintainers. Please f
<sup>1</sup> Extends app.json support to include creating volumes and creating / linking databases on push
<sup>2</sup> Adds the possibility to add SSH deployment keys to receive private hosted packages
<sup>2</sup> Adds SQLite replication to external object storage via [Litestream](https://litestream.io)
<sup>3</sup> Adds the ability to add custom hosts to the containers known_hosts file to be able to ssh them easily (useful with deployment keys)
<sup>3</sup> Adds the possibility to add SSH deployment keys to receive private hosted packages
<sup>4</sup> Adds the ability to sync an application repo with a remote GitHub repo (useful for automated rebuilds without needing a git push from an external system
<sup>4</sup> Adds the ability to add custom hosts to the containers known_hosts file to be able to ssh them easily (useful with deployment keys)
<sup>5</sup> Adds the ability to invoke a post-deploy webhook with the IP, port and app name, all with a single config:set).
<sup>5</sup> Adds the ability to sync an application repo with a remote GitHub repo (useful for automated rebuilds without needing a git push from an external system
<sup>6</sup> Adds the ability to invoke a post-deploy webhook with the IP, port and app name, all with a single config:set).
### Other Plugins
@@ -238,6 +241,7 @@ The following plugins are no longer maintained by their developers.
[aomitayo]: https://github.com/aomitayo
[apmorton]: https://github.com/apmorton
[artofrawr]: https://github.com/artofrawr
[AxelTheGerman]: https://github.com/AxelTheGerman
[badsyntax]: https://github.com/badsyntax
[basgys]: https://github.com/basgys
[benjamin-dobell]: https://github.com/benjamin-dobell

View File

@@ -113,4 +113,4 @@ dokku domains:report node-js-app --domains-app-enabled
## Default site
This is specific to your proxy plugin of choice. See the [nginx documentation](/docs/configuration/nginx.md#default-site) for more information on how to configure this for the default nginx proxy implementation.
This is specific to your proxy plugin of choice. See the [nginx documentation](/docs/networking/proxies/nginx.md#default-site) for more information on how to configure this for the default nginx proxy implementation.

View File

@@ -14,7 +14,7 @@ config:keys (<app>|--global) [--merged]
config:set [--encoded] [--no-restart] (<app>|--global) KEY1=VALUE1 [KEY2=VALUE2 ...] Set one or more config vars
config:unset [--no-restart] (<app>|--global) KEY1 [KEY2 ...] Unset one or more config vars
```
> For security reasons - and as per [docker recommendations](https://github.com/docker/docker/issues/13490) - Dockerfile-based deploys have variables available _only_ during runtime, as noted in [this issue](https://github.com/dokku/dokku/issues/1860).
> For security reasons - and as per [docker recommendations](https://github.com/docker/docker/issues/13490) - Dockerfile-based deploys have variables available _only_ during runtime, as noted in [this issue](https://github.com/dokku/dokku/issues/1860). Consider using [build arguments](/docs/deployment/builders/dockerfiles.md#build-time-configuration-variables) to expose variables during build-time for Dockerfile apps.
Environment variables are available both at run time and during the application build/compilation step for buildpack-based deploys.

View File

@@ -43,7 +43,7 @@ cat yourdomain_com.crt yourdomain_com.ca-bundle > server.crt
When an SSL certificate is associated to an application, the certificate will be associated with _all_ domains currently associated with said application. Your certificate _should_ be associated with all of those domains, otherwise accessing the application will result in SSL errors. If you wish to remove one of the domains from the application, refer to the [domain configuration documentation](/docs/configuration/domains.md).
Note that with the default nginx template, requests will be redirected to the `https` version of the domain. If this is not the desired state of request resolution, you may customize the nginx template in use. For more details, see the [nginx documentation](/docs/configuration/nginx.md).
Note that with the default nginx template, requests will be redirected to the `https` version of the domain. If this is not the desired state of request resolution, you may customize the nginx template in use. For more details, see the [nginx documentation](/docs/networking/proxies/nginx.md).
### Certificate generation
@@ -126,7 +126,7 @@ dokku certs:report node-js-app --ssl-enabled
The [HSTS header](https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security) is an HTTP header that can inform browsers that all requests to a given site should be made via HTTPS. Dokku does enables this header by default for HTTPS requests.
See the [NGINX HSTS documentation](/docs/configuration/nginx.md#hsts-header) for more information on how the HSTS configuration can be managed for your application.
See the [NGINX HSTS documentation](/docs/networking/proxies/nginx.md#hsts-header) for more information on how the HSTS configuration can be managed for your application.
## HTTP/2 support

View File

@@ -1,4 +1,4 @@
# Deploying to Dokku
# Deploying an Application
> Note: This walkthrough uses the hostname `dokku.me` in commands. When deploying to your own server, you should substitute the domain `dokku.me` for the domain name or IP address associated with your server. Users of the Vagrant VM included with Dokku can use `dokku.me` which points to the IP of the VM.
@@ -105,7 +105,7 @@ Dokku supports deploying applications in a few ways:
- [Heroku buildpacks](https://devcenter.heroku.com/articles/buildpacks) via [Herokuish](https://github.com/gliderlabs/herokuish#buildpacks): See the [herokuish buildpacks documentation](/docs/deployment/builders/herokuish-buildpacks.md) to learn about the different ways to specify a buildpack.
- This is the default method used by Dokku.
- [Dockerfile](https://docs.docker.com/reference/builder/): See the [dockerfile documentation](/docs/deployment/builders/dockerfiles.md) to learn about the different ways to configure Dockerfile-based deploys.
- [Docker Image](https://docs.docker.com/get-started/overview/#docker-objects): See the [docker image documentation](/docs/deployment/methods/images.md) to learn about how to deploy a Docker Image.
- [Docker Image](https://docs.docker.com/get-started/overview/#docker-objects): See the [docker image documentation](/docs/deployment/methods/git.md#initializing-an-app-repository-from-a-docker-image) to learn about how to deploy a Docker Image.
### Setting up SSL
@@ -242,7 +242,7 @@ See the [Dockerfile documentation](/docs/deployment/builders/dockerfiles.md) for
## Image tagging
See the [image tagging documentation](/docs/deployment/methods/images.md) for more information on how Docker images can be tagged and deployed for a given application.
See the [image tagging documentation](/docs/deployment/methods/git.md#initializing-an-app-repository-from-a-docker-image) for more information on how Docker images can be tagged and deployed for a given application.
## Specifying a custom buildpack

View File

@@ -150,6 +150,12 @@ 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`.
```shell
git remote set-url dokku dokku@dokku.me:io-js-app
```
### Cloning an existing app
> New as of 0.11.5

View File

@@ -17,6 +17,7 @@ Dokku supports the following built-in builders:
- `builder-dockerfile`: Builds apps using a `Dockerfile` via `docker build`. See the [dockerfile builder documentation](/docs/deployment/builders/dockerfiles.md) for more information on how this builder functions.
- `builder-herokuish`: Builds apps with Heroku's v2a Buildpack specification via `gliderlabs/herokuish`. See the [herokuish builder documentation](/docs/deployment/builders/herokuish-buildpacks.md) for more information on how this builder functions.
- `builder-lambda`: Builds AWS Lambda functions in an environment simulating AWS Lambda runtimes via [lambda-builder](https://github.com/dokku/lambda-builder). See the [lambda builder documentation](/docs/deployment/builders/lambda.md) for more information on how this builder functions.
- `builder-null`: Does nothing during the build phase. See the [null builder documentation](/docs/deployment/builders/null.md) for more information on how this builder functions.
- `builder-pack`: Builds apps with Cloud Native Buildpacks via the `pack-cli` tool. See the [cloud native buildpacks builder documentation](/docs/deployment/builders/cloud-native-buildpacks.md) for more information on how this builder functions.

View File

@@ -1,4 +1,4 @@
# Cloud Native Buildpacks (Experimental)
# Cloud Native Buildpacks
> New as of 0.22.0
@@ -84,7 +84,7 @@ dokku builder-pack:set --global projecttoml-path
You can get a report about the app's storage status using the `builder-pack:report` command:
```shell
dokku app-json:report
dokku builder-pack:report
```
```

View File

@@ -62,7 +62,7 @@ dokku builder-dockerfile:set --global dockerfile-path
You can get a report about the app's storage status using the `builder-dockerfile:report` command:
```shell
dokku app-json:report
dokku builder-dockerfile:report
```
```
@@ -107,7 +107,7 @@ 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):
```shell
dokku docker-options:add node-js-app build '--build-arg NODE_ENV=production'

View File

@@ -1,4 +1,4 @@
# Herokuish Buildpack Deployment
# Herokuish Buildpacks
> Subcommands new as of 0.15.0

View File

@@ -0,0 +1,107 @@
# Lambda Builder
> New as of 0.28.0
The `lambda` builder builds AWS Lambda functions in an environment simulating AWS Lambda runtimes via [lambda-builder](https://github.com/dokku/lambda-builder). Apps built via this builder can run natively in Dokku and may also have their artifacts scheduled to Lambda via an appropriate scheduler.
## Usage
### Detection
This builder will be auto-detected in the following case:
- A `lambda.yml` exists in the root of the app repository.
The builder may also be selected via the `builder:set` command
```shell
dokku builder:set node-js-app selected lambda
```
### Supported languages
The `lambda` builder plugin supports the following AWS runtime languages on Amazon Linux 2:
- dotnet
- go (builder is based on AL1)
- nodejs
- python
- ruby
See the [lambda-builder](https://github.com/dokku/lambda-builder#how-does-it-work) documentation for more information on how specific languages are detected.
### Customizing the build environment
The `lambda` builder plugin delegates all build logic to [lambda-builder](https://github.com/dokku/lambda-builder), including language detection and build/runtime environment specification. The lambda-builder tool supports a `lambda.yml` file format for customizing how apps are built. Please see the readme for lambda-builder for more information on different options.
### Changing the `lambda.yml` location
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.
```shell
dokku builder-lambda:set node-js-app lambdayml-path lambda2.yml
```
The default value may be set by passing an empty value for the option:
```shell
dokku builder-lambda:set node-js-app lambdayml-path
```
The `lambdayml-path` property can also be set globally. The global default is `lambda.yml`, and the global value is used when no app-specific value is set.
```shell
dokku builder-lambda:set --global lambdayml-path lambda2.yml
```
The default value may be set by passing an empty value for the option.
```shell
dokku builder-lambda:set --global lambdayml-path
```
### Displaying builder-lambda reports for an app
You can get a report about the app's storage status using the `builder-lambda:report` command:
```shell
dokku builder-lambda-json:report
```
```
=====> node-js-app builder-lambda information
Builder-lambda computed lambdayml path: lambda2.yml
Builder-lambda global lambdayml path: lambda.yml
Builder-lambda lambdayml path: lambda2.yml
=====> python-sample builder-lambda information
Builder-lambda computed lambdayml path: lambda.yml
Builder-lambda global lambdayml path: lambda.yml
Builder-lambda lambdayml path:
=====> ruby-sample builder-lambda information
Builder-lambda computed lambdayml path: lambda.yml
Builder-lambda global lambdayml path: lambda.yml
Builder-lambda lambdayml path:
```
You can run the command for a specific app also.
```shell
dokku builder-lambda:report node-js-app
```
```
=====> node-js-app builder-lambda information
Builder-lambda computed lambdayml path: lambda2.yml
Builder-lambda global lambdayml path: lambda.yml
Builder-lambda lambdayml path: lambda2.yml
```
You can pass flags which will output only the value of the specific information you want. For example:
```shell
dokku builder-lambda:report node-js-app --builder-lambda-lambdayml-path
```
```
lambda2.yml
```

View File

@@ -20,6 +20,8 @@ You can easily get logs of an app using the `logs` command:
dokku logs node-js-app
```
Logs are pulled via integration with the scheduler for the specified application via "live tailing". As such, logs from previously running deployments are usually not available. Users that desire to see logs from previous deployments for debugging purposes should persist those logs to external services. Please see Dokku's [vector integration](/docs/deployment/logs.md#vector-logging-shipping) for more information on how to persist logs across deployments to ship logs to another service or a third-party platform.
#### Behavioral modifiers
Dokku also supports certain command-line arguments that augment the `log` command's behavior.
@@ -41,7 +43,7 @@ The above command will show logs continually from the web process.
### Failed deploy logs
> Warning: The default [docker-local scheduler](/docs/advanced-usage/schedulers/docker-local.md) will "store" these until the next deploy or until the old containers are garbage collected - whichever runs first. If you require the logs beyond this point in time, please ship the logs to a centralized log server.
> Warning: The default [docker-local scheduler](/docs/deployment/schedulers/docker-local.md) will "store" these until the next deploy or until the old containers are garbage collected - whichever runs first. If you require the logs beyond this point in time, please ship the logs to a centralized log server.
In some cases, it may be useful to retrieve the logs from a previously failed deploy.

View File

@@ -2,7 +2,7 @@
Dokku commands can be run over SSH. Anywhere you would run `dokku <command>`, just run `ssh -t dokku@dokku.me <command>`
The `-t` is used to request a pty. It is highly recommended to do so.
To avoid the need to type the `-t` option each time, simply create/modify a section in the `.ssh/config` on the client side, as follows:
To avoid the need to type the `-t` option each time, create/modify a section in the `.ssh/config` on the client side, as follows:
```ini
Host dokku.me
@@ -12,7 +12,7 @@ Host dokku.me
## Behavioral modifiers
Dokku also supports certain command line arguments that augment its behavior. If using these over SSH, you must use the form `ssh -t dokku@dokku.me -- <command>`
in order to avoid SSH interpretting Dokku arguments for itself.
to avoid SSH interpreting Dokku arguments for itself.
```
--quiet suppress output headers
@@ -71,7 +71,7 @@ All commands have the application name automatically set via the `--app` flag on
The client supports several environment variables:
- `DOKKU_HOST` (default: `dokku` git remote): Used to interact with a specific remote server. Can be overriden via `--remote` flag.
- `DOKKU_HOST` (default: `dokku` git remote): Used to interact with a specific remote server. Can be overridden via the `--remote` flag.
- `DOKKU_PORT` (default: `22`): Used to specify a port to connect to the Dokku server on.
It also supports several flags (all flags unspecified here are passed as is to the server):
@@ -84,10 +84,10 @@ It also supports several flags (all flags unspecified here are passed as is to t
In addition, the following commands have special local side-effects:
- `apps:create`:
- If no local `--app` flag is specified or detected from a `dokku` git remote, a random name is generated and used for the app.
- The `dokku` git remote is set if not already set.
- If no local `--app` flag is specified or detected from a `dokku` git remote, a random name is generated and used for the app.
- The `dokku` git remote is set if not already set.
- `apps:destroy`:
- Removes the local `dokku` git remote if set.
- Removes the local `dokku` git remote if set.
## Unofficial Clients

View File

@@ -37,6 +37,22 @@ Once set, you may re-enable it by setting a blank value for `disable-chown`:
dokku scheduler-docker-local:set node-js-app disable-chown
```
### Disabling the init process
The `scheduler-docker-local` injects an init process by default via the `--init`. For some apps - such as those where the built docker image uses S6 as the init - this may be undesirable and cause issues with process starts. You may disable this by running the following `scheduler-docker-local:set` command for your application:
```shell
dokku scheduler-docker-local:set node-js-app init-process false
```
Once set, you may re-enable it by setting a blank value for `init-process`:
```shell
dokku scheduler-docker-local:set node-js-app init-process
```
All image containers with the label `org.opencontainers.image.vendor=linuxserver.io` will have the automatic init process injection force-disabled without further intervention.
### Deploying Process Types in Parallel
> New as of 0.25.5
@@ -91,7 +107,11 @@ 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.
## Implemented Triggers
## Scheduler Interface
The following sections describe implemented scheduler functionality for the `docker-local` scheduler.
### Implemented Commands and Triggers
This plugin implements various functionality through `plugn` triggers to integrate with Docker for running apps on a single server. The following functionality is supported by the `scheduler-docker-local` plugin.
@@ -105,11 +125,16 @@ This plugin implements various functionality through `plugn` triggers to integra
- `ps:stop`
- `run`
## Supported Resource Management Properties
### Logging support
App logs for the `logs` command are fetched from running containers via the `docker` cli. To persist logs across deployments, consider using Dokku's [vector integration](/docs/deployment/logs.md#vector-logging-shipping) to ship logs to another service or a third-party platform.
### Supported Resource Management Properties
The `docker-local` scheduler supports a minimal list of resource _limits_ and _reservations_. The following properties are supported:
### Resource Limits
#### Resource Limits
- cpu: (docker option: `--cpus`), is specified in number of CPUs a process can access.
- See the ["CPU" section](https://docs.docker.com/config/containers/resource_constraints/#cpu) of the Docker Runtime Options documentation for more information.
@@ -120,7 +145,7 @@ The `docker-local` scheduler supports a minimal list of resource _limits_ and _r
- nvidia-gpus: (docker option: `--gpus`), is specified in number of Nvidia GPUs a process can access.
- See the ["GPU" section](https://docs.docker.com/config/containers/resource_constraints/#gpu) of the Docker Runtime Options documentation for more information.
### Resource Reservations
#### Resource Reservations
- memory: (docker option: `--memory-reservation`) should be specified with a suffix of `b` (bytes), `k` (kilobytes), `m` (megabytes), `g` (gigabytes). Default unit is `m` (megabytes).
- See the ["Memory" section](https://docs.docker.com/config/containers/resource_constraints/#memory) of the Docker Runtime Options documentation for more information.

View File

@@ -1,14 +1,24 @@
# Kubernetes Scheduler
> Warning: This scheduler is not in Dokku core and thus is considered experimental.
> Warning: This scheduler is not in Dokku core and thus functionality may change over time as the API stabilizes.
The [Kubernetes Scheduler Plugin](https://github.com/dokku/dokku-scheduler-kubernetes) implements the following functionality:
The [Kubernetes Scheduler Plugin](https://github.com/dokku/dokku-scheduler-kubernetes) is available free as an external plugin. Please see the plugin's [issue tracker](https://github.com/dokku/dokku-scheduler-kubernetes/issues) for more information on the status of the plugin.
For users that require additional functionality, please refer to the [Sponsoring Documentation](https://github.com/dokku/.github/blob/master/SPONSORING.md).
## Scheduler Interface
The following sections describe implemented scheduler functionality for the `docker-local` scheduler.
### Implemented Commands and Triggers
This plugin implements various functionality through `plugn` triggers to integrate with `kubectl` for running apps on a Kubernetes cluster. The following functionality is supported by the `scheduler-kubernetes` plugin.
- `apps:destroy`
- `deploy`: partial, does not implement failed deploy log capture
- `logs`: partial, does not implement failure logs
- `ps:stop`
Please see the plugin's [issue tracker](https://github.com/dokku/dokku-scheduler-kubernetes/issues) for more information on the status of the plugin.
### Logging support
For users that require additional functionality, please refer to the [Sponsoring Documentation](https://github.com/dokku/.github/blob/master/SPONSORING.md).
App logs for the `logs` command are fetched from running pods via the `kubectl` cli. To persist logs across deployments, consider using [Vector](https://vector.dev/docs/setup/installation/platforms/kubernetes/) or a similar tool to ship logs to another service or a third-party platform.

View File

@@ -1,13 +1,23 @@
# Nomad Scheduler
> Warning: This scheduler is not in Dokku core and thus is considered experimental.
> Warning: This scheduler is not in Dokku core and thus functionality may change over time as the API stabilizes.
The [Nomad Scheduler Plugin](https://github.com/dokku/dokku-scheduler-nomad) implements the following functionality:
The [Nomad Scheduler Plugin](https://github.com/dokku/dokku-scheduler-nomad) is available free as an external plugin. Please see the plugin's [issue tracker](https://github.com/dokku/dokku-scheduler-nomad/issues) for more information on the status of the plugin.
For users that require additional functionality, please refer to the [Sponsoring Documentation](https://github.com/dokku/.github/blob/master/SPONSORING.md).
## Scheduler Interface
The following sections describe implemented scheduler functionality for the `docker-local` scheduler.
### Implemented Commands and Triggers
This plugin implements various functionality through `plugn` triggers to integrate with the `nomad` cli for running apps on a Nomad cluster. The following functionality is supported by the `scheduler-nomad` plugin.
- `apps:destroy`
- `deploy`
- `ps:stop`
Please see the plugin's [issue tracker](https://github.com/dokku/dokku-scheduler-nomad/issues) for more information on the status of the plugin.
### Logging support
For users that require additional functionality, please refer to the [Sponsoring Documentation](https://github.com/dokku/.github/blob/master/SPONSORING.md).
> Warning: Fetching app logs for the `logs` command is currently not implemented. Please consider using [Vector](https://vector.dev/docs/setup/installation/platforms/kubernetes/) or a similar tool to ship logs to another service or a third-party platform.

View File

@@ -18,8 +18,6 @@ Dokku supports the following built-in schedulers:
- `scheduler-docker-local`: Schedules apps against the local docker socket and runs containers directly on the Dokku host. See the [docker-local scheduler documentation](/docs/deployment/schedulers/docker-local.md) for more information on how this scheduler functions.
- `scheduler-null`: Does nothing during the scheduler phase. See the [null scheduler documentation](/docs/deployment/schedulers/null.md) for more information on how this scheduler functions.
See the [alternate schedulers documentation](/docs/deployment/schedulers/alternate-schedulers.md) for more information on other scheduler plugins.
### Overriding the auto-selected scheduler
If desired, the scheduler can be specified via the `scheduler:set` command by speifying a value for `selected`. The selected scheduler will always be used.

View File

@@ -1,4 +1,4 @@
# Zero Downtime Deploys
# Zero Downtime Deploy Checks
> New as of 0.5.0

View File

@@ -74,6 +74,21 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `app-list`
- Description: Lists all apps in available to the currently logged in user. Optionally disables filtering by user if the first argument is `false`.
- Invoked by:
- Arguments: `$FILTER`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `app-json-process-deploy-parallelism`
- Description: Decides the parallelism to use when deploying a given process type. The default is 1 process entry at a type.
@@ -426,7 +441,6 @@ DOKKU_SCHEDULER="$1"
```shell
#!/usr/bin/env bash
# Installs nginx for the current plugin
# Supports both opensuse and ubuntu
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
@@ -436,9 +450,8 @@ case "$DOKKU_DISTRO" in
debian|raspbian|ubuntu)
apt-get -qq -y --no-install-recommends install nginx
;;
opensuse)
zypper -q in -y nginx
*)
echo "Installation on $DOKKU_DISTRO not supported" 1>&2
;;
esac
```
@@ -1829,6 +1842,21 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `proxy-configure-ports`
- Description: Configures the proxy port mapping
- Invoked by: `internally triggered by proxy plugins`
- Arguments: `$APP`
- Example:
```shell
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
# TODO
```
### `proxy-disable`
- Description: Disables the configured proxy implementation for an app

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

@@ -17,6 +17,8 @@ While we do provide official packages for a variety of platforms, as our test su
## Local Test Execution
### Vagrant VM
- Setup Dokku in a [Vagrant VM](/docs/getting-started/install/vagrant.md).
- Run the following to setup tests and execute them:
@@ -25,18 +27,6 @@ While we do provide official packages for a variety of platforms, as our test su
sudo su -
cd ~/dokku
make ci-dependencies setup-deploy-tests
# execute the entire test suite (linter, bats tests, and app deployment tests)
make test
# run linter
make lint
# execute all bats tests
make unit-tests
# execute all app deployment tests
make deploy-tests
```
After making changes to your local Dokku clone, don't forget to update the Vagrant Dokku install.
@@ -49,7 +39,54 @@ make copyfiles
make go-build-plugin copyplugin PLUGIN_NAME=apps
```
Additionally you may run a specific app deployment tests with a target similar to:
### VSCode Dev Container
- Open Dokku in a VSCode DevContainer
- Run the following in the VSCode terminal to setup tests and execute them:
```shell
make ci-dependencies setup-deploy-tests
```
After making changes to your local Dokku clone, don't forget to update the Vagrant Dokku install.
```shell
# update vagrant dokku install from local git clone
make copyfiles
# build a specific plugin
make go-build-plugin copyplugin PLUGIN_NAME=apps
```
### Executing tests
Execute the entire test suite (linter, bats tests, and app deployment tests):
```shell
make test
```
Run the linter
```shell
make lint
```
Execute all bats tests
```shell
make unit-tests
```
Execute all app deployment tests
```shell
make deploy-tests
```
#### Executing App Tests
You may run a specific app deployment tests with a target similar to:
```shell
make deploy-test-nodejs-express
@@ -57,32 +94,32 @@ make deploy-test-nodejs-express
For a full list of test make targets check out `tests.mk` in the root of the Dokku repository.
## Executing a single test suite
#### Executing a single test suite
When working on a particular plugin, it may be useful to run _only_ a particular test suite. This can be done by specifying the test suite path:
```shell
bats tests/unit/10_apps.bats
bats tests/unit/apps_1.bats
```
It is also possible to target multiple test suites at a time.
```shell
bats tests/unit/10_apps.bats tests/unit/10_certs.bats
bats tests/unit/apps_1.bats tests/unit/certs.bats
```
## Executing a single test
#### Executing a single test
In order to increase testing velocity, a wrapper script around Bats is available that can be used to run a single test case within a suite.
Tests within a suite may be listed by specifying the suite as a parameter to `bats`.
```shell
bats tests/unit/10_apps.bats
bats tests/unit/apps_1.bats
```
A single test can be specified via the `--filter` argument. The tests are selected via regex match, and all matches are executed.
```shell
bats --filter clone tests/unit/10_apps.bats
bats --filter list tests/unit/apps_1.bats
```

View File

@@ -12,7 +12,6 @@ As well, you may wish to customize your installation in some other fashion. or e
- [Debian Package Installation Notes](/docs/getting-started/install/debian.md)
- [Docker-based Installation Notes](/docs/getting-started/install/docker.md)
- [RPM Package Installation Notes](/docs/getting-started/install/rpm.md)
- [Vagrant Installation Notes](/docs/getting-started/install/vagrant.md)
- [Advanced Install Customization](/docs/getting-started/advanced-installation.md)
- [Automated deployment via ansible](https://github.com/dokku/ansible-dokku)

View File

@@ -11,7 +11,7 @@ sudo apt-get -qq -y --no-install-recommends install apt-transport-https
wget -nv -O - https://get.docker.com/ | sh
# install dokku
wget -nv -O - https://packagecloud.io/dokku/dokku/gpgkey | apt-key add -
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

View File

@@ -3,7 +3,7 @@
Pull the dokku/dokku image:
```shell
docker pull dokku/dokku:0.27.2
docker pull dokku/dokku:0.28.4
```
Next, run the image.
@@ -18,7 +18,7 @@ docker container run \
--publish 8443:443 \
--volume /var/lib/dokku:/mnt/dokku \
--volume /var/run/docker.sock:/var/run/docker.sock \
dokku/dokku:0.27.2
dokku/dokku:0.28.4
```
The above command will start a new docker container that is ready when a message similar to `Runit started as PID 12345` appears.

View File

@@ -1,27 +0,0 @@
# RPM Package Installation Notes
> New as of 0.8.0 *(experimental)*
> **Warning:** Web installer is not available on CentOS. You will need to configure [SSH keys](/docs/deployment/user-management.md#adding-ssh-keys) and [virtual hosts](/docs/configuration/domains.md#customizing-hostnames) using dokku command line interface.
Dokku defaults to being installed via RPM package on CentOS 7. While certain hosts may require extra work to get running, you may optionally wish to automate the installation of Dokku without the use of our `bootstrap.sh` Bash script. The following are the steps run by said script:
```shell
# Install docker
curl -fsSL https://get.docker.com/ | sh
# Install epel for nginx packages to be available
sudo yum install -y epel-release
# Install dokku
curl -s https://packagecloud.io/install/repositories/dokku/dokku/script.rpm.sh | sudo bash
sudo yum install -y herokuish dokku
sudo dokku plugin:install-dependencies --core
systemctl start nginx
# Enable docker and nginx on system startup
systemctl enable docker
systemctl enable nginx
```
The [devicemapper](https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/) is the default Docker storage driver on CentOS 7 and defaults to a configuration mode known as `loop-lvm`. This mode is designed to work out-of-the-box with no additional configuration. However, production deployments should not run under `loop-lvm` mode. The preferred configuration for production deployments is [`direct-lvm`](https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/#/configure-direct-lvm-mode-for-production).

View File

@@ -9,17 +9,17 @@ 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 x64](https://www.ubuntu.com/download)
- [Debian 9+ x64](https://www.debian.org/distrib/)
- [CentOS 7 x64](https://www.centos.org/download/) *(experimental)*
- [Ubuntu 18.04/20.04/22.04](https://www.ubuntu.com/download)
- [Debian 10+ x64](https://www.debian.org/distrib/)
- A server with one of the following architectures
- AMD64 (alternatively known as `x86_64`), commonly used for Intel cloud servers
- ARMV7 (alternatively known as `armhf`), commonly used for Raspberry PI
- ARMV8 (alternatively known as `arm64`), commonly used for Raspberry PI and AWS Graviton
To avoid memory pressure during builds or runtime of your applications, we suggest the following:
- At least 1 GB of system memory
- If your system has less than 1GB of memory, you can use [this workaround](/docs/getting-started/advanced-installation.md#vms-with-less-than-1gb-of-memory).
- If your system has less than 1GB of memory, you can use [this workaround](/docs/getting-started/advanced-installation.md#vms-with-less-than-1-gb-of-memory).
Finally, we recommend attaching at least one domain name to your server. This is not required, but using a domain name will make app access easier. When connecting a domain, either a single domain or a wildcard may be associated to the server's IP.
@@ -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.27.2/bootstrap.sh;
sudo DOKKU_TAG=v0.27.2 bash bootstrap.sh
wget https://raw.githubusercontent.com/dokku/dokku/v0.28.4/bootstrap.sh
sudo DOKKU_TAG=v0.28.4 bash bootstrap.sh
```
The installation process takes about 5-10 minutes, depending upon internet connection speed.

View File

@@ -9,13 +9,6 @@ While we hate to see you go, if you need to uninstall Dokku, the following may h
yay -Rsn dokku
```
## CentOS Uninstallation
```shell
# uninstall dokku
yum remove dokku herokuish
```
## Debian Uninstallation
```shell

View File

@@ -1,6 +1,6 @@
# Upgrading
If your version of Dokku is pre 0.3.0 (check with `dokku version`), we recommend [a fresh install](/docs/getting-started/installation.md) on a new server.
If your version of Dokku is pre 0.3.0 (check with `dokku version`), we recommend [a fresh install](/docs/getting-started/installation/index.md) on a new server.
## Security Updates
@@ -9,7 +9,6 @@ For any security related updates, please follow our [Twitter account](https://tw
Your operating system may occasionally provide security updates. We recommend setting unattended upgrades for your operating system. Here are some helpful links:
- [Arch Linux System Maintenance](https://wiki.archlinux.org/index.php/System_maintenance)
- [CentOS Automatic Security Updates](https://serversforhackers.com/c/automatic-security-updates-centos)
- [Debian Unattended Upgrades](https://wiki.debian.org/UnattendedUpgrades)
- [Ubuntu Unattended Upgrades](https://help.ubuntu.com/community/AutomaticSecurityUpdates)
@@ -19,6 +18,7 @@ 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.28](/docs/appendices/0.28.0-migration-guide.md)
- [Upgrading to 0.27](/docs/appendices/0.27.0-migration-guide.md)
- [Upgrading to 0.26](/docs/appendices/0.26.0-migration-guide.md)
- [Upgrading to 0.25](/docs/appendices/0.25.0-migration-guide.md)

View File

@@ -20,7 +20,7 @@ GitHub Discussions is a new way for the Dokku community to interact with each ot
### The Slack Channel
- [Gliderlabs Slack](https://glider-slackin.herokuapp.com/) (Join the `#dokku` channel)
- [Gliderlabs Slack](https://slack.dokku.com/) (Join the `#dokku` channel)
If you’re stumped, give us a holler in the Dokku Slack channel. Someone from the development team is usually there, especially during the daylight hours for North and South American users. We’d love to hear from you, whether you need some help, want to find users in your area, or would like to donate our brand new sports car.

File diff suppressed because one or more lines are too long

View File

@@ -65,7 +65,7 @@ If everything is working correctly, you should also be able to query for any oth
If they all return your IP address, you have set DNS up properly for dokku. You should also be able to `ssh root@myserver.example.tld` and access your server.
Proceed with the setup instructions in the [installation documentation](/docs/getting-started/installation.md)
Proceed with the setup instructions in the [installation documentation](/docs/getting-started/installation/index.md)
### Using the root of your domain (node-js-app.example.tld)
@@ -74,4 +74,4 @@ This section is a work in progress. It is incomplete.
Using the 'root' of your domain is nearly identical to the previous example.
* hostname is under `example.tld`, still needs `A` record.
* Update your global domain using the [domains plugin](docs/configuration/domains.md).
* Update your global domain using the [domains plugin](/docs/configuration/domains.md).

View File

@@ -161,7 +161,7 @@ Only a single `$IP:$PORT` combination can be routed to for a given app, and that
> New as of 0.20.0, Requires Docker 1.21+
Apps will default to being associated with the default `bridge` network or a network specified by the `initial-network` network property. Additionally, an app can be attached to `attachable` networks by changing the `attach-post-create` or `attach-post-deploy` network properties when using the [docker-local scheduler](/docs/advanced-usage/schedulers/docker-local.md). A change in these values will require an app deploy or rebuild.
Apps will default to being associated with the default `bridge` network or a network specified by the `initial-network` network property. Additionally, an app can be attached to `attachable` networks by changing the `attach-post-create` or `attach-post-deploy` network properties when using the [docker-local scheduler](/docs/deployment/schedulers/docker-local.md). A change in these values will require an app deploy or rebuild.
```shell
# associates the network after a container is created but before it is started
@@ -308,7 +308,7 @@ dokku network:rebuildall
### Container network interface binding
> This functionality does not control the `--network` docker flag. Please use the [docker-options plugin](docs/advanced-usage/docker-options.md) to manage this flag.
> This functionality does not control the `--network` docker flag. Please use the [docker-options plugin](/docs/advanced-usage/docker-options.md) to manage this flag.
By default, an app will only bind to the internal interface. This behavior can be modified per app by changing the `bind-all-interfaces` network property.

View File

@@ -0,0 +1,202 @@
# Caddy Proxy
> New as of 0.28.0
Dokku provides integration with the [Caddy](https://caddyserver.com/) proxy service by utilizing the Docker label-based integration implemented by Caddy.
```
caddy:report [<app>] [<flag>] # Displays a caddy report for one or more apps
caddy:logs [--num num] [--tail] # Display caddy log output
caddy:set <app> <property> (<value>) # Set or clear an caddy property for an app
caddy:show-config <app> # Display caddy compose config
caddy:start # Starts the caddy server
caddy:stop # Stops the caddy server
```
## Requirements
Using the `caddy` plugin integration requires the `docker-compose-plugin` for Docker. See [this document](https://docs.docker.com/compose/install/compose-plugin/) 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 Caddy.
The Caddy plugin has specific rules for routing requests:
- Caddy integration is exposed via docker labels attached to containers. Changes in labels require either app deploys or rebuilds.
- While Caddy will respect labels associated with other containers, only `web` containers have Caddy labels injected by the plugin.
- Only `http:80` and `https:443` port mappings are supported.
- Caddy will automatically enable SSL if the letsencrypt email property is set. SSL will be disabled otherwise.
- If no `http:80` mapping is found, the first `http` port mapping is used for http requests.
- If no `https:443` mapping is found, the first `https` port mapping is used for https requests.
- If no `https` mapping is found, the container port from `http:80` will be used for https requests.
- Requests are routed as soon as the container is running and passing healthchecks.
### Switching to Caddy
To use the Caddy plugin, use the `proxy:set` command for the app in question:
```shell
dokku proxy:set node-js-app caddy
```
This will enable the docker label-based Caddy integration. All future deploys will inject the correct labels for Caddy to read and route requests to containers. Due to the docker label-based integration used by Caddy, 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 Caddy container
Caddy can be started via the `caddy:start` command. This will start a Caddy container via the `docker compose up` command.
```shell
dokku caddy:start
```
### Stopping the Caddy container
Caddy may be stopped via the `caddy:stop` command.
```shell
dokku caddy:stop
```
The Caddy container will be stopped and removed from the system. If the container is not running, this command will do nothing.
### Showing the Caddy compose config
For debugging purposes, it may be useful to show the Caddy compose config. This can be achieved via the `caddy:show-config` command.
```shell
dokku caddy:show-config
```
### Customizing the Caddy container image
While the default Caddy image is hardcoded, users may specify an alternative by setting the `image` property with the `--global` flag:
```shell
dokku caddy:set --global image lucaslorentz/caddy-docker-proxy:2.7
```
#### Checking the Caddy container's logs
It may be necessary to check the Caddy container's logs to ensure that Caddy is operating as expected. This can be performed with the `caddy:logs` command.
```shell
dokku caddy: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 caddy: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 Caddy log level
Caddy log output is set to `ERROR` by default. It may be changed by setting the `log-level` property with the `--global` flag:
```shell
dokku caddy:set --global log-level DEBUG
```
After modifying, the Caddy container will need to be restarted.
### SSL Configuration
The caddy 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 caddy:set --global letsencrypt-email automated@dokku.sh
```
After enabling, the Caddy 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 caddy:set --global letsencrypt-server https://acme-staging-v02.api.letsencrypt.org/directory
```
After enabling, the Caddy container will need to be restarted and apps will need to be rebuilt to retrieve certificates from the new server.
### Using Caddy's Internal TLS server
To switch to Caddy's internal TLS server for certificate provisioning, set the `tls-internal` property. This can only be set on a per-app basis.
```shell
dokku caddy:set node-js-app tls-internal true
```
## Displaying Caddy reports for an app
You can get a report about the app's Caddy config using the `caddy:report` command:
```shell
dokku caddy:report
```
```
=====> node-js-app caddy information
Caddy image: lucaslorentz/caddy-docker-proxy:2.7
Caddy letsencrypt email:
Caddy letsencrypt server:
Caddy log level: ERROR
Caddy polling interval: 5s
Caddy tls internal: false
=====> python-app caddy information
Caddy image: lucaslorentz/caddy-docker-proxy:2.7
Caddy letsencrypt email:
Caddy letsencrypt server:
Caddy log level: ERROR
Caddy polling interval: 5s
Caddy tls internal: false
=====> ruby-app caddy information
Caddy image: lucaslorentz/caddy-docker-proxy:2.7
Caddy letsencrypt email:
Caddy letsencrypt server:
Caddy log level: ERROR
Caddy polling interval: 5s
Caddy tls internal: false
```
You can run the command for a specific app also.
```shell
dokku caddy:report node-js-app
```
```
=====> node-js-app caddy information
Caddy image: lucaslorentz/caddy-docker-proxy:2.7
Caddy letsencrypt email:
Caddy letsencrypt server:
Caddy log level: ERROR
Caddy polling interval: 5s
Caddy tls internal: false
```
You can pass flags which will output only the value of the specific information you want. For example:
```shell
dokku caddy:report node-js-app --caddy-image
```

View File

@@ -1,4 +1,4 @@
# Nginx Configuration
# Nginx Proxy
Dokku uses nginx as its server for routing requests to specific applications. By default, access and error logs are written for each app to `/var/log/nginx/${APP}-access.log` and `/var/log/nginx/${APP}-error.log` respectively
@@ -8,16 +8,40 @@ nginx:error-logs <app> [-t] # Show the nginx error logs for an appl
nginx:report [<app>] [<flag>] # Displays a nginx report for one or more apps
nginx:set <app> <property> (<value>) # Set or clear an nginx property for an app
nginx:show-config <app> # Display app nginx config
nginx:start # Starts the nginx server
nginx:stop # Stops the nginx server
nginx:validate-config [<app>] [--clean] # Validates and optionally cleans up invalid nginx configurations
```
## 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.
### Request Proxying
By default, the `web` process is the only process proxied by the nginx proxy implementation. Proxying to other process types may be handled by a custom `nginx.conf.sigil` file, as generally described [below](/docs/configuration/nginx.md#customizing-the-nginx-configuration)
By default, the `web` process is the only process proxied by the nginx proxy implementation. Proxying to other process types may be handled by a custom `nginx.conf.sigil` file, as generally described [below](/docs/networking/proxies/nginx.md#customizing-the-nginx-configuration)
Nginx will proxy the requests in a [round-robin balancing fashion](http://nginx.org/en/docs/http/ngx_http_upstream_module.html#upstream) to the different deployed (scaled) containers running the `web` proctype. This way, the host's resources can be fully leveraged for single-threaded applications (e.g. `dokku ps:scale node-js-app web=4` on a 4-core machine)
Nginx will proxy the requests in a [round-robin balancing fashion](http://nginx.org/en/docs/http/ngx_http_upstream_module.html#upstream) to the different deployed (scaled) containers running the `web` proctype. This way, the host's resources can be fully leveraged for single-threaded applications (e.g. `dokku ps:scale node-js-app web=4` on a 4-core machine).
### Starting nginx
> New as of 0.28.0
The nginx server can be started via `nginx:start`.
```shell
dokku nginx:start
````
### Stopping nginx
> New as of 0.28.0
The nginx server can be stopped via `nginx:stop`.
```shell
dokku nginx:stop
````
### Binding to specific addresses

View File

@@ -0,0 +1,254 @@
# Traefik Proxy
> New as of 0.28.0
Dokku provides integration with the [Traefik](https://traefik.io/) proxy service by utilizing the Docker label-based integration implemented by Traefik.
```
traefik:report [<app>] [<flag>] # Displays a traefik report for one or more apps
traefik:logs [--num num] [--tail] # Display traefik log output
traefik:set <app> <property> (<value>) # Set or clear an traefik property for an app
traefik:show-config <app> # Display traefik compose config
traefik:start # Starts the traefik server
traefik:stop # Stops the traefik server
```
## Requirements
Using the `traefik` plugin integration requires the `docker-compose-plugin` for Docker. See [this document](https://docs.docker.com/compose/install/compose-plugin/) 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 Traefik.
The Traefik plugin has specific rules for routing requests:
- Traefik integration is exposed via docker labels attached to containers. Changes in labels require either app deploys or rebuilds.
- While Traefik will respect labels associated with other containers, only `web` containers have Traefik labels injected by the plugin.
- Only `http:80` and `https:443` port mappings are supported.
- If no `http:80` mapping is found, the first `http` port mapping is used for http requests.
- If no `https:443` mapping is found, the first `https` port mapping is used for https requests.
- If no `https` mapping is found, the container port from `http:80` will be used for https requests.
- Requests are routed as soon as the container is running and passing healthchecks.
### Switching to Traefik
To use the Traefik plugin, use the `proxy:set` command for the app in question:
```shell
dokku proxy:set node-js-app traefik
```
This will enable the docker label-based Traefik integration. All future deploys will inject the correct labels for Traefik to read and route requests to containers. Due to the docker label-based integration used by Traefik, 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 Traefik container
Traefik can be started via the `traefik:start` command. This will start a Traefik container via the `docker compose up` command.
```shell
dokku traefik:start
```
### Stopping the Traefik container
Traefik may be stopped via the `traefik:stop` command.
```shell
dokku traefik:stop
```
The Traefik container will be stopped and removed from the system. If the container is not running, this command will do nothing.
### Showing the Traefik compose config
For debugging purposes, it may be useful to show the Traefik compose config. This can be achieved via the `traefik:show-config` command.
```shell
dokku traefik:show-config
```
### Customizing the Traefik container image
While the default Traefik image is hardcoded, users may specify an alternative by setting the `image` property with the `--global` flag:
```shell
dokku traefik:set --global image traefik:v2.8
```
#### Checking the Traefik container's logs
It may be necessary to check the Traefik container's logs to ensure that Traefik is operating as expected. This can be performed with the `traefik:logs` command.
```shell
dokku traefik: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 traefik: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 Traefik log level
Traefik log output is set to `ERROR` by default. It may be changed by setting the `log-level` property with the `--global` flag:
```shell
dokku traefik:set --global log-level DEBUG
```
After modifying, the Traefik container will need to be restarted.
### SSL Configuration
The traefik 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 traefik:set --global letsencrypt-email automated@dokku.sh
```
After enabling, apps will need to be rebuilt and the Traefik container will need to be restarted. 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 traefik:set --global letsencrypt-server https://acme-staging-v02.api.letsencrypt.org/directory
```
After enabling, the Traefik container will need to be restarted and apps will need to be rebuilt to retrieve certificates from the new server.
### API Access
Traefik exposes an API and Dashboard, which Dokku disables by default for security reasons. It can be exposed and customized as described below.
#### Enabling the api
> Warning: Users enabling the dashboard should also enable api basic auth.
By default, the api is disabled. To enable, set the `api` property with the `--global` flag:
```shell
dokku traefik:set --global api true
```
After enabling, the Traefik container will need to be restarted.
#### Enabling the dashboard
> Warning: Users enabling the dashboard should also enable api basic auth.
By default, the dashboard is disabled. To enable, set the `dashboard` property with the `--global` flag:
```shell
dokku traefik:set --global dashboard true
```
After enabling, the Traefik container will need to be restarted.
#### Enabling api basic auth
Users enabling either the api or dashboard are encouraged to enable basic auth. This will apply _only_ to the api/dashboard, and not to apps. To enable, set the `basic-auth-username` and `basic-auth-password` properties with the `--global` flag:. Both must be set or basic auth will not be enabled.
```shell
dokku traefik:set --global basic-auth-username username
dokku traefik:set --global basic-auth-password password
```
After enabling, the Traefik container will need to be restarted.
#### Customizing the api hostname
The hostname used for the api and dashboard is set to `traefik.dokku.me` by default. It can be customized by setting the `api-vhost` property with the `--global` flag:
```shell
dokku traefik:set --global api-vhost lb.dokku.me
```
After enabling, the Traefik container will need to be restarted.
## Displaying Traefik reports for an app
You can get a report about the app's Traefik config using the `traefik:report` command:
```shell
dokku traefik:report
```
```
=====> node-js-app traefik information
Traefik api enabled: false
Traefik api vhost: traefik.dokku.me
Traefik basic auth password: password
Traefik basic auth username: user
Traefik dashboard enabled: false
Traefik image: traefik:v2.8
Traefik letsencrypt email:
Traefik letsencrypt server:
Traefik log level: ERROR
=====> python-app traefik information
Traefik api enabled: false
Traefik api vhost: traefik.dokku.me
Traefik basic auth password: password
Traefik basic auth username: user
Traefik dashboard enabled: false
Traefik image: traefik:v2.8
Traefik letsencrypt email:
Traefik letsencrypt server:
Traefik log level: ERROR
=====> ruby-app traefik information
Traefik api enabled: false
Traefik api vhost: traefik.dokku.me
Traefik basic auth password: password
Traefik basic auth username: user
Traefik dashboard enabled: false
Traefik image: traefik:v2.8
Traefik letsencrypt email:
Traefik letsencrypt server:
Traefik log level: ERROR
```
You can run the command for a specific app also.
```shell
dokku traefik:report node-js-app
```
```
=====> node-js-app traefik information
Traefik api enabled: false
Traefik api vhost: traefik.dokku.me
Traefik basic auth password: password
Traefik basic auth username: user
Traefik dashboard enabled: false
Traefik image: traefik:v2.8
Traefik letsencrypt email:
Traefik letsencrypt server:
Traefik log level: ERROR
```
You can pass flags which will output only the value of the specific information you want. For example:
```shell
dokku traefik:report node-js-app --traefik-api-enabled
```

View File

@@ -131,3 +131,44 @@ See the [port management documentation](/docs/networking/port-management.md) for
> Changed as of 0.11.0
From Dokku versions `0.5.0` until `0.11.0`, enabling or disabling an application's proxy would **also** control whether or not the application was bound to all interfaces - e.g. `0.0.0.0`. As of `0.11.0`, this is now controlled by the network plugin. Please see the [network documentation](/docs/networking/network.md#container-network-interface-binding) for more information.
## Implementing a Proxy
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.
- `domains:add`: Adds a given domain to an app.
- trigers: `post-domains-update`
- `domains:clear`: Clears out an app's associated domains.
- trigers: `post-domains-update`
- `domains:disable`: Disables domains for an app.
- trigers: `pre-disable-vhost`
- `domains:enable`: Enables domains for an app.
- trigers: `pre-enable-vhost`
- `domains:remove`: Removes a domain from an app.
- trigers: `post-domains-update`
- `domains:set`: Sets all domains for a given app.
- trigers: `post-domains-update`
- `proxy:build-config`: Builds - or rebuilds - external proxy configuration.
- triggers: `proxy-build-config`
- `proxy:clear-config`: Clears out external proxy configuration.
- triggers: `proxy-clear-config`
- `proxy:disable`: Disables the proxy configuration for an app.
- 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
- triggers: `post-proxy-ports-update`
- `proxy: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.
- triggers: `post-proxy-ports-update`
- `proxy: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.
Individual proxy implementations _may_ trigger app rebuilds, depending on how proxy metadata is exposed for the proxy implementation.
Finally, proxy implementations _may_ install extra software needed for the proxy itself in whatever manner deemed fit. Proxy software can run on the host itself or within a running Docker container with either exposed ports or host networking.

View File

@@ -131,7 +131,7 @@ dokku ps:scale --skip-deploy node-js-app web=1
#### Manually managing process scaling
> Using a `formation` key in an `app.json` file with _any_ `quantity` specified disables the ability to use `ps:scale` for scaling.
> Using a `formation` key in an `app.json` file with _any_ `quantity` specified disables the ability to use `ps:scale` for scaling. All processes not specified in the `app.json` will have their process count set to zero.
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.
@@ -164,7 +164,7 @@ There are also a few other exceptions for the `web` process.
- Custom checks defined by a `CHECKS` file only apply to the `web` process type.
- By default, the built-in nginx proxy implementation only proxies the `web` process (others may be handled via a custom `nginx.conf.sigil`).
- See the [nginx request proxying documentation](/docs/configuration/nginx.md#request-proxying) for more information on how nginx handles proxied requests.
- See the [nginx request proxying documentation](/docs/networking/proxies/nginx.md#request-proxying) for more information on how nginx handles proxied requests.
- Only the `web` process may be bound to an external port.
#### Changing the `Procfile` location

View File

@@ -9,26 +9,26 @@
<meta name="author" content="">
<title>Dokku - {{DOC_TITLE}}</title>
<link rel="apple-touch-icon" sizes="57x57" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.27.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.27.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.27.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.27.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.27.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.27.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.27.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.27.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.27.2/docs/assets/favicons/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.27.2/docs/assets/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.27.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.27.2/docs/assets/favicons/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.27.2/docs/assets/favicons/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.27.2/docs/assets/favicons/manifest.json">
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.27.2/docs/assets/favicons/favicon.ico">
<link rel="apple-touch-icon" sizes="57x57" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.28.4/docs/assets/favicons/apple-touch-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.28.4/docs/assets/favicons/apple-touch-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.28.4/docs/assets/favicons/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.28.4/docs/assets/favicons/apple-touch-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.28.4/docs/assets/favicons/apple-touch-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.28.4/docs/assets/favicons/apple-touch-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.28.4/docs/assets/favicons/apple-touch-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.28.4/docs/assets/favicons/apple-touch-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.28.4/docs/assets/favicons/apple-touch-icon-180x180.png">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.28.4/docs/assets/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.28.4/docs/assets/favicons/android-chrome-192x192.png" sizes="192x192">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.28.4/docs/assets/favicons/favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/png" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.28.4/docs/assets/favicons/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.28.4/docs/assets/favicons/manifest.json">
<link rel="shortcut icon" href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.28.4/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.27.2/docs/assets/favicons/mstile-144x144.png">
<meta name="msapplication-config" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.27.2/docs/assets/favicons/browserconfig.xml">
<meta name="msapplication-TileImage" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.28.4/docs/assets/favicons/mstile-144x144.png">
<meta name="msapplication-config" content="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.28.4/docs/assets/favicons/browserconfig.xml">
<meta name="theme-color" content="#ffffff">
<script>
@@ -41,50 +41,76 @@
}
</script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.2/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/gh/dokku/dokku@v0.27.2/docs/assets/style.css" rel="stylesheet">
<!-- <link href="/dokku/docs/assets/style.css" rel="stylesheet"> -->
<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">
<!-- Font (Lato) -->
<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.28.4/docs/assets/style.css" rel="stylesheet">
<!-- <link href="./assets/style.css" rel="stylesheet"> -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet">
<style>
</style>
</head>
<body>
<div class="dev-warning doc-floating-warning" style="display:none">
This document is for dokku's development version, which can be significantly different from previous releases. For older releases, use the version selector floating in the bottom right corner of this page.
</div>
<div class="header">
<div class="container-fluid">
<div class="row">
<div class="col-md-offset-2">
<h1 class="heading navbar-brand">
<a href="/{{NAME}}/">Dokku</a>
</h1>
<ul class="nav nav-pills pull-xs-right col-md-offset-right-2">
<li class="nav-item">
<a class="nav-link" href="https://dokku.github.io/">Blog</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://github.com/dokku/dokku/">Code</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/{{NAME}}/getting-started/installation/">Docs</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://glider-slackin.herokuapp.com/">Slack</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://github.com/dokku/dokku/discussions">Forums</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://pro.dokku.com/">Pro</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<header class="hero-section">
<nav class="navbar navbar-expand-md navbar-dark py-3" id="mainNav">
<div class="container top-50 px-4 px-lg-5">
<a class="navbar-brand d-flex" href="/{{NAME}}/">
<img class="me-3" src="./assets/dokku-logo.svg" alt="" width="55">
<span class="align-self-center d-block">Dokku</span>
</a>
<button class="navbar-toggler navbar-toggler-right" type="button" data-bs-toggle="collapse" data-bs-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ms-auto my-2 my-lg-0">
<li class="nav-item"><a class="nav-link mx-0 mx-md-2 underline" href="https://dokku.com/blog/">Blog</a></li>
<li class="nav-item"><a class="nav-link mx-0 mx-md-2 underline" href="https://github.com/dokku/dokku/">Code</a></li>
<li class="nav-item"><a class="nav-link mx-0 mx-md-2 underline" href="/{{NAME}}/getting-started/installation/">Docs</a></li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle mx-0 mx-md-2 underline" id="navbarDropdownMenuLink" role="button" data-bs-toggle="dropdown" aria-expanded="false">
Social
</a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<div class="d-grid gap-2">
<a href="https://discord.gg/YQjANGMZvu" class="btn rounded-2 d-flex align-items-center py-2 px-3 lh-sm text-start mx-2">
<img class="me-3" alt="discord" src="./assets/social/discord.png" width="25px" />
<div>
<strong class="d-block">Discord</strong>
</div>
</a>
<a href="https://slack.dokku.com/" class="btn rounded-2 d-flex align-items-center py-2 px-3 lh-sm text-start mx-2">
<img class="me-3" alt="slack" src="./assets/social/slack.png" width="25px" />
<div>
<strong class="d-block">Slack</strong>
</div>
</a>
<a href="https://webchat.libera.chat/?channels=dokku" class="btn rounded-2 d-flex align-items-center py-2 px-3 lh-sm text-start mx-2">
<img class="me-3" alt="irc" src="./assets/social/irc.png" width="25px" />
<div>
<strong class="d-block">IRC</strong>
</div>
</a>
<a href="https://github.com/dokku/dokku/discussions" class="btn rounded-2 d-flex align-items-center py-2 px-3 lh-sm text-start mx-2">
<img class="me-3" alt="github" src="./assets/social/github.png" width="25px" />
<div>
<strong class="d-block">GitHub Discussions</strong>
</div>
</a>
</div>
</ul>
</li>
<li class="nav-item"><a class="nav-link mx-0 mx-md-2 underline" href="https://pro.dokku.com/">Pro</a></li>
<li class="nav-item"><a class="btn btn-primary mx-0 mx-md-3 cta" href="/{{NAME}}/getting-started/installation/">Get Started</a></li>
</ul>
</div>
</div>
</nav>
</header>
<div class="container-fluid">
<div class="container">
<div class="improve-slideout">
<i class="fa fa-pencil icon-improve"></i>
<a href="https://github.com/{{USER}}/{{NAME}}/edit/master/docs/{{DOC}}" target="_blank">
@@ -94,10 +120,7 @@
<a class="back-to-contents" href="#page-contents"><i class="fa fa-arrow-circle-up icon-improve" title="Back to Contents"></i></a>
<div class="row">
<div class="col-xs-8 col-md-6 col-md-push-4 markdown-body" style="padding-top:16px">
{{CONTENT}}
</div>
<div class="col-xs-4 col-md-2 col-md-pull-6 col-md-offset-2" style="padding-top:16px">
<div class="col-4 col-md-3" style="padding-top:16px">
<div class="list-group">
<a href="#" class="list-group-item disabled">Getting Started</a>
<a href="/{{NAME}}/getting-started/installation/" class="list-group-item">Getting Started with Dokku</a>
@@ -124,6 +147,7 @@
<a href="/{{NAME}}/deployment/builders/cloud-native-buildpacks/" class="list-group-item">Cloud Native Buildpacks</a>
<a href="/{{NAME}}/deployment/builders/herokuish-buildpacks/" class="list-group-item">Herokuish Buildpacks</a>
<a href="/{{NAME}}/deployment/builders/dockerfiles/" class="list-group-item">Dockerfile Deployment</a>
<a href="/{{NAME}}/deployment/builders/lambda/" class="list-group-item">Lambda Builder</a>
<a href="/{{NAME}}/deployment/builders/null/" class="list-group-item">Null Builder</a>
<a href="#" class="list-group-item disabled">Deployment Methods</a>
@@ -133,7 +157,6 @@
<a href="/{{NAME}}/configuration/environment-variables/" class="list-group-item">Environment Variables</a>
<a href="/{{NAME}}/configuration/domains/" class="list-group-item">Domain Configuration</a>
<a href="/{{NAME}}/configuration/nginx/" class="list-group-item">Nginx Configuration</a>
<a href="/{{NAME}}/configuration/ssl/" class="list-group-item">SSL Configuration</a>
<a href="#" class="list-group-item disabled">Interacting with Processes</a>
@@ -148,7 +171,13 @@
<a href="/{{NAME}}/networking/dns/" class="list-group-item">DNS Configuration</a>
<a href="/{{NAME}}/networking/network/" class="list-group-item">Network Management</a>
<a href="/{{NAME}}/networking/port-management/" class="list-group-item">Port Management</a>
<a href="#" class="list-group-item disabled">Proxy Configuration</a>
<a href="/{{NAME}}/networking/proxy-management/" class="list-group-item">Proxy Management</a>
<a href="/{{NAME}}/networking/proxies/caddy/" class="list-group-item">Caddy Proxy</a>
<a href="/{{NAME}}/networking/proxies/nginx/" class="list-group-item">Nginx Proxy</a>
<a href="/{{NAME}}/networking/proxies/traefik/" class="list-group-item">Traefik Proxy</a>
<a href="#" class="list-group-item disabled">Advanced Usage</a>
@@ -169,7 +198,6 @@
<a href="/{{NAME}}/deployment/schedulers/kubernetes/" class="list-group-item">Kubernetes</a>
<a href="/{{NAME}}/deployment/schedulers/nomad/" class="list-group-item">Nomad</a>
<a href="/{{NAME}}/deployment/schedulers/null/" class="list-group-item">Null Scheduler</a>
<a href="/{{NAME}}/deployment/schedulers/alternate-schedulers/" class="list-group-item">Alternate Schedulers</a>
<a href="#" class="list-group-item disabled">Development</a>
@@ -191,6 +219,9 @@
<a href="/{{NAME}}/community/tutorials/run-on-external-volume/" class="list-group-item">Run on External Volume</a>
</div>
</div>
<div class="col-8 col-md-9 markdown-body" style="padding-top:16px">
{{CONTENT}}
</div>
</div>
</div>
@@ -222,7 +253,19 @@
This document is for dokku's development version, which can be significantly different from previous releases. For older releases, use the version selector floating in the bottom right corner of this page.
</div>
<!-- Footer section -->
<footer class="px-4 px-lg-5 text-start mt-5">
<div class="container">
<div class="row">
<div class="col-lg-12 align-self-start text-white">
<p class="m-0 py-3">© 2013-2022 Dokku. Website designed & developed by <a href="https://yasoob.me" class="text-decoration-none text-white">Yasoob Khalid</a></p>
</div>
</div>
</div>
</footer>
<script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/1.3.0/anchor.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/js/bootstrap.bundle.min.js" integrity="sha384-pprn3073KE6tl6bjs2QrFaJGz5/SUsLqktiwsUTF55Jfv3qYSDhgCecCxMW52nD2" crossorigin="anonymous"></script>
<script src="https://dokku.dpdcart.com/dpd.js"></script>
<script>
// Source: https://github.com/Alhadis/Snippets/blob/master/js/polyfills/IE8-child-elements.js
@@ -500,6 +543,7 @@
}
addVersionLink('master');
versions.reverse();
Array.prototype.forEach.call(versions, function (version, i) {
addVersionLink(version);
});

View File

@@ -4,49 +4,40 @@
"advanced-installation": "getting-started/advanced-installation/",
"troubleshooting": "getting-started/troubleshooting/",
"upgrading": "getting-started/upgrading/",
"application-deployment": "deployment/application-deployment/",
"checks-examples": "deployment/zero-downtime-deploys/",
"remote-commands": "deployment/remote-commands/",
"process-management": "processes/process-management/",
"deployment/process-management": "processes/process-management/",
"deployment/one-off-processes": "processes/one-off-tasks/",
"deployment/buildpacks": "deployment/builders/herokuish-buildpacks/",
"deployment/methods/buildpacks": "deployment/builders/herokuish-buildpacks/",
"deployment/dockerfiles": "deployment/builders/dockerfiles/",
"deployment/methods/cloud-native-buildpacks": "deployment/builders/cloud-native-buildpacks/",
"deployment/methods/dockerfiles": "deployment/builders/dockerfiles/",
"deployment/methods/herokuish-buildpacks": "deployment/builders/herokuish-buildpacks/",
"deployment/images": "deployment/methods/git/#initializing-an-app-repository-from-a-docker-image",
"deployment/tar": "deployment/methods/git/#initializing-an-app-repository-from-an-archive-file",
"deployment/methods/images": "deployment/methods/git/#initializing-an-app-repository-from-a-docker-image",
"deployment/methods/tar": "deployment/methods/git/#initializing-an-app-repository-from-an-archive-file",
"configuration-management": "configuration/environment-variables/",
"deployment/ssl-configuration": "configuration/ssl/",
"nginx": "configuration/nginx/",
"configuration/nginx": "networking/proxies/nginx/",
"nginx": "networking/proxies/nginx/",
"dns": "networking/dns/",
"configuration/dns": "networking/dns/",
"proxy": "networking/proxy-management/",
"advanced-usage/proxy-management": "networking/proxy-management/",
"backup-recovery": "advanced-usage/backup-recovery/",
"deployment-tasks": "advanced-usage/deployment-tasks/",
"deployment/deployment-tasks": "advanced-usage/deployment-tasks/",
"docker-options": "advanced-usage/docker-options/",
"dokku-events-logs": "advanced-usage/event-logs/",
"dokku-storage": "advanced-usage/persistent-storage/",
"advanced-usage/schedulers/alternate-schedulers": "deployment/schedulers/scheduler-management/",
"advanced-usage/schedulers/docker-local": "deployment/schedulers/docker-local/",
"deployment/schedulers/alternate-schedulers": "deployment/schedulers/scheduler-management/",
"community/tutorials/deploying-with-gitlab-ci": "deployment/continuous-integration/gitlab-ci/",
"plugins": "community/plugins/"
}
}

6
dokku
View File

@@ -138,9 +138,15 @@ execute_dokku_cmd() {
events | events:*)
local PLUGIN_NAME=${PLUGIN_NAME/events/20_events}
;;
caddy | caddy:*)
local PLUGIN_NAME=${PLUGIN_NAME/caddy/caddy-vhosts}
;;
nginx | nginx:*)
local PLUGIN_NAME=${PLUGIN_NAME/nginx/nginx-vhosts}
;;
traefik | traefik:*)
local PLUGIN_NAME=${PLUGIN_NAME/traefik/traefik-vhosts}
;;
deploy | cleanup | url | urls | report)
local PLUGIN_NAME="00_dokku-standard"
;;

91
mkdocs.yml Normal file
View File

@@ -0,0 +1,91 @@
---
# yaml-language-server: $schema=https://squidfunk.github.io/mkdocs-material/schema.json
markdown_extensions:
- admonition
- attr_list
- footnotes
- md_in_html
- pymdownx.details
- pymdownx.emoji:
emoji_generator: !!python/name:materialx.emoji.to_svg
emoji_index: !!python/name:materialx.emoji.twemoji
- pymdownx.highlight:
anchor_linenums: true
- pymdownx.inlinehilite
- pymdownx.snippets
- pymdownx.superfences
- pymdownx.tabbed:
alternate_style: true
- tables
repo_url: https://github.com/dokku/dokku
site_dir: site
site_name: Dokku Documentation
site_url: https://dokku.com/docs/
extra:
social:
- icon: fontawesome/brands/github
link: https://github.com/dokku/dokku
- icon: fontawesome/solid/bug
link: https://github.com/dokku/dokku/issues
- icon: fontawesome/brands/discord
link: https://discord.gg/YQjANGMZvu
- icon: fontawesome/brands/slack
link: https://slack.dokku.com/
- icon: fontawesome/solid/hashtag
link: https://webchat.libera.chat/?channels=dokku
- icon: fontawesome/brands/twitter
link: https://twitter.com/dokku
- icon: fontawesome/solid/comments
link: https://github.com/dokku/dokku/discussions
- icon: fontawesome/solid/cart-shopping
link: https://dokku.dpdcart.com/cart/add?product_id=217344&method_id=236878
version:
provider: mike
theme:
custom_dir: docs/_overrides
favicon: assets/favicons/favicon-96x96.png
features:
- navigation.indexes
- navigation.instant
- navigation.sections
- navigation.tabs
- navigation.top
- search.highlight
homepage: https://dokku.com
icon:
admonition:
tip: fontawesome/solid/wand-magic-sparkles
logo: assets/dokku-logo.svg
name: material
palette:
# Palette toggle for light mode
- media: "(prefers-color-scheme: light)"
scheme: default
toggle:
icon: material/toggle-switch
name: Switch to dark mode
# Palette toggle for dark mode
- media: "(prefers-color-scheme: dark)"
scheme: slate
toggle:
icon: material/toggle-switch-off-outline
name: Switch to light mode
plugins:
- search
- exclude:
glob:
- _build/Dockerfile
- _build/entrypoint
- _build/requirements.txt
- home.html
- template.html
extra_css:
- assets/extra.css

View File

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

View File

@@ -8,6 +8,7 @@ cmd-report() {
declare cmd="report"
[[ "$1" == "$cmd" ]] && shift 1
declare APP="$1"
local ARCHITECTURE="$(dpkg --print-architecture 2>/dev/null || true)"
if [[ "$APP" == "--format" ]]; then
dokku_log_fail "--format flag not supported on global report"
@@ -23,8 +24,8 @@ cmd-report() {
dokku_log_info1 "git version: $(git --version)"
dokku_log_info1 "sigil version: $(sigil -v)"
dokku_log_info1 "herokuish version: "
if [[ "$(dpkg --print-architecture 2>/dev/null || true)" == "armhf" ]]; then
dokku_log_warn "herokuish not supported on armhf architecture"
if [[ "$ARCHITECTURE" == "armhf" ]] || [[ "$ARCHITECTURE" == "arm64" ]]; then
dokku_log_warn "herokuish not supported on $ARCHITECTURE architecture"
else
"$DOCKER_BIN" container run $DOKKU_GLOBAL_RUN_ARGS --rm "$DOKKU_IMAGE" herokuish version | sed "s/^/ /"
fi

6
plugins/20_events/app-list Executable file
View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
[[ ! "$DOKKU_EVENTS" ]] || dokku_log_plugn_trigger_call "$(basename "$0")" "$@"

View File

@@ -17,7 +17,7 @@ trigger-events-install() {
# shellcheck disable=SC2174
mkdir -m 775 -p "$DOKKU_LOGS_DIR"
case "$DOKKU_DISTRO" in
arch | debian | centos | fedora | raspbian | rhel)
arch | debian | raspbian)
chgrp dokku "$DOKKU_LOGS_DIR"
;;
*)
@@ -28,7 +28,7 @@ trigger-events-install() {
if [[ ! -f "$DOKKU_EVENTS_LOGFILE" ]]; then
touch "$DOKKU_EVENTS_LOGFILE"
case "$DOKKU_DISTRO" in
arch | debian | centos | fedora | raspbian | rhel)
arch | debian | raspbian)
chgrp dokku "$DOKKU_EVENTS_LOGFILE"
;;
*)

View File

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

View File

@@ -497,7 +497,7 @@ func setScale(appName string, image string) error {
}
skipDeploy := true
clearExisting := false
clearExisting := true
args := []string{appName, strconv.FormatBool(skipDeploy), strconv.FormatBool(clearExisting)}
for processType, formation := range appJSON.Formation {
if formation.Quantity != nil {

View File

@@ -1,4 +1,4 @@
[plugin]
description = "dokku core app-json plugin"
version = "0.27.2"
version = "0.28.4"
[plugin.config]

View File

@@ -1,4 +1,4 @@
[plugin]
description = "dokku core apps plugin"
version = "0.27.2"
version = "0.28.4"
[plugin.config]

View File

@@ -17,7 +17,9 @@ trigger-builder-dockerfile-builder-build() {
dokku_log_info1 "Building $APP from Dockerfile"
local IMAGE=$(get_app_image_name "$APP")
local DOCKER_BUILD_LABEL_ARGS=("--label=org.label-schema.schema-version=1.0" "--label=org.label-schema.vendor=dokku" "--label=com.dokku.app-name=$APP" "--label=com.dokku.image-stage=build")
local DOKKU_DOCKERFILE_CACHE_BUILD=$(config_get "$APP" "DOKKU_DOCKERFILE_CACHE_BUILD")
local DOKKU_DOCKER_BUILD_OPTS=$(config_get "$APP" "DOKKU_DOCKER_BUILD_OPTS")
local DOCKER_BUILD_LABEL_ARGS=("--label=dokku" "--label=org.label-schema.schema-version=1.0" "--label=org.label-schema.vendor=dokku" "--label=com.dokku.image-stage=build" "--label=com.dokku.builder-type=dockerfile" "--label=com.dokku.app-name=$APP")
pushd "$SOURCECODE_WORK_DIR" &>/dev/null
@@ -36,7 +38,7 @@ trigger-builder-dockerfile-builder-build() {
declare -a ARG_ARRAY
eval "ARG_ARRAY=($DOCKER_ARGS)"
"$DOCKER_BIN" image build "${DOCKER_BUILD_LABEL_ARGS[@]}" $DOKKU_GLOBAL_BUILD_ARGS "${ARG_ARRAY[@]}" "${DOKKU_DOCKER_BUILD_OPTS[@]}" -t $IMAGE .
"$DOCKER_BIN" image build "${DOCKER_BUILD_LABEL_ARGS[@]}" $DOKKU_GLOBAL_BUILD_ARGS "${ARG_ARRAY[@]}" ${DOKKU_DOCKER_BUILD_OPTS} -t $IMAGE .
plugn trigger post-build-dockerfile "$APP"
}

View File

@@ -20,7 +20,7 @@ trigger-builder-dockerfile-builder-release() {
trap "rm -rf '$TMP_WORK_DIR' >/dev/null" RETURN INT TERM EXIT
local IMAGE=$(get_app_image_name "$APP" "$IMAGE_TAG")
if ! "$DOCKER_BIN" image build "${DOCKER_BUILD_LABEL_ARGS[@]}" $DOKKU_GLOBAL_BUILD_ARGS -f "$PLUGIN_AVAILABLE_PATH/builder-dockerfile/dockerfiles/builder-release.Dockerfile" --build-arg APP_IMAGE="$IMAGE" -t "$IMAGE" "$TMP_WORK_DIR"; then
if ! suppress_output "$DOCKER_BIN" image build "${DOCKER_BUILD_LABEL_ARGS[@]}" $DOKKU_GLOBAL_BUILD_ARGS -f "$PLUGIN_AVAILABLE_PATH/builder-dockerfile/dockerfiles/builder-release.Dockerfile" --build-arg APP_IMAGE="$IMAGE" -t "$IMAGE" "$TMP_WORK_DIR"; then
dokku_log_warn "Failure injecting docker labels on image"
return 1
fi

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