Skip to content

Instantly share code, notes, and snippets.

@till
Created April 2, 2019 12:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save till/824f51e72bf5cc86fc7b5dd18963e62a to your computer and use it in GitHub Desktop.
Save till/824f51e72bf5cc86fc7b5dd18963e62a to your computer and use it in GitHub Desktop.
Drone.io's server and agent, with supporting Minio. All with Docker-Compose/Swarm.
version: '2'
services:
db:
image: mariadb:10.4
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
volumes:
- ./data/db:/var/lib/mysql
drone-server:
image: drone/drone:1
ports:
- 80:80
- 443:443
depends_on:
- db
volumes:
- ./data/drone:/var/lib/drone/
- /var/run/docker.sock:/var/run/docker.sock
restart: always
environment:
- DRONE_OPEN=true
- DRONE_SERVER_HOST=${DRONE_HOST}
- DRONE_SERVER_PROTO=https
- DRONE_GITHUB_SERVER=https://github.com
- DRONE_GITHUB_CLIENT_ID=${DRONE_GITHUB_CLIENT}
- DRONE_GITHUB_CLIENT_SECRET=${DRONE_GITHUB_SECRET}
- DRONE_RPC_SECRET=${DRONE_SECRET}
- DRONE_TLS_AUTOCERT=true
- DRONE_USER_FILTER=${GITHUB_ORG}
- DRONE_REPOSITORY_FILTER=${GITHUB_ORG}
- DRONE_USER_CREATE=${DRONE_USER_CREATE}
- DRONE_DATABASE_DRIVER=mysql
- DRONE_DATABASE_DATASOURCE=${MYSQL_USER}:${MYSQL_PASSWORD}@tcp(db)/${MYSQL_DATABASE}?parseTime=true
- DRONE_S3_ENDPOINT=http://minio:9000
- DRONE_S3_BUCKET=drone
- DRONE_S3_SKIP_VERIFY=true
- DRONE_S3_PATH_STYLE=true
- DRONE_LOGS_PRETTY=true
- DRONE_LOGS_COLOR=true
- AWS_ACCESS_KEY_ID=${MINIO_ACCESS_KEY}
- AWS_SECRET_ACCESS_KEY=${MINIO_SECRET_KEY}
- AWS_DEFAULT_REGION=us-east-1
- AWS_REGION=us-east-1
drone-agent:
image: drone/agent:1
command: agent
restart: always
depends_on:
- drone-server
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- DRONE_RPC_SERVER=http://drone-server
- DRONE_RPC_SECRET=${DRONE_SECRET}
- DRONE_RUNNER_NAME=local
- DRONE_RUNNER_CAPACITY=3
minio:
image: minio/minio:RELEASE.2019-03-27T22-35-21Z
volumes:
- ./data/minio:/data
ports:
- "9000:9000"
environment:
- MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY}
- MINIO_SECRET_KEY=${MINIO_SECRET_KEY}
command: server /data
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment