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:
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.
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.
wget downloads.drone.io/master/drone.deb sudo dpkg -i drone.deb
wget downloads.drone.io/master/drone.rpm sudo yum localinstall drone.rpm ```
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:
[database] driver="postgres" datasource="host=127.0.0.1 user=postgres dbname=drone sslmode=disable"
[database] driver="mysql" datasource="root@tcp(127.0.0.1:3306)/drone" ```
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:
The configuration file is in TOML format. If installed using the
will be located in
[server.ssl] key="" cert=""
[session] secret="" expires=""
[database] driver="" datasource=""
[github] client="" secret=""
[githubenterprise] client="" secret="" api="" url="" privatemode=false
[bitbucket] client="" secret=""
[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
export DRONESERVERPORT="" export DRONESERVERSSLKEY="" export DRONESERVERSSLCERT=""
export DRONESESSIONSECRET="" export DRONESESSIONEXPIRES=""
export DRONEDATABASEDRIVER="" export DRONEDATABASEDATASOURCE=""
export DRONEGITHUBCLIENT="" export DRONEGITHUBSECRET=""
export DRONEGITHUBENTERPRISECLIENT="" export DRONEGITHUBENTERPRISESECRET="" export DRONEGITHUBENTERPRISEAPI="" export DRONEGITHUBENTERPRISEURL="" export DRONEGITHUBENTERPRISEPRIVATEMODE=false
export DRONEBITBUCKETCLIENT="" export DRONEBITBUCKETSECRET=""
export DRONESMTPHOST="" export DRONESMTPPORT="" export DRONESMTPFROM="" export DRONESMTPUSER="" export DRONESMTPPASS=""
export DRONEWORKERNODES="tcp://0.0.0.0:2375,tcp://0.0.0.0:2375" ```
Or a combination of the two:
DRONE_GITLAB_URL="https://gitlab.com" droned --config=/path/to/drone.conf
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.
Authorization callback URL:
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
0.2 README to learn more about the