reference
server cli & tls
a reference for all `funnel-server` command-line flags and how to configure tls.
docker only
the funnel server runs exclusively as a docker container for easy deployment and management.
running the server
basic command to start the server:
docker run -d --name funnel-server [options] ghcr.io/karol-broda/funnel-server:latestconfiguration
examples
basic server:
docker run -d --name funnel-server -p 8080:8080 ghcr.io/karol-broda/funnel-server:latestserver with custom port:
docker run -d --name funnel-server -p 9000:9000 -e FUNNEL_PORT=9000 ghcr.io/karol-broda/funnel-server:latesttls configuration
automatic tls
funnel automatically provisions and renews tls certificates from let's encrypt using the dns-01 challenge.
setup steps
- create dns provider config - see lego documentation
{
"providers": [
{
"name": "cloudflare",
"env": {
"CF_API_TOKEN": "your-cloudflare-api-token"
}
}
]
}- start with tls enabled
docker run -d --name funnel-server \
-p 8080:8080 \
-p 8443:8443 \
-v $(pwd)/dns-providers.json:/etc/funnel/dns-providers.json \
-v funnel-certs:/var/lib/funnel/certs \
-e FUNNEL_ENABLE_TLS=true \
-e FUNNEL_LETSENCRYPT_EMAIL=your-email@example.com \
-e FUNNEL_DNS_PROVIDERS_CONFIG=/etc/funnel/dns-providers.json \
ghcr.io/karol-broda/funnel-server:latestcertificates are generated automatically on first request and renewed before expiration.
Last updated: July 18, 2025
by karol-broda