
Deploy Drone.io on Your Own Server
Drone is a self-service Continuous Delivery platform for busy development teams
Want to deploy Drone.io on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.
What is Drone.io?
Drone is a self-service Continuous Delivery platform for busy development teams. It can be used with different GIT servers like gogs, gitea as well as services like gitlab and github. This installer is gitea focused and requires a running gitea instances (which you can install via one-click-apps in Senate). You must generate an OAuth2 application in Gitea (Settings->Applications->Create a new OAuth2 Application) with the "Redirect URI" https://<your drone server>/login. Make a note of the Client ID and the Client Secret and use them in the appropriate fields below. Enter your Drone for Gitea configuration parameters and click on next. The process will take about a minute to finish. Please make sure that after deployment you add HTTPS to your ${app_name} application or communication with the runner will fail.
Self-Host Drone.io
Follow these steps to deploy on your own server.
Install Docker
Skip this step if Docker is already installed on your server.
curl -fsSL https://get.docker.com | sh
Configure
Customize the settings below. Defaults work for most cases.
General
Deploy
Copy the configuration and run it on your server.
services:
drone_gitea:
image: drone/drone:1.9.0
environment:
DRONE_GITEA_CLIENT_ID: ""
DRONE_GITEA_CLIENT_SECRET: ""
DRONE_GITEA_SERVER: https://git.your.server
DRONE_GIT_ALWAYS_AUTH: "false"
DRONE_RPC_SECRET: ""
DRONE_RUNNER_CAPACITY: "4"
DRONE_SERVER_HOST: drone.yourhost.com
DRONE_SERVER_PROTO: https
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- drone_gitea-server:/data
depends_on:
- drone_gitea-agent
drone_gitea-agent:
image: drone/drone-runner-docker:1.5.1
environment:
DRONE_RPC_HOST: drone_gitea:80
DRONE_RPC_PROTO: http
DRONE_RPC_SECRET: ""
DRONE_RUNNER_CAPACITY: "4"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
volumes:
drone_gitea-server: {}
Then run:
docker compose up -d
Access
Once started, access your app at http://localhost:80
Why Self-Host Drone.io?
Full Data Ownership
Your data stays on your servers. No third-party access.
No Monthly Fees
Pay only for your server. No per-seat or usage charges.
Complete Control
Customize, backup, and scale on your own terms.
Privacy & Compliance
Meet GDPR, HIPAA, or internal security requirements.
Technical Details
Docker Image
drone/drone:${drone_version}Want to go faster?
Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.
Install on any Linux server:
sh -c "$(curl -sSL https://get.senate.sh)"