Build Status GoDoc Gitter</a>

System Requirements

We highly recommend running Docker with the AUFS storage driver. You can verify Docker is using the AUFS storage driver with the following command sudo docker info | grep Driver:

Upgrading

If you are upgrading from 0.2 I would recommend waiting a few weeks for the master branch to stabilize. There was a huge amount of refactoring that destabilized the codebase and I'd hate for that to impact any real world installations.

If you still want to upgrade to 0.2 please know that the databases are not compatible and there is no automated migration due to some fundamental structural changes. You will need to start with a fresh instance.

Installation

This is project is alpha stage. Consider yourself warned

We have optimized the installation process for Ubuntu since that is what we test with internally. You can run the following commands to quickly download an install Drone on an Ubuntu machine.

```sh

Ubuntu, Debian

wget downloads.drone.io/master/drone.deb sudo dpkg -i drone.deb

CentOS, RedHat

wget downloads.drone.io/master/drone.rpm sudo yum localinstall drone.rpm ```

Database

By default, Drone will create a SQLite database. Drone also supports Postgres and MySQL databases. You can customize the database settings using the configuration options described in the Setup section.

Below are some example configurations that you can use as reference:

```toml

to use postgres

[database] driver="postgres" datasource="host=127.0.0.1 user=postgres dbname=drone sslmode=disable"

to use mysql

[database] driver="mysql" datasource="root@tcp(127.0.0.1:3306)/drone" ```

Setup

We are in the process of moving configuration out of the UI and into configuration files and/or environment variables (your choice which). If you prefer configuration files you can provide Drone with the path to your configuration file:

sh droned --config=/path/to/drone.toml

The configuration file is in TOML format. If installed using the drone.deb file will be located in /etc/drone/drone.toml.

```toml

[server] port=""

[server.ssl] key="" cert=""

[session] secret="" expires=""

[database] driver="" datasource=""

[registration] open=true

[github] client="" secret=""

[githubenterprise] client="" secret="" api="" url="" privatemode=false

[bitbucket] client="" secret=""

[gitlab] url=""

[smtp] host="" port="" from="" user="" pass=""

[worker] cert="" key="" nodes=[ "unix:///var/run/docker.sock", "unix:///var/run/docker.sock" ]

```

Or you can use environment variables

```sh

custom http server settings

export DRONESERVERPORT="" export DRONESERVERSSLKEY="" export DRONESERVERSSLCERT=""

session settings

export DRONESESSIONSECRET="" export DRONESESSIONEXPIRES=""

custom database settings

export DRONEDATABASEDRIVER="" export DRONEDATABASEDATASOURCE=""

enable users to self-register

export DRONEREGISTRATIONOPEN=false

github configuration

export DRONEGITHUBCLIENT="" export DRONEGITHUBSECRET=""

github enterprise configuration

export DRONEGITHUBENTERPRISECLIENT="" export DRONEGITHUBENTERPRISESECRET="" export DRONEGITHUBENTERPRISEAPI="" export DRONEGITHUBENTERPRISEURL="" export DRONEGITHUBENTERPRISEPRIVATEMODE=false

bitbucket configuration

export DRONEBITBUCKETCLIENT="" export DRONEBITBUCKETSECRET=""

gitlab configuration

export DRONEGITLABURL=""

email configuration

export DRONESMTPHOST="" export DRONESMTPPORT="" export DRONESMTPFROM="" export DRONESMTPUSER="" export DRONESMTPPASS=""

worker nodes

these are optional. If not specified Drone will add

two worker nodes that connect to $DOCKER_HOST

export DRONEWORKERNODES="tcp://0.0.0.0:2375,tcp://0.0.0.0:2375" ```

Or a combination of the two:

sh DRONE_GITLAB_URL="https://gitlab.com" droned --config=/path/to/drone.conf

GitHub

In order to setup with GitHub you'll need to register your local Drone installation with GitHub (or GitHub Enterprise). You can read more about registering an application here: https://github.com/settings/applications/new

Below are example values when running Drone locally. If you are running Drone on a server you should replace localhost with your server hostname or address.

Homepage URL:

http://localhost:8000/

Authorization callback URL:

http://localhost:8000/api/auth/github.com

Build Configuration

You will need to include a .drone.yml file in the root of your repository in order to configure a build. I'm still working on updated documentation, so in the meantime please refer to the 0.2 README to learn more about the .drone.yml format:

https://github.com/drone/drone/blob/v0.2.1/README.md#builds