Files
dokku/docs/getting-started/installation.md

60 lines
3.3 KiB
Markdown
Raw Normal View History

# 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.
2016-01-07 13:21:43 +02:00
To start using Dokku, you'll need a system that meets the following minimum requirements:
- A fresh installation of [Ubuntu 16.04 x64](https://www.ubuntu.com/download), [Ubuntu 14.04 x64](https://www.ubuntu.com/download), [Debian 8.2 x64](https://www.debian.org/distrib/) or [CentOS 7 x64](https://www.centos.org/download/) *(experimental)* with the FQDN set <sup>[1]</sup>
- At least `1GB` of system memory <sup>[2]</sup>
You can *optionally* have a domain name pointed at the host's IP, though this is not necessary.
Dokku is designed for usage on a fresh VM installation, and should install all necessary dependencies if installing via the bootstrap method.
### Installing the latest stable version
#### 1. Install dokku
To install the latest stable version of dokku, you can run the following shell commands:
2014-12-19 15:09:38 -05:00
```shell
# for debian systems, installs Dokku via apt-get
Release 0.10.0 # History ## 0.10.0 ### Bug Fixes - #2820: @josegonzalez Require netcat in debian packaging - #2774: @fruitl00p Include docker-options in the default `dokku` - #2778: @zarqman Fix /etc/logrotate.d/dokku on debian - #2747: @ebeigarts Update herokuish base image on updates using --pull - #2739: @josegonzalez Use listener_port in nginx.conf.sigil - #2735: @josegonzalez Ensure we can call ps:report without specifying an application - #2733: @josegonzalez Add support for new docker package names - #2730: @weyert Ignore the cache directory when cloning an app - #2723: @weyert Call non-deprecated plugin:list method ### New Features - #2803: @iSDP Adding related articles on the Docker Image Deployment page - #2798: @znz Update CURL_CONNECT_TIMEOUT in docs - #2795: @josegonzalez docs: Add documentation around adding build-time configuration variables - #2791: @yazinsai Correct typo in persistent storage docs - #2789: @h4ckninja Subject-verb agreement - #2790: @flyinggrizzly Add entry for insecure connection issue in Rails - #2788: @josegonzalez Flesh out uninstallation documentation - #2784: @josegonzalez Document special dokku environment variables - #2773: @znz Update year in footer [ci skip] - #2768: @znz Ubuntu 12.04 is EOL - #2769: @lucianopf Fix SlackButton for mobile devices. - #2763: @ZiadSalah Update vagrant documentation for windows users - #2764: @joshmanders Create PULL_REQUEST_TEMPLATE.md - #2758: @AxelTheGerman Update doc location for dokku-git-rev community plugin - #2757: @nodanaonlyzuul Fix typo from "To use a dockerfiles" to "To use a dockerfile" singular - #2753: @abrkn Use short-hand method for shutting down all applications in upgrade docs - #2746: @josegonzalez Add redirect for installation to advanced install docs - #2738: @josegonzalez Add missing `NO_SSL_SERVER_NAME` to example template - #2457: @john-doherty Update Digitalocean installation instructions - #2725: @timaschew Fix typo in application management docs - #2719: @joshco Clarify that nginx.conf.sigil must be committed to repository - #2715: @josegonzalez Use urls that are linkable on github ### Documentation - #2822: @josegonzalez refactor: allow skipping cleanup on a per-application basis - #2754: @fzerorubigd Add support for set DOKKU_IMAGE per app - #2815: @markstory Add stickler-ci configuration. - #2809: @oliw Remove aufs step from Makefile - #2785: @josegonzalez Add a release-plugin binary - #2777: @stokarenko Turn on ps-post-stop hook. - #2781: @fruitl00p Adds docker.io support - #2766: @josegonzalez Upgrade to herokuish 0.3.29 - #2765: @josegonzalez Install python3-software-properties as an alternative to python-software-properties - #2642: @chiedo Added better default nginx error pages - #2678: @callahad Default to secure PCI-compliant SSL setup - #2734: @josegonzalez Allow quieter report output
2017-07-02 22:08:13 -06:00
wget https://raw.githubusercontent.com/dokku/dokku/v0.10.0/bootstrap.sh;
sudo DOKKU_TAG=v0.10.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 can open a browser to setup your SSH key and virtualhost settings. Open your browser of choice and navigate to the host's IP address - or the domain you assigned to that IP previously - and configure Dokku via the web admin.
2016-09-29 14:53:20 +05:30
>**Warning:** If you don't complete setup via the web installer (even if you set up SSH keys and virtual hosts otherwise) your Dokku installation will remain vulnerable to anyone finding the setup page and inserting their key.
>**Warning:** Web installer is not available on CentOS and Arch Linux. You will need to configure [SSH keys](/docs/deployment/user-management.md#adding-ssh-keys) and [virtual hosts](/docs/configuration/domains.md#customizing-hostnames) using dokku command line interface.
#### 3. Deploy your first application
Once you save your settings, the web admin will self-terminate and you should be able to run or deploy to the Dokku installation.
### Installing via other methods
For various reasons, certain hosting providers may have other steps that should be preferred to the above. If hosted on any of the following popular hosts, please follow the linked to instructions:
- [Digital Ocean Installation Notes](/docs/getting-started/install/digitalocean.md)
- [DreamHost Cloud Installation Notes](/docs/getting-started/install/dreamhost.md)
- [Microsoft Azure Installation Notes](/docs/getting-started/install/azure.md)
As well, you may wish to customize your installation in some other fashion. or experiment with vagrant. The guides below should get you started:
- [Debian Package Installation Notes](/docs/getting-started/install/debian.md)
- [RPM Package Installation Notes](/docs/getting-started/install/rpm.md)
- [Vagrant Installation Notes](/docs/getting-started/install/vagrant.md)
- [Advanced Install Customization](/docs/getting-started/advanced-installation.md)
---
- <sup>[1]: To check whether your system has an fqdn set, run `sudo hostname -f`</sup>
- <sup>[2]: If your system has less than 1GB of memory, you can use [this workaround](/docs/getting-started/advanced-installation.md#vms-with-less-than-1gb-of-memory).</sup>