To keep a webhook callback URL stable while debugging a local service, use a remotely managed Cloudflare Tunnel with a configured hostname, then point cloudflared at the receiver’s Compose service name and container port. For a one-off test, a Quick Tunnel is faster, but its hostname changes and disappears when the tunnel process stops.
How the tunnel reaches your webhook container
The webhook provider sends an HTTPS request to your public hostname. Cloudflare routes that request through the tunnel to cloudflared, which forwards it to the receiver over the Docker Compose network. cloudflared makes outbound connections to Cloudflare, so this arrangement does not require opening an inbound port on your machine. Cloudflare says each tunnel maintains four long-lived connections to two Cloudflare data centers; see the Cloudflare Tunnel overview.
Inside a container, localhost refers to that same container. It does not refer to the webhook receiver or your host. Use the receiver’s Compose service name and the port on which the receiver listens inside its container, and make sure both services share a network. Cloudflare’s setup guide describes publishing a hostname to a local service URL: create a remotely managed tunnel.
Choose a temporary or stable hostname
| Option | Hostname and setup | Best fit and limits |
|---|---|---|
| Quick Tunnel | Temporary generated hostname; no Cloudflare account or domain required. | Disposable tests where you can update the webhook URL each time. The hostname changes between runs, and the URL stops working when the process stops. Cloudflare documents no uptime guarantee, a limit of up to 200 in-flight requests per Quick Tunnel, and no support for SSE. |
| Named, remotely managed tunnel | Configured hostname routed through a named tunnel; requires Cloudflare account and domain setup for a published hostname. | Repeated debugging, saved provider subscriptions, or team workflows that need a stable callback URL. The connector still needs to be running; a stable hostname does not itself guarantee availability. |
Cloudflare describes Quick Tunnels as temporary development tools and recommends remotely managed tunnels for most use cases. See Quick Tunnels and Cloudflare Tunnel setup guidance.
#1 Best Overall
- Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
- Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
- Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
- Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
- 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
Run a named tunnel alongside Compose
Create the named tunnel and configure its published application route in Cloudflare’s dashboard. The route’s service URL should use your receiver’s Compose service name and internal listening port, for example http://webhook-receiver:8080. Replace both values with the service name and port from your Compose configuration. Cloudflare documents running the connector in Docker with a tunnel token, but does not prescribe a canonical Compose file; the following is an implementation pattern, not an official Cloudflare Compose recipe.
services:
webhook-receiver:
build: .
expose:
- "8080"
cloudflared:
image: cloudflare/cloudflared:2026.9.1
command: tunnel --no-autoupdate run --token-file /run/secrets/tunnel_token
restart: unless-stopped
secrets:
- tunnel_token
depends_on:
- webhook-receiver
secrets:
tunnel_token:
file: ./secrets/tunnel_token
Use a currently supported image tag from Cloudflare’s Docker guidance rather than treating the example tag as evergreen. The expose entry documents the receiver’s container port to the Compose network; it does not publish that port on the host. It is not needed for Docker’s service-name routing to work, so you can omit it if you prefer. The important conditions are that the containers share a network and that the configured service URL uses the receiver’s actual container port.
Rank #2
- 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
- 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
- Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
- 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
- What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
Keep the tunnel token out of committed files. A Compose secret or a protected environment file is safer than embedding it directly in YAML. Cloudflare’s Docker instructions explain token-based execution: run a remotely managed tunnel. Compose can restart the connector after a container exits, but it cannot guarantee the hostname route or Cloudflare-side availability.
Try a Quick Tunnel for a disposable test
When you do not need a saved callback URL, Cloudflare’s Quick Tunnel command is cloudflared tunnel --url http://localhost:8080. Run it where the receiver is reachable at that address, then copy the generated public URL into the webhook provider and append the receiver’s expected path. If cloudflared runs as a Compose container instead, target the receiver by service name, such as http://webhook-receiver:8080, rather than using localhost. Stop the process when finished; a later run produces a different hostname. See Cloudflare’s Quick Tunnel instructions and limits.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Rank #3
- Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
- Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
- Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
- Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
- What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
Test a webhook without confusing tunnel errors for app errors
- Check the receiver. Confirm the application is running, listening on the expected container interface and port, and able to handle the callback path.
- Check Compose routing. Confirm
cloudflaredand the receiver share a network, and that the tunnel’s service URL uses the receiver’s service name and internal port. - Check the public route. For a named tunnel, verify the hostname’s published application route points to the intended tunnel and receiver. For a Quick Tunnel, use the URL generated by the process that is currently running.
- Check the provider configuration. Enter the full public URL, including the exact path. Confirm the provider’s HTTP method and content type match what your receiver accepts.
- Send a test event and inspect both logs. Review the receiver’s application logs and the
cloudflaredlogs. A connector or origin connection error suggests routing trouble; an HTTP status returned by the app points to the receiver’s behavior; an application validation error may indicate a payload or signature issue. - Check signature handling. If the provider signs requests, validate the signature using the raw request body and the provider’s documented procedure. Do not disable verification in a real integration just to make a local test pass.
- Correct the failure, then replay appropriately. Check for a wrong path, redirect, unexpected response status, or origin error. Use the provider’s own delivery logs and documented replay mechanism; replay behavior and response requirements vary by provider.
Cloudflare identifies webhook testing as a tunnel use case, but it does not define a universal webhook response contract, signature scheme, or replay command. Its guidance on exposing development servers also warns that a reachable development URL can be accessed by others: Workers development and tunnels and Wrangler tunnel commands.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Limit access to the development service
Treat the public hostname as an entry point to your development application, not as a secret security boundary. Route only the receiver you need, remove or protect administrative routes, and keep production credentials and sensitive real data out of the exposed environment.
Rank #4
- Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
- Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
- Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
- Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
- Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
- Quick Tunnel: Cloudflare documents email allowlisting, but it requires an interactive browser flow. That is generally unsuitable for a webhook sender that cannot complete a browser login.
- Named hostname: Cloudflare points to Access for stronger controls. Before enforcing an Access policy, confirm the webhook provider can satisfy it or arrange an explicit policy exception for the callback.
- Every setup: Keep the receiver narrow in scope and use test credentials and data wherever possible.
See Cloudflare’s Quick Tunnel access guidance and development tunnel security notes.
Quick Recap
Best Value
- 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
- Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
- Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
- HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
- What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →

