Back to Blog
team@tinypod.app

Self-Hosting Drone CI: Container-Native Continuous Delivery

Drone CI is a self-hosted CI/CD platform. Container-native pipelines, simple YAML config, and a clean interface.

droneci-cddevtoolsautomation

What Is Drone CI?


Drone CI is a container-native CI/CD platform. Every pipeline step runs in a Docker container, ensuring clean, reproducible builds.


Features


Pipelines

  • YAML configuration (.drone.yml)
  • Container-native (every step is a container)
  • Multi-platform (Linux, Windows, macOS)
  • Multi-architecture (amd64, arm64)

  • Integration

  • GitHub, GitLab, Gitea, Bitbucket
  • Webhooks on push, PR, tag, cron
  • Status checks on PRs

  • Configuration

    yaml

    kind: pipeline

    type: docker

    name: default


    steps:

  • name: test
  • image: node:20

    commands:

  • npm install
  • npm test

  • name: build
  • image: node:20

    commands:

  • npm run build

  • name: deploy
  • image: plugins/ssh

    settings:

    host: your-server.com

    script:

  • cd /app && docker compose pull && docker compose up -d

  • Other

  • Secrets management
  • Plugin ecosystem (200+ plugins)
  • Cron jobs
  • Matrix builds
  • Parallel pipelines
  • Conditional steps

  • Drone vs Woodpecker vs GitHub Actions


  • Drone: Clean, original project, Docker Inc. maintained
  • Woodpecker: Community fork of Drone, more active development
  • GitHub Actions: Tied to GitHub, generous free tier

  • Deployment


    1. Deploy Drone server on TinyPod

    2. Deploy Drone runner

    3. Connect to your Git forge

    4. Add .drone.yml to your repos


    Resources: Server 1 CPU, 256 MB RAM. Runner 1 CPU, 512 MB RAM.


    Drone CI pioneered container-native CI. Simple, clean, and effective.