woodpecker/doc/setup-nginx.md

955 B
Raw Blame History

Using a proxy server is not really necessary. Drone serves most static content from a CDN and uses the Go standard librarys high-performance net/http package to serve dynamic content. If using Nginx to proxy traffic to Drone you may use the following configuration:

location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Host $http_host;
    proxy_set_header Origin "";

    proxy_pass http://127.0.0.1:8000;
    proxy_redirect off;
}

It is very important to set the X-Forwarded-For and X-Forwarded-Proto header variables. Drone needs to know its own URL so that it can configure a repository's post-commit hooks properly.

You may also want to change Drones default port when proxying traffic. You can change the port in the /etc/drone/drone.toml configuration file:

[server]
addr = ":8000"