Drone

Portainer Stack:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
---
version: "3.9"
services:
  drone:
    container_name: drone
    image: drone/drone:2
    restart: ${RST-unless-stopped}
    environment:
      - DRONE_GITEA_SERVER=
      - DRONE_GITEA_CLIENT_ID=
      - DRONE_GITEA_CLIENT_SECRET=
      - DRONE_RPC_SECRET=
      - DRONE_SERVER_HOST=
      - DRONE_SERVER_PROTO=https
      - DRONE_USER_CREATE=username:myUsername,admin:true
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /drone/data:/data
    ports:
      - 80:80
      - 443:443
    labels:
      - com.centurylinklabs.watchtower.enable=${AutoUpdate-true}

  drone_runner:
    container_name: drone_runner
    image: drone/drone-runner-docker:1
    restart: ${RST-unless-stopped}
    environment:
      - DRONE_GITEA_SERVER=
      - DRONE_RPC_PROTO=https
      - DRONE_RPC_HOST=
      - DRONE_RPC_SECRET=
      - DRONE_RUNNER_CAPACITY=2
      - DRONE_RUNNER_NAME=drone_runner
      - DRONE_RUNNER_SECRETS=docker_username:myUsername,docker_password:myPassword
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - 3000:3000
    labels:
      - com.centurylinklabs.watchtower.enable=${AutoUpdate-true}
      - hide_container=true


Drone Documentation is very detailed and well constructed. Read it to complete the stack above and to find examples on how to use it.


drone01

Environments:

1
2
3
4
5
6
7
TAG=latest
RST=unless-stopped
NET=bridge
PUID=${PUID-1000}
PGID=${PGID-1000}
TZ=${TZ-Europe/Amsterdam}
AutoUpdate=true