In this topic, We will address A quick installation using Docker-compose with Drone-Server, NPM with Let’s Encrypt certificate.
We assume you already have a Linux host with docker installed.
Here is an example of a docker-compose with Drone-Server and Nginx Proxy Manager:
version: '3.8'
services:
drone-server:
image: drone/drone:latest
container_name: drone
volumes:
- CHANGE_ME:/var/lib/drone/
- /etc/localtime:/etc/localtime:ro
restart: unless-stopped
environment:
- DRONE_DEBUG=true
- DRONE_LOGS_TRACE=true
- DRONE_ORGS=CHANGE_ME
- DRONE_RUNNER_CAPACITY=20
- DRONE_AGENTS_ENABLED=true
- DRONE_GITHUB_SERVER=https://github.com
- DRONE_GITHUB_CLIENT_ID=CHANGE_ME
- DRONE_GITHUB_CLIENT_SECRET=CHANGE_ME
- DRONE_USER_CREATE=CHANGE_ME
- DRONE_RPC_SECRET=CHANGE_ME
- DRONE_OPEN=false
- DRONE_GITHUB=true
- DRONE_ADMIN_ALL=false
- DRONE_SERVER_HOST=drone.vinicima.com #CHANGE_ME
- DRONE_SERVER_PROTO=http
- DRONE_CONVERT_MULTI=false
npm:
image: jc21/nginx-proxy-manager:latest
container_name: npm
ports:
- 80:80
- 443:443
- 81:81
environment:
- X_FRAME_OPTIONS="sameorigin"
volumes:
- CHANGE_ME:/data
- CHANGE_ME:/etc/letsencrypt
- /etc/localtime:/etc/localtime:ro
restart: unless-stopped
Obs: Remember to change the variables according to your environment.
Run docker-compose:
#docker-compose up -d
After both Dockers are running, go to your host address on port 81:
http://yourhostaddress:81
Default Admin User:
Email: admin@example.com
Password: changeme
Creating a Let`s Encrypt certificate:
Go to SSL Certificates, Add SSL Certificate and select Let`s Encrypt:
Obs: In this example, I’m using Cloudflare. However, NPM has support for other DNS Providers, configure it according to your preference.
Click Save, and After This, go to Hosts and then Proxy Hosts:
Add Proxy Host:
And the Domain Names:
SSL tab:
Then Just Save and Ready your drone-Server with Web-proxy with SSL configured: