# History ## 0.31.5 Install/update via the bootstrap script: ```shell wget -NP . https://dokku.com/install/v0.31.5/bootstrap.sh sudo DOKKU_TAG=v0.31.5 bash bootstrap.sh ``` ### Bug Fixes - #6275: @josegonzalez Update message referencing CHECKS file usage to app.json - #6273: @josegonzalez Clean up local build images immediately after an image is released ### New Features - #6274: @josegonzalez Add more version output to dokku report command - #6255: @josegonzalez Add ci concurrency to linting workflow - #6253: @josegonzalez Add ci concurrency to doc building - #6254: @josegonzalez Add ci concurrency to codeql analysis - #6222: @josegonzalez Install docker-buildx-plugin to silence buildx warnings ### Refactors - #6257: @josegonzalez Manage Dokku system dependencies in a single file ### Documentation - #6271: @josegonzalez Update list of official, community, and deprecated plugins - #6224: @joeyates Correct typo in example app.json for healthchecks - #6207: @AlejandroAkbal Update port clearing command in Dockerfile deploy documentation ### Tests - #6278: @josegonzalez Remove pack installation from builder-lambda tests ### Dependencies - #6269: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.14.0 to 0.17.0 in /plugins/common - #6270: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.2.1 to 39.2.2 - #6262: @dependabot[bot] chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/zombies-dockerfile-no-tini - #6263: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.16.0 to 0.17.0 in /tests/apps/gogrpc - #6264: @dependabot[bot] chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/zombies-dockerfile-tini - #6265: @dependabot[bot] chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/go-fail-predeploy - #6259: @dependabot[bot] chore(deps): bump org.eclipse.jetty:jetty-servlet from 11.0.16 to 11.0.17 in /tests/apps/java - #6260: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.4 to 9.4.5 in /docs/_build - #6261: @dependabot[bot] chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/gogrpc - #6266: @dependabot[bot] chore(deps): bump golang from 1.21.2 to 1.21.3 in /tests/apps/go-fail-postdeploy - #6258: @dependabot[bot] chore(deps): update markdown requirement from <3.5,>=3.2.1 to >=3.2.1,<3.6 in /docs/_build - #6256: @josegonzalez chore: bump github.com/otiai10/copy and golang.org/x/sync - #6241: @dependabot[bot] chore(deps): bump python from 3.11.5-alpine to 3.12.0-alpine in /docs/_build - #6252: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.2 to 9.4.4 in /docs/_build - #6235: @dependabot[bot] chore(deps): bump packaging from 23.1 to 23.2 in /docs/_build - #6232: @dependabot[bot] chore(deps): bump werkzeug from 2.3.7 to 3.0.0 in /tests/apps/python-flask - #6231: @dependabot[bot] chore(deps): bump flask from 2.3.3 to 3.0.0 in /tests/apps/python-flask - #6248: @dependabot[bot] chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/gogrpc - #6251: @dependabot[bot] chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/zombies-dockerfile-tini - #6250: @dependabot[bot] chore(deps): bump golang.org/x/net from 0.15.0 to 0.16.0 in /tests/apps/gogrpc - #6249: @dependabot[bot] chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/go-fail-predeploy - #6247: @dependabot[bot] chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/zombies-dockerfile-no-tini - #6246: @dependabot[bot] chore(deps): bump golang from 1.21.1 to 1.21.2 in /tests/apps/go-fail-postdeploy - #6245: @dependabot[bot] chore(deps): bump golang.org/x/sync from 0.3.0 to 0.4.0 in /plugins/scheduler-docker-local - #6233: @dependabot[bot] chore(deps): bump flask from 2.3.3 to 3.0.0 in /tests/apps/multi - #6239: @dependabot[bot] chore(deps): bump github.com/otiai10/copy from 1.12.0 to 1.14.0 in /plugins/ps - #6234: @dependabot[bot] chore(deps): bump github.com/otiai10/copy from 1.12.0 to 1.14.0 in /plugins/builder - #6240: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.2.0 to 39.2.1 - #6228: @josegonzalez Update all go modules and ensure all are tracked in dependabot - #6227: @dependabot[bot] chore(deps): bump github.com/onsi/gomega from 1.27.10 to 1.28.0 in /plugins/common - #6216: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.1.2 to 39.2.0 - #6217: @dependabot[bot] chore(deps): bump mkdocs-material from 9.4.1 to 9.4.2 in /docs/_build - #6215: @dependabot[bot] chore(deps): bump mkdocs-material from 9.3.1 to 9.4.1 in /docs/_build - #6214: @dependabot[bot] chore(deps): bump mkdocs-material-extensions from 1.1.1 to 1.2 in /docs/_build - #6209: @dependabot[bot] chore(deps): bump zipp from 3.16.2 to 3.17.0 in /docs/_build - #6211: @dependabot[bot] chore(deps): bump mkdocs from 1.5.2 to 1.5.3 in /docs/_build - #6213: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.0.2 to 39.1.2 - #6202: @dependabot[bot] chore(deps): bump docker/setup-buildx-action from 2 to 3 - #6199: @dependabot[bot] chore(deps): bump docker/login-action from 2 to 3 - #6200: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 39.0.0 to 39.0.2 - #6201: @dependabot[bot] chore(deps): bump docker/setup-qemu-action from 2 to 3 - #6203: @dependabot[bot] chore(deps): bump mkdocs-material from 9.2.8 to 9.3.1 in /docs/_build
73 lines
3.6 KiB
Markdown
73 lines
3.6 KiB
Markdown
# 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:
|
|
|
|
- A fresh installation of any of the following operating systems:
|
|
- [Ubuntu 20.04/22.04](https://www.ubuntu.com/download)
|
|
- [Debian 10+ x64](https://www.debian.org/distrib/)
|
|
- A server with one of the following architectures
|
|
- AMD64 (alternatively known as `x86_64`), commonly used for Intel cloud servers
|
|
- ARMV7 (alternatively known as `armhf`), commonly used for Raspberry PI
|
|
- 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-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.
|
|
|
|
- Wildcard domain (`*.domain.tld` A Record): will allow access to apps via `$APP.domain.tld`.
|
|
- Single domain (`domain.tld` A or CNAME Record): will result in apps being accessed via `domain.tld:$RANDOM_PORT`.
|
|
|
|
Please see the [dns documentation](/docs/networking/dns.md) and [domains documentation](/docs/configuration/domains.md) 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](/docs/getting-started/advanced-installation.md#configuring).
|
|
|
|
### 1. Install Dokku
|
|
|
|
To install the latest stable version of Dokku, you can run the following shell commands:
|
|
|
|
```shell
|
|
# for debian systems, installs Dokku via apt-get
|
|
wget -NP . https://dokku.com/install/v0.31.5/bootstrap.sh
|
|
sudo DOKKU_TAG=v0.31.5 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.
|
|
|
|
```shell
|
|
# usually your key is already available under the current user's `~/.ssh/authorized_keys` file
|
|
cat ~/.ssh/authorized_keys | 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](/docs/deployment/user-management.md#adding-ssh-keys) and [domains documentation](/docs/configuration/domains.md#customizing-hostnames) for more information.
|
|
|
|
### 3. Deploy your first application
|
|
|
|
At this point, you should be able to [deploy to the Dokku installation](/docs/deployment/application-deployment.md).
|