diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7e6917f0e..e54d2ffd9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -56,11 +56,11 @@ jobs: - uses: actions/checkout@v6 - name: set up qemu - uses: docker/setup-qemu-action@v3 + uses: docker/setup-qemu-action@v4 - name: set up docker buildx id: buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v4 - name: build package run: ./tests/ci/setup.sh build diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b84ccdcd5..11d4d23aa 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -34,17 +34,17 @@ jobs: ruby-version: 2.7 - name: login to docker hub - uses: docker/login-action@v3 + uses: docker/login-action@v4 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: set up qemu - uses: docker/setup-qemu-action@v3 + uses: docker/setup-qemu-action@v4 - name: set up docker buildx id: buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v4 - name: inspect builder run: | diff --git a/HISTORY.md b/HISTORY.md index b4d427000..cb1ed264b 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,86 @@ # History +## 0.37.7 + +Install/update via the bootstrap script: + +```shell +wget -NP . https://dokku.com/install/v0.37.7/bootstrap.sh +sudo DOKKU_TAG=v0.37.7 bash bootstrap.sh +``` + +### Bug Fixes + +- #8379: @josegonzalez Call correct function for limiting letsencrypt to certain domains + +### New Features + +- #8405: @josegonzalez Add Debian 13 versions of docker plugin packages +- #8261: @josegonzalez Configure Traefik readiness healthchecks based on app.json config +- #8378: @farmdawgnation Support custom entrypoint for api and dashboard + +### Dependencies + +- #8395: @dependabot[bot] chore(deps): bump mvdan.cc/sh/v3 from 3.12.0 to 3.13.0 in /plugins/cron +- #8401: @dependabot[bot] chore(deps): bump github.com/traefik/traefik/v2 from 2.11.38 to 2.11.40 in /plugins/scheduler-k3s +- #8400: @dependabot[bot] chore(deps): bump github.com/melbahja/goph from 1.4.0 to 1.5.0 in /plugins/common +- #8394: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.47.0 to 0.48.0 in /plugins/common +- #8396: @dependabot[bot] chore(deps): bump golang.org/x/sync from 0.19.0 to 0.20.0 in /plugins/common +- #8399: @dependabot[bot] chore(deps): bump golang.org/x/sync from 0.19.0 to 0.20.0 in /plugins/scheduler-k3s +- #8398: @dependabot[bot] chore(deps): bump traefik from 3.6.9 to v3.6.10 in /plugins/traefik-vhosts +- #8397: @dependabot[bot] chore(deps): bump golang.org/x/sync from 0.19.0 to 0.20.0 in /plugins/scheduler-docker-local +- #8314: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.39.0 to 1.39.1 in /plugins/common +- #8380: @dependabot[bot] chore(deps): bump lucaslorentz/caddy-docker-proxy from 2.10 to 2.11 in /plugins/caddy-vhosts +- #8381: @dependabot[bot] chore(deps): bump k8s.io/kubectl from 0.35.0 to 0.35.2 in /plugins/scheduler-k3s +- #8382: @dependabot[bot] chore(deps): bump docker/login-action from 3 to 4 +- #8383: @dependabot[bot] chore(deps): bump docker/setup-qemu-action from 3 to 4 +- #8384: @dependabot[bot] chore(deps): bump mkdocs-material from 9.7.3 to 9.7.4 in /docs/_build +- #8385: @dependabot[bot] chore(deps): bump django from 5.2.11 to 5.2.12 in /tests/apps/dockerfile-release +- #8387: @dependabot[bot] chore(deps): bump docker/setup-buildx-action from 3 to 4 +- #8388: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.79.1 to 1.79.2 in /tests/apps/gogrpc +- #8389: @dependabot[bot] chore(deps): bump golang from 1.26.0 to 1.26.1 in /tests/apps/go-fail-postdeploy +- #8390: @dependabot[bot] chore(deps): bump golang from 1.26.0 to 1.26.1 in /tests/apps/gogrpc +- #8391: @dependabot[bot] chore(deps): bump golang from 1.26.0 to 1.26.1 in /tests/apps/go-fail-predeploy +- #8392: @dependabot[bot] chore(deps): bump golang from 1.26.0 to 1.26.1 in /tests/apps/zombies-dockerfile-tini +- #8393: @dependabot[bot] chore(deps): bump golang from 1.26.0 to 1.26.1 in /tests/apps/zombies-dockerfile-no-tini +- #8354: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.78.0 to 1.79.1 in /tests/apps/gogrpc +- #8340: @dependabot[bot] chore(deps): bump python from 3.14.2-alpine to 3.14.3-alpine in /docs/_build +- #8353: @dependabot[bot] chore(deps): bump gunicorn from 25.0.2 to 25.1.0 in /tests/apps/multi +- #8357: @dependabot[bot] chore(deps): bump qs from 6.14.1 to 6.14.2 in /tests/apps/checks-root +- #8361: @dependabot[bot] chore(deps): bump flask from 3.1.2 to 3.1.3 in /tests/apps/multi +- #8360: @dependabot[bot] chore(deps): bump rack from 3.2.4 to 3.2.5 in /tests/apps/ruby +- #8332: @dependabot[bot] chore(deps-dev): bump org.apache.maven.plugins:maven-dependency-plugin from 3.9.0 to 3.10.0 in /tests/apps/java +- #8336: @dependabot[bot] chore(deps): bump python from 3.14.2-bookworm to 3.14.3-bookworm in /tests/apps/dockerfile-release +- #8355: @dependabot[bot] chore(deps): bump gunicorn from 25.0.2 to 25.1.0 in /tests/apps/python-flask +- #8356: @dependabot[bot] chore(deps): bump gunicorn from 25.0.2 to 25.1.0 in /tests/apps/dockerfile-release +- #8358: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.20.1 to 10.21 in /docs/_build +- #8371: @dependabot[bot] chore(deps): bump byjg/easy-haproxy from 5.0.0 to 6.0.1 in /plugins/haproxy-vhosts +- #8362: @dependabot[bot] chore(deps): bump flask from 3.1.2 to 3.1.3 in /tests/apps/python-flask +- #8374: @dependabot[bot] chore(deps): bump actions/download-artifact from 7 to 8 +- #8375: @dependabot[bot] chore(deps): bump actions/upload-artifact from 6 to 7 +- #8376: @dependabot[bot] chore(deps): bump phusion/baseimage from noble-1.0.2 to noble-1.0.3 +- #8377: @dependabot[bot] chore(deps): bump whitenoise from 6.11.0 to 6.12.0 in /tests/apps/dockerfile-release +- #8365: @dependabot[bot] chore(deps): bump github.com/traefik/traefik/v2 from 2.11.36 to 2.11.37 in /plugins/scheduler-k3s +- #8367: @dependabot[bot] chore(deps): bump werkzeug from 3.1.5 to 3.1.6 in /tests/apps/python-flask +- #8368: @dependabot[bot] chore(deps): bump dj-database-url from 3.1.0 to 3.1.2 in /tests/apps/dockerfile-release +- #8372: @dependabot[bot] chore(deps): bump mkdocs-material from 9.7.1 to 9.7.3 in /docs/_build +- #8373: @dependabot[bot] chore(deps): bump traefik from 3.6.7 to 3.6.9 in /plugins/traefik-vhosts +- #8351: @dependabot[bot] chore(deps): bump golang from 1.25.6 to 1.26.0 in /tests/apps/zombies-dockerfile-tini +- #8350: @dependabot[bot] chore(deps): bump golang from 1.25.6 to 1.26.0 in /tests/apps/zombies-dockerfile-no-tini +- #8349: @dependabot[bot] chore(deps): bump golang from 1.25.6 to 1.26.0 in /tests/apps/go-fail-postdeploy +- #8348: @dependabot[bot] chore(deps): bump golang from 1.25.6 to 1.26.0 in /tests/apps/gogrpc +- #8347: @dependabot[bot] chore(deps): bump golang from 1.25.6 to 1.26.0 in /tests/apps/go-fail-predeploy +- #8344: @dependabot[bot] chore(deps): bump sigs.k8s.io/kustomize/api from 0.21.0 to 0.21.1 in /plugins/scheduler-k3s +- #8329: @dependabot[bot] chore(deps): bump gunicorn from 25.0.1 to 25.0.2 in /tests/apps/multi +- #8330: @dependabot[bot] chore(deps): bump gunicorn from 25.0.1 to 25.0.2 in /tests/apps/python-flask +- #8331: @dependabot[bot] chore(deps): bump gunicorn from 25.0.1 to 25.0.2 in /tests/apps/dockerfile-release +- #8320: @dependabot[bot] chore(deps): bump django from 5.2.10 to 5.2.11 in /tests/apps/dockerfile-release +- #8321: @dependabot[bot] chore(deps): bump github.com/traefik/traefik/v2 from 2.11.35 to 2.11.36 in /plugins/scheduler-k3s +- #8319: @dependabot[bot] chore(deps): bump gunicorn from 24.1.1 to 25.0.1 in /tests/apps/dockerfile-release +- #8318: @dependabot[bot] chore(deps): bump github.com/cert-manager/cert-manager from 1.19.2 to 1.19.3 in /plugins/scheduler-k3s +- #8317: @dependabot[bot] chore(deps): bump gunicorn from 24.1.1 to 25.0.1 in /tests/apps/multi +- #8316: @dependabot[bot] chore(deps): bump gunicorn from 24.1.1 to 25.0.1 in /tests/apps/python-flask + ## 0.37.6 Install/update via the bootstrap script: diff --git a/README.md b/README.md index 39c798aaa..aacc94082 100644 --- a/README.md +++ b/README.md @@ -85,8 +85,8 @@ Otherwise, you will need to import the keypair manually after installation using To install the latest stable release, run the following commands as a user who has access to `sudo`: ```shell -wget -NP . https://dokku.com/install/v0.37.6/bootstrap.sh -sudo DOKKU_TAG=v0.37.6 bash bootstrap.sh +wget -NP . https://dokku.com/install/v0.37.7/bootstrap.sh +sudo DOKKU_TAG=v0.37.7 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. diff --git a/debian/control b/debian/control index 104d4817d..b61416651 100644 --- a/debian/control +++ b/debian/control @@ -1,9 +1,9 @@ Package: dokku -Version: 0.37.6 +Version: 0.37.7 Section: web Priority: optional Architecture: amd64 -Depends: apache2-utils, locales, git, cpio, cron, curl, logrotate, man-db, netcat, sshcommand, docker-engine-cs (>= 19.03.0) | docker-engine (>= 19.03.0) | docker-io (>= 19.03.0) | docker.io (>= 19.03.0) | docker-ce (>= 19.03.0) | docker-ee (>= 19.03.0) | moby-engine, docker-compose-plugin | moby-compose, docker-buildx-plugin | moby-buildx, docker-container-healthchecker, docker-image-labeler, lambda-builder, net-tools, netrc, parallel, procfile-util, rsync, dos2unix, unzip, util-linux +Depends: apache2-utils, locales, git, cpio, cron, curl, logrotate, man-db, netcat, sshcommand, docker-engine-cs (>= 19.03.0) | docker-engine (>= 19.03.0) | docker-io (>= 19.03.0) | docker.io (>= 19.03.0) | docker-ce (>= 19.03.0) | docker-ee (>= 19.03.0) | moby-engine, docker-compose-plugin | moby-compose | docker-compose, docker-buildx-plugin | moby-buildx | docker-buildx, docker-container-healthchecker, docker-image-labeler, lambda-builder, net-tools, netrc, parallel, procfile-util, rsync, dos2unix, unzip, util-linux Recommends: herokuish, bash-completion, dokku-update, dokku-event-listener Pre-Depends: gliderlabs-sigil, jq, nginx (>= 1.8.0) | openresty, bind9-dnsutils, debconf, plugn, sudo, python3, rsyslog Maintainer: Jose Diaz-Gonzalez diff --git a/docs/_build/requirements.txt b/docs/_build/requirements.txt index 43407bc6c..f686c01e8 100644 --- a/docs/_build/requirements.txt +++ b/docs/_build/requirements.txt @@ -1,18 +1,18 @@ beautifulsoup4==4.14.3 click==8.3.1 ghp-import==2.1.0 -importlib-metadata==8.7.1 +importlib-metadata==9.0.0 Jinja2==3.1.6 Markdown>=3.2.1,<3.11 MarkupSafe==3.0.3 mergedeep==1.3.4 mkdocs==1.6.1 mkdocs-exclude==1.0.2 -mkdocs-material==9.7.3 +mkdocs-material==9.7.6 mkdocs-material-extensions==1.3.1 packaging==26.0 -Pygments==2.19.2 -pymdown-extensions==10.21 +Pygments==2.20.0 +pymdown-extensions==10.21.2 pyparsing==3.3.2 python-dateutil==2.9.0.post0 PyYAML==6.0.3 diff --git a/docs/advanced-usage/plugin-management.md b/docs/advanced-usage/plugin-management.md index 2dea44e31..0dd19f747 100644 --- a/docs/advanced-usage/plugin-management.md +++ b/docs/advanced-usage/plugin-management.md @@ -36,35 +36,35 @@ dokku plugin:list ``` plugn: dev - 00_dokku-standard 0.37.6 enabled dokku core standard plugin - 20_events 0.37.6 enabled dokku core events logging plugin - app-json 0.37.6 enabled dokku core app-json plugin - apps 0.37.6 enabled dokku core apps plugin - build-env 0.37.6 enabled dokku core build-env plugin - buildpacks 0.37.6 enabled dokku core buildpacks plugin - certs 0.37.6 enabled dokku core certificate management plugin - checks 0.37.6 enabled dokku core checks plugin - common 0.37.6 enabled dokku core common plugin - config 0.37.6 enabled dokku core config plugin - docker-options 0.37.6 enabled dokku core docker-options plugin - domains 0.37.6 enabled dokku core domains plugin - enter 0.37.6 enabled dokku core enter plugin - git 0.37.6 enabled dokku core git plugin - logs 0.37.6 enabled dokku core logs plugin - network 0.37.6 enabled dokku core network plugin - nginx-vhosts 0.37.6 enabled dokku core nginx-vhosts plugin - plugin 0.37.6 enabled dokku core plugin plugin - proxy 0.37.6 enabled dokku core proxy plugin - ps 0.37.6 enabled dokku core ps plugin - repo 0.37.6 enabled dokku core repo plugin - resource 0.37.6 enabled dokku core resource plugin - scheduler-docker-local 0.37.6 enabled dokku core scheduler-docker-local plugin - shell 0.37.6 enabled dokku core shell plugin - ssh-keys 0.37.6 enabled dokku core ssh-keys plugin - storage 0.37.6 enabled dokku core storage plugin - tags 0.37.6 enabled dokku core tags plugin - tar 0.37.6 enabled dokku core tar plugin - trace 0.37.6 enabled dokku core trace plugin + 00_dokku-standard 0.37.7 enabled dokku core standard plugin + 20_events 0.37.7 enabled dokku core events logging plugin + app-json 0.37.7 enabled dokku core app-json plugin + apps 0.37.7 enabled dokku core apps plugin + build-env 0.37.7 enabled dokku core build-env plugin + buildpacks 0.37.7 enabled dokku core buildpacks plugin + certs 0.37.7 enabled dokku core certificate management plugin + checks 0.37.7 enabled dokku core checks plugin + common 0.37.7 enabled dokku core common plugin + config 0.37.7 enabled dokku core config plugin + docker-options 0.37.7 enabled dokku core docker-options plugin + domains 0.37.7 enabled dokku core domains plugin + enter 0.37.7 enabled dokku core enter plugin + git 0.37.7 enabled dokku core git plugin + logs 0.37.7 enabled dokku core logs plugin + network 0.37.7 enabled dokku core network plugin + nginx-vhosts 0.37.7 enabled dokku core nginx-vhosts plugin + plugin 0.37.7 enabled dokku core plugin plugin + proxy 0.37.7 enabled dokku core proxy plugin + ps 0.37.7 enabled dokku core ps plugin + repo 0.37.7 enabled dokku core repo plugin + resource 0.37.7 enabled dokku core resource plugin + scheduler-docker-local 0.37.7 enabled dokku core scheduler-docker-local plugin + shell 0.37.7 enabled dokku core shell plugin + ssh-keys 0.37.7 enabled dokku core ssh-keys plugin + storage 0.37.7 enabled dokku core storage plugin + tags 0.37.7 enabled dokku core tags plugin + tar 0.37.7 enabled dokku core tar plugin + trace 0.37.7 enabled dokku core trace plugin ``` > [!WARNING] diff --git a/docs/assets/favicons/browserconfig.xml b/docs/assets/favicons/browserconfig.xml index b5acbe5b7..bbdfdf114 100644 --- a/docs/assets/favicons/browserconfig.xml +++ b/docs/assets/favicons/browserconfig.xml @@ -2,10 +2,10 @@ - - - - + + + + #da532c diff --git a/docs/assets/favicons/manifest.json b/docs/assets/favicons/manifest.json index 4be5bd1d0..0bc49c79c 100644 --- a/docs/assets/favicons/manifest.json +++ b/docs/assets/favicons/manifest.json @@ -2,37 +2,37 @@ "name": "Dokku", "icons": [ { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.6\/docs\/assets\/favicons\/android-chrome-36x36.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.7\/docs\/assets\/favicons\/android-chrome-36x36.png", "sizes": "36x36", "type": "image\/png", "density": "0.75" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.6\/docs\/assets\/favicons\/android-chrome-48x48.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.7\/docs\/assets\/favicons\/android-chrome-48x48.png", "sizes": "48x48", "type": "image\/png", "density": "1.0" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.6\/docs\/assets\/favicons\/android-chrome-72x72.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.7\/docs\/assets\/favicons\/android-chrome-72x72.png", "sizes": "72x72", "type": "image\/png", "density": "1.5" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.6\/docs\/assets\/favicons\/android-chrome-96x96.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.7\/docs\/assets\/favicons\/android-chrome-96x96.png", "sizes": "96x96", "type": "image\/png", "density": "2.0" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.6\/docs\/assets\/favicons\/android-chrome-144x144.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.7\/docs\/assets\/favicons\/android-chrome-144x144.png", "sizes": "144x144", "type": "image\/png", "density": "3.0" }, { - "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.6\/docs\/assets\/favicons\/android-chrome-192x192.png", + "src": "https:\/\/cdn.jsdelivr.net\/dokku\/dokku@v0.37.7\/docs\/assets\/favicons\/android-chrome-192x192.png", "sizes": "192x192", "type": "image\/png", "density": "4.0" diff --git a/docs/assets/style.css b/docs/assets/style.css index b05038198..da86550e3 100644 --- a/docs/assets/style.css +++ b/docs/assets/style.css @@ -25,9 +25,9 @@ /* Avatar section darkmode fade */ --avatar-before-gradient: rgba(0, 0, 0, 0) linear-gradient(90deg, white 2.52%, rgba(255, 255, 255, 0) 100%) repeat scroll 0% 0%; - --avatar-darkmode-before-gradient: rgba(0, 0, 0, 0) linear-gradient(90deg, #0.37.6 2.52%, rgba(255, 255, 255, 0) 100%) repeat scroll 0% 0%; + --avatar-darkmode-before-gradient: rgba(0, 0, 0, 0) linear-gradient(90deg, #0.37.7 2.52%, rgba(255, 255, 255, 0) 100%) repeat scroll 0% 0%; --avatar-after-gradient: rgba(0, 0, 0, 0) linear-gradient(270deg, white 2.52%, rgba(255, 255, 255, 0) 100%) repeat scroll 0% 0%; - --avatar-darkmode-after-gradient: rgba(0, 0, 0, 0) linear-gradient(270deg, #0.37.6 2.52%, rgba(255, 255, 255, 0) 100%) repeat scroll 0% 0%; + --avatar-darkmode-after-gradient: rgba(0, 0, 0, 0) linear-gradient(270deg, #0.37.7 2.52%, rgba(255, 255, 255, 0) 100%) repeat scroll 0% 0%; } body { @@ -1191,15 +1191,15 @@ ul.fas li .fa-large:before { .getting-started::after { background: linear-gradient(0deg, rgba(52, 52, 87, 0.2) -40.97%, rgba(0, 0, 0, 0) 103.19%), - #0.37.6; + #0.37.7; } .tab-content { - background: #0.37.6; + background: #0.37.7; } .nav-tabs { - background: #0.37.6; + background: #0.37.7; } .powered-by_brands { diff --git a/docs/assets/versions.json b/docs/assets/versions.json index b4e2d13b2..9569fc16e 100644 --- a/docs/assets/versions.json +++ b/docs/assets/versions.json @@ -34,6 +34,6 @@ "0.34.9", "0.35.20", "0.36.11", - "0.37.6" + "0.37.7" ] } diff --git a/docs/development/release-process.md b/docs/development/release-process.md index 2666efbf6..19bf45410 100644 --- a/docs/development/release-process.md +++ b/docs/development/release-process.md @@ -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.37.6-2 (Mon Feb 22 23:20:37 CET 2016)" +# wait for "==> build-arch: ==> Finished making: dokku 0.37.7-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' diff --git a/docs/getting-started/install/docker.md b/docs/getting-started/install/docker.md index 76b22b675..f5ff2bda9 100644 --- a/docs/getting-started/install/docker.md +++ b/docs/getting-started/install/docker.md @@ -3,7 +3,7 @@ Pull the dokku/dokku image: ```shell -docker pull dokku/dokku:0.37.6 +docker pull dokku/dokku:0.37.7 ``` Next, run the image. @@ -19,7 +19,7 @@ docker container run -d \ --publish 8443:443 \ --volume /var/lib/dokku:/mnt/dokku \ --volume /var/run/docker.sock:/var/run/docker.sock \ - dokku/dokku:0.37.6 + dokku/dokku:0.37.7 ``` Alternatively, you can use `docker-compose.yml`: @@ -27,7 +27,7 @@ Alternatively, you can use `docker-compose.yml`: ```yaml services: dokku: - image: dokku/dokku:0.37.6 + image: dokku/dokku:0.37.7 container_name: dokku network_mode: bridge ports: @@ -83,7 +83,7 @@ redis: https://github.com/dokku/dokku-redis.git The alternative is to build a custom docker image via a custom Dockerfile. This Dockerfile can run any `plugin:install` command, though the `install` trigger must be skipped via the `--skip-install-trigger`. The version installed at that time will be the one that persists. Below is an example Dockerfile showing this method. ```Dockerfile -FROM dokku/dokku:0.37.6 +FROM dokku/dokku:0.37.7 RUN dokku plugin:install https://github.com/dokku/dokku-postgres.git --skip-install-trigger RUN dokku plugin:install https://github.com/dokku/dokku-redis.git --skip-install-trigger ``` diff --git a/docs/getting-started/installation/index.md b/docs/getting-started/installation/index.md index 87a098384..09cc2d9b6 100644 --- a/docs/getting-started/installation/index.md +++ b/docs/getting-started/installation/index.md @@ -31,8 +31,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 -NP . https://dokku.com/install/v0.37.6/bootstrap.sh -sudo DOKKU_TAG=v0.37.6 bash bootstrap.sh +wget -NP . https://dokku.com/install/v0.37.7/bootstrap.sh +sudo DOKKU_TAG=v0.37.7 bash bootstrap.sh ``` The installation process takes about 5-10 minutes, depending upon internet connection speed. diff --git a/docs/home.html b/docs/home.html index 8480c6a6c..c9059dc80 100644 --- a/docs/home.html +++ b/docs/home.html @@ -10,26 +10,26 @@ Dokku - The smallest PaaS implementation you've ever seen - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + + @@ -38,7 +38,7 @@ - + @@ -98,7 +98,7 @@
-
Latest release v0.37.6
+
Latest release v0.37.7

An open source PAAS alternative to Heroku.

Dokku helps you build and manage the lifecycle of applications from building to scaling.

@@ -125,7 +125,7 @@

$ - sudo DOKKU_TAG=v0.37.6 bash bootstrap.sh + sudo DOKKU_TAG=v0.37.7 bash bootstrap.sh


diff --git a/docs/networking/proxies/traefik.md b/docs/networking/proxies/traefik.md index 5e13daa1a..4e996d6d5 100644 --- a/docs/networking/proxies/traefik.md +++ b/docs/networking/proxies/traefik.md @@ -32,6 +32,42 @@ The Traefik plugin has specific rules for routing 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. +- Readiness healthchecks defined in `app.json` with a `path` property are automatically transformed into Traefik healthcheck labels. + +### Healthchecks + +When an app has a readiness healthcheck defined in its `app.json` file with a `path` property, Dokku automatically generates Traefik healthcheck labels. These labels configure Traefik to perform health checks on the container before routing traffic to it. + +The following `app.json` healthcheck properties are mapped to Traefik labels: + +| app.json Property | Traefik Label Property | Description | +|-------------------|------------------------|-------------| +| `path` | `healthcheck.path` | The HTTP path to check (required) | +| `scheme` | `healthcheck.scheme` | The scheme to use (`http` or `https`) | +| `port` | `healthcheck.port` | The port to check | +| `timeout` | `healthcheck.timeout` | Timeout in seconds (formatted as `Xs`) | +| `wait` | `healthcheck.interval` | Interval between checks in seconds (formatted as `Xs`) | + +Example `app.json` configuration: + +```json +{ + "healthchecks": { + "web": [ + { + "name": "web readiness check", + "path": "/health", + "timeout": 5, + "type": "readiness", + "wait": 10 + } + ] + } +} +``` + +> [!NOTE] +> Only the first readiness healthcheck with a `path` property is used. Liveness, startup, and command-based healthchecks are not transformed into Traefik labels. ### Switching to Traefik diff --git a/docs/template.html b/docs/template.html index e47da406b..fef15c86f 100644 --- a/docs/template.html +++ b/docs/template.html @@ -9,26 +9,26 @@ Dokku - {{DOC_TITLE}} - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - + +