Version 0.9.0
Language EN

Single Machine

The goal of this document is to give you enough technical specifics to configure and run the Drone server in single-machine mode. The Drone server will use an embedded sqlite database and will execute pipelines on the same machine as the server.


Create a Server with a Public IP

Create a server instance that is capable of receiving webhooks from GitHub. If your server is behind a firewall or does not have a public IP address (e.g. localhost) GitHub will be unable to deliver webhooks to your Drone instance.

Create a GitHub OAuth Application

Create a GitHub oauth application. The Client ID and Client Secret are used to authorize access to GitHub resources. The Authorization callback URL must match the below format and path, and must use your exact server scheme and host.


If you do not know how to create an OAuth application, or are having difficulty configuring authorization, please see our tutorial.


The Drone server is distributed as a lightweight Docker image. The image is self-contained and does not have any external dependencies.

docker pull drone/drone:0.9.0-alpha.2

Start the Server

The server container can be started with the below command. The container is configured through environment variables. For a full list of configuration parameters, please see the configuration reference.

docker run \
  --volume=/var/run/docker.sock:/var/run/docker.sock \
  --volume=/var/lib/drone:/data \
  --env=DRONE_TLS_AUTOCERT=true \
  --env=DRONE_SERVER_PROTO=https \
  --env=DRONE_LOGS_DEBUG=true \
  --publish=80:80 \
  --publish=443:443 \
  --restart=always \
  --detach=true \
  --name=drone \



Configuration parameters are set using environment variables. This section defines a subset of recommended configuration paramters. For a full list, please see our configuration reference.


A string containing your GitHub oauth Client ID.



A string containing your GitHub oauth Client Secret.



An integer defining the maximum number of pipelines the server should execute concurrently. The default value is two pipelines.



A string containing your Drone server protocol scheme. This value should be set to http or https. This field defaults to https if you configure ssl or acme.



A string containing your Drone server hostname or IP address.


An boolean indicating debug level logs should be use for automatic SSL certification generation and configuration. The default value is false.



An boolean indicating DEBUG level logs should be written to stderr. The default log level is INFO and the default value is false.



The server listens on standard http and https ports inside the container, which should be published on the host machine:



The server requires access to your host machine Docker socket. This is used to launch pipelines in Docker containers on the host machine. This is required if you are running Drone in single-machine mode.


The server creates a sqlite database and persists to a contianer volume at /data. To prevent dataloss, we recommend mounting the data volume to the host machine when using the default sqlite database.


On This Page:

Getting Help

Enterprise Support
Real-time chat support from the developers that wrote the code.
Mailing List
Search for information in the mailing list archives, or post a question.