n8n 3.0 needs Docker to self-host: a public URL for Sume webhooks
n8n 3.0 drops npm and npx installs. Whatever you run in Docker, a Sume webhook needs a public HTTPS URL that reaches the container.

n8n 3.0 requires a Docker-based deployment for self-hosting and no longer supports installs run with npm or npx n8n (n8n 3.0 breaking changes, read 2026-10-02). For Sume, the move changes nothing about the rule that a webhook URL must be public HTTPS, but a container makes it easier to publish the wrong port or address.
The vendor change
| Item | n8n 3.0 |
|---|---|
| Self-hosted install | Docker-based deployment required |
| npm or npx n8n | No longer supported |
| Binary data folder | ~/.n8n/binaryData renamed ~/.n8n/storage |
| Release date on the page | October 2026 |
What Sume requires of the callback
Both job webhooks and run webhooks require a public HTTPS URL. Localhost, private-network and non-HTTPS URLs are rejected with 400 invalid_request. The run-webhook docs add that the URL is checked again at delivery time and that redirects are not followed, so a 3xx is not a delivery.
Checklist for a container
- Set the n8n webhook base URL to the public HTTPS address of your reverse proxy, not the container's internal address, so the
$execution.resumeUrlyou hand to Sume is reachable from outside. - Terminate TLS in front of the container with a certificate Sume can validate.
- Do not put a redirect (for example HTTP to HTTPS, or a trailing-slash redirect) between Sume and the webhook path.
- Respond with a
2xxafter storing the event. Sume times each attempt out at 10 seconds.
Verify, then test
Use the dashboard's Send test (or POST /v1/webhooks/test-deliveries) to push a dummy signed webhook.test event to your URL before spending anything on a real job. It never replays a real job, so it costs nothing. Then verify the x-sume-webhook-signature against the raw body.
Sume cannot reach an n8n instance on a private network. If that is your setup, poll status_url from n8n instead; polling needs only outbound access.
Sources
Related posts
More in Integrations
- n8n 3.0 task runner timeout 60s: Sume polling in Code nodes
n8n 3.0 cuts the task runner timeout from 300 to 60 seconds. Move Sume job polling out of the Code node into webhook, Wait or async patterns.
- n8n Data table as a Sume job ledger: the 200 MiB default limit
Store each Sume job id in an n8n Data table and upsert it when the webhook arrives. The default cap is 200 MiB per instance, and a full table errors inserts.
- n8n Execution Data node: find a run by its Sume job id
Save the Sume job id with n8n's Execution Data node and you can search the Executions list by it. Keys cap at 50 characters, values at 512, plan limits apply.
- n8n Form Trigger: Respond When and a long Sume video job
n8n's Form Trigger can answer on submit or when the workflow finishes. For a Sume video job that runs minutes, answer on submit and deliver the video later.
Written by Sume