diff --git a/docs/widgets.md b/docs/widgets.md
index fe325514..57b6cd7b 100644
--- a/docs/widgets.md
+++ b/docs/widgets.md
@@ -58,6 +58,7 @@ Dashy has support for displaying dynamic content in the form of widgets. There a
- [Nextcloud PHP OPcache](#nextcloud-php-opcache-stats)
- [Sabnzbd](#sabnzbd)
- [Gluetun VPN Info](#gluetun-vpn-info)
+ - [Drone CI Build](#drone-ci-builds)
- **[System Resource Monitoring](#system-resource-monitoring)**
- [CPU Usage Current](#current-cpu-usage)
- [CPU Usage Per Core](#cpu-usage-per-core)
@@ -1947,6 +1948,42 @@ Display info from the Gluetun VPN container public IP API. This can show the IP
---
+### Drone CI Builds
+
+Display the last builds from a [Drone CI](https://www.drone.ci) instance. A self-hosted CI system that uses docker.
+
+
+
+#### Options
+
+**Field** | **Type** | **Required** | **Description**
+--- | --- | --- | ---
+**`host`** | `string` | Required | The histname of the Drone CI instance.
+**`apiKey`** | `string` | Required | The API key (https:///account).
+**`limit`** | `integer` | _Optional_ | Limit the amounts of listed builds.
+**`repo`** | `string` | _Optional_ | Show only builds of the specified repo
+
+#### Example
+
+```yaml
+- type: drone-io
+ updateInterval: 30
+ options:
+ host: https://drone.somedomain.com
+ apiKey: my-very-secret-api-key
+ limit: 10
+```
+
+#### Info
+
+- **CORS**: 🟢 Enabled
+- **Auth**: 🟢 Required
+- **Price**: 🟢 Free
+- **Host**: Self-Hosted (see [Drone](https://www.drone.io))
+- **Privacy**: _See [Drone](https://www.drone.io)_
+
+---
+
## System Resource Monitoring
### Glances
diff --git a/src/components/Widgets/DroneCi.vue b/src/components/Widgets/DroneCi.vue
new file mode 100644
index 00000000..8ffb4e84
--- /dev/null
+++ b/src/components/Widgets/DroneCi.vue
@@ -0,0 +1,238 @@
+
+
+
+
+
{{ build.build.status | formatStatus }}
+
+ {{ build.build.started*1000 | formatTimeAgo }} ago
+
+
+ {{ formatBuildDuration(build) }}
+
+
+ {{ build.build.created*1000 | formatTimeAgo }} ago
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/Widgets/WidgetBase.vue b/src/components/Widgets/WidgetBase.vue
index ecd7b536..a5cbf1c2 100644
--- a/src/components/Widgets/WidgetBase.vue
+++ b/src/components/Widgets/WidgetBase.vue
@@ -56,6 +56,7 @@ const COMPAT = {
'domain-monitor': 'DomainMonitor',
'code-stats': 'CodeStats',
'covid-stats': 'CovidStats',
+ 'drone-ci': 'DroneCi',
embed: 'EmbedWidget',
'eth-gas-prices': 'EthGasPrices',
'exchange-rates': 'ExchangeRates',