# History ## 0.26.7 Install/update via the bootstrap script: ```shell wget https://raw.githubusercontent.com/dokku/dokku/v0.26.7/bootstrap.sh sudo DOKKU_TAG=v0.26.7 bash bootstrap.sh ``` ### Bug Fixes - #5003: @josegonzalez Respect pre-existing .env files when preparing the herokuish buildenv - #4950: @emdienn Use exported environment vars during pack build - #4999: @elhu Purge cache for all apps when calling buildpacks:set-property with --global flag - #4988: @fomojola Conditionally restart NGINX - #4922: @josegonzalez Gitignore more built plugin triggers in apps plugin ### New Features - #4964: @josegonzalez Add log message when running state is false - #4970: @josegonzalez Log the string error and not bytes when there is an issue updating the cron schedule - #4924: @josegonzalez Update devcontainer to include aliased go packages - #4920: @josegonzalez Ensure related go source and vscode plugins are installed in devcontainer ### Documentation - #4949: @IlyaSemenov docs: update herokuish upgrade instructions - #4992: @anthonyshew Typo for deploying using image SHA - #4976: @josegonzalez Update link in header to dokku pro - #4972: @Dam-Buty Clarify cron:report command - #4943: @Stormheg Fix typo in registry management documentation - #4935: @josegonzalez Reword note about env vars in nginx config templates ### Other - #4995: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 203 to 205 in /tests/apps/php - #4978: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 201 to 203 in /tests/apps/php - #4936: @dependabot[bot] chore(deps-dev): bump heroku/heroku-buildpack-php from 200 to 201 in /tests/apps/php - #4937: @dependabot[bot] chore(deps): bump socket.io from 4.3.2 to 4.4.0 in /tests/apps/.websocket.disabled
77 lines
2.9 KiB
Markdown
77 lines
2.9 KiB
Markdown
# Docker Installation Notes
|
|
|
|
Pull the dokku/dokku image:
|
|
|
|
```shell
|
|
docker pull dokku/dokku:0.26.7
|
|
```
|
|
|
|
Next, run the image.
|
|
|
|
```shell
|
|
docker container run \
|
|
--env DOKKU_HOSTNAME=dokku.me \
|
|
--env DOKKU_HOST_ROOT=/var/lib/dokku/home/dokku \
|
|
--name dokku \
|
|
--publish 3022:22 \
|
|
--publish 8080:80 \
|
|
--publish 8443:443 \
|
|
--volume /var/lib/dokku:/mnt/dokku \
|
|
--volume /var/run/docker.sock:/var/run/docker.sock \
|
|
dokku/dokku:0.26.7
|
|
```
|
|
|
|
The above command will start a new docker container that is ready when a message similar to `Runit started as PID 12345` appears.
|
|
|
|
Dokku is run in the following configuration:
|
|
|
|
- The global hostname is set to `dokku.me` on boot.
|
|
- The container name is dokku.
|
|
- Container SSH port 22 is exposed on the host as 3022.
|
|
- Container HTTP port 80 is exposed on the host as 8080.
|
|
- Container HTTPS port 443 is exposed on the host as 8443.
|
|
- Data within the container is stored on the host within the `/var/lib/dokku` directory.
|
|
- Image build cache is set to the data dir + `/home/dokku`.
|
|
- The docker socket is mounted into container.
|
|
|
|
Application repositories, plugin config, as well as plugin data are persisted to disk within the specified host directory for `/var/lib/dokku`.
|
|
|
|
Other docker container options can also be used when running Dokku, though the specific outcome will depend upon the specified options. For example, the Dokku container's nginx port can be bound to a specific host ip by specifying `--publish $HOST_IP:8080:80`, where `$HOST_IP` is the IP desired. Please see the [docker container run documentation](https://docs.docker.com/engine/reference/commandline/run/) for further explanation for various docker arguments.
|
|
|
|
## Plugin Installation
|
|
|
|
To install custom plugins, create a `plugin-list` file in the host's `/var/lib/dokku` directory. The plugins listed herein will be automatically installed by Dokku on container boot. This file should be the following format:
|
|
|
|
```yaml
|
|
plugin_name: repository_url
|
|
```
|
|
|
|
An example for installing the postgres and redis plugins follows:
|
|
|
|
```yaml
|
|
postgres: https://github.com/dokku/dokku-postgres.git
|
|
redis: https://github.com/dokku/dokku-redis.git
|
|
```
|
|
|
|
## SSH Key Management
|
|
|
|
To initialize ssh-keys within the container, use `docker exec` to enter the container and run the appropriate ssh-keys commands.
|
|
|
|
```shell
|
|
docker exec -it dokku bash
|
|
```
|
|
|
|
Please see the [user management documentation](/docs/deployment/user-management.md) for more information.
|
|
|
|
## Pushing Applications
|
|
|
|
When exposing the Dokku container's SSH port (22) on 3022, something similar to the following will need to be setup within the user's `~/.ssh/config`:
|
|
|
|
```
|
|
Host dokku.docker
|
|
HostName 127.0.0.1
|
|
Port 3022
|
|
```
|
|
|
|
In the above example, the hostname `127.0.0.1` is being aliased to `dokku.docker`, while the port is being overriden to `3022`. All SSH commands - including git pushes - for the hostname `dokku.docker` will be transparently sent to `127.0.0.1:3022`.
|