Files
dokku/docs/getting-started/installation/index.md
Dokku Bot 35a9036f79 Release 0.30.2
# History

## 0.30.2

Install/update via the bootstrap script:

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

### Bug Fixes

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

### New Features

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

### Removals

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

### Documentation

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

### Tests

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

### Dependencies

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

### Other

- #5751: @josegonzalez Update all golang dependencies to fix go.0 tests
2023-03-21 08:49:13 +00:00

3.6 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:

  • A fresh installation of any of the following operating systems:
  • 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

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 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 https://dokku.com/install/v0.30.2/bootstrap.sh
sudo DOKKU_TAG=v0.30.2 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 | 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.