# History ## 0.38.0 Install/update via the bootstrap script: ```shell wget -NP . https://dokku.com/install/v0.38.0/bootstrap.sh sudo DOKKU_TAG=v0.38.0 bash bootstrap.sh ``` See the [0.38.0 migration guide](/docs/appendices/0.38.0-migration-guide.md) for more information on migrating to 0.38.0. ### Bug Fixes - #8533: @josegonzalez Split env config and image pull secret into separate helm releases - #8530: @josegonzalez Split multi-flag input in docker-options - #8528: @josegonzalez Skip retiring images still in use by app containers - #8525: @josegonzalez Add launcher entrypoint for CNB images on dokku run and cron:run - #8522: @josegonzalez Only emit keda fallback when a non-cpu/memory trigger exists - #8515: @josegonzalez Fix vector mount directory config - #8508: @josegonzalez Preserve all domains when renaming an app - #8507: @josegonzalez Retire orphaned containers when scaling down ### New Features - #8538: @josegonzalez Add scheduler-aware named storage entries - #8527: @josegonzalez Accept --global on :report subcommands - #8524: @josegonzalez Pre-validate custom nginx.conf.sigil during core-post-extract - #8523: @josegonzalez Support resource limits on the build container - #8517: @josegonzalez Send SIGTERM to old containers immediately on deploy - #8516: @josegonzalez Scope docker-options to specific procfile processes - #8509: @josegonzalez Ship default catch-all site on fresh apt install - #8506: @josegonzalez Add --format json to git:report and nginx:report - #8505: @josegonzalez Add git:auth-status to check netrc match - #8493: @josegonzalez Generate 502 config for apps without web listeners - #8404: @josegonzalez Upgrade vector chart from 0.42.0 to 0.52.0 - #8403: @josegonzalez Upgrade ingress-nginx chart from 4.10.0 to 4.15.1 - #8402: @josegonzalez Upgrade keda to 2.19.0 and keda-add-ons-http to 0.12.2 - #8259: @josegonzalez Add post-create support for env key in app.json - #8157: @josegonzalez Add support for specifying buildpacks via app.json - #8154: @josegonzalez Enable live-restore by default when installing Dokku - #3697: @josegonzalez Migrate builds plugin to go and track per-build records ### Refactors - #8514: @josegonzalez Migrate docker-options subcommands to go - #6716: @josegonzalez Move app and global ENV files to consolidated config path ### Dependencies - #8541: @dependabot[bot] chore(deps): bump traefik from v3.6.14 to v3.6.15 in /plugins/traefik-vhosts - #8537: @dependabot[bot] chore(deps): bump github.com/traefik/traefik/v2 from 2.11.43 to 2.11.44 in /plugins/scheduler-k3s - #8535: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.39.1 to 1.40.0 in /plugins/common - #8529: @josegonzalez chore: bump dokku/netrc to v0.11.0 - #8520: @dependabot[bot] chore(deps): bump packaging from 26.1 to 26.2 in /docs/_build - #8510: @dependabot[bot] chore(deps): bump packaging from 26.1 to 26.2 in /docs/_build - #8503: @josegonzalez Bump dependency versions and add daily updater workflow - #8502: @josegonzalez Bump go version to 1.26.2 - #8495: @dependabot[bot] chore(deps): bump k8s.io/apimachinery from 0.35.4 to 0.36.0 in /plugins/scheduler-k3s - #8494: @dependabot[bot] chore(deps): bump dokku/openresty-docker-proxy from 0.9.3 to 0.10.0 in /plugins/openresty-vhosts - #8490: @dependabot[bot] chore(deps): bump k8s.io/kubernetes from 1.35.4 to 1.36.0 in /plugins/scheduler-k3s ### Other - #8498: @josegonzalez Migrate environment variables to plugin properties
3.3 KiB
Getting Started with Dokku
What is Dokku?
Dokku is an extensible, open source Platform as a Service that runs on a single server of your choice. Dokku supports building apps on the fly from a git push via either Dockerfile or by auto-detecting the language with Buildpacks, and then starts containers based on your built image. Using technologies such as nginx and cron, Web processes are automatically routed to, while background processes and automated cron tasks are also managed by Dokku.
System Requirements
To start using Dokku, you'll need a system that meets the following minimum requirements:
- Operating Systems: Ubuntu 22.04/24.04 or Debian 11+ x64
- Supported Architectures:
AMD64(x86_64) andarm64(armv8) - Minimum Memory:
- Docker Scheduler: 1GB of system memory, or add swap memory
- K3s Scheduler: 2GB of system memory on every node in the cluster
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.
- Wildcard domain (
*.domain.tldA Record): will allow access to apps via$APP.domain.tld. - Single domain (
domain.tldA or CNAME Record): will result in apps being accessed viadomain.tld:$RANDOM_PORT.
Please see the dns documentation and domains documentation for more details.
Installing the latest stable version
This is the simple method of installing Dokku. For alternative methods of installation, see the advanced install guide.
1. Install Dokku
To install the latest stable version of Dokku, you can run the following shell commands:
# for debian systems, installs Dokku via apt-get
wget -NP . https://dokku.com/install/v0.38.0/bootstrap.sh
sudo DOKKU_TAG=v0.38.0 bash bootstrap.sh
The installation process takes about 5-10 minutes, depending upon internet connection speed.
2. Setup SSH key and Virtualhost Settings
Once the installation is complete, you should configure an ssh key and set your global domain.
# usually your key is already available under the current user's `~/.ssh/authorized_keys` file
cat ~/.ssh/authorized_keys | sudo dokku ssh-keys:add admin
# you can use any domain you already have access to
# this domain should have an A record or CNAME pointing at your server's IP
dokku domains:set-global dokku.me
# you can also use the ip of your server
dokku domains:set-global 10.0.0.2
# finally, you can use sslip.io to get subdomain support
# as you would with a regular domain name
# this would be done by appending `.sslip.io` to your ip address
dokku domains:set-global 10.0.0.2.sslip.io
See the user management and domains documentation for more information.
3. Deploy your first application
At this point, you should be able to deploy to the Dokku installation.