Skip to content

feat(n8n): add n8n workflow automation container module#989

Open
demetere wants to merge 2 commits into
testcontainers:mainfrom
demetere:feat/n8n-module
Open

feat(n8n): add n8n workflow automation container module#989
demetere wants to merge 2 commits into
testcontainers:mainfrom
demetere:feat/n8n-module

Conversation

@demetere

Copy link
Copy Markdown

Summary

  • Adds a new N8nContainer module for n8n workflow automation
  • Uses the official docker.n8n.io/n8nio/n8n Docker image, exposing port 5678
  • Health check via /healthz endpoint with @wait_container_is_ready decorator
  • Zero external dependencies (stdlib urllib only)
  • Provides get_url() and get_webhook_url() convenience methods

Closes #901

Implementation details

  • N8nContainer extends DockerContainer, following the same pattern as VaultContainer / NginxContainer
  • Disables telemetry (N8N_DIAGNOSTICS_ENABLED=false) by default for test environments
  • Optional encryption_key parameter for credential encryption configuration
  • Registered in pyproject.toml as n8n = [] (no extra pip dependencies)

Test plan

  • test_docker_run_n8n — starts container, verifies /healthz returns 200 with {"status": "ok"}
  • test_n8n_get_webhook_url — starts container, verifies webhook URL is correctly constructed
  • All pre-commit hooks pass (ruff, ruff-format, trailing whitespace, end-of-files)

🤖 Generated with Claude Code

@demetere demetere force-pushed the feat/n8n-module branch 2 times, most recently from 09713d0 to c25e2a6 Compare March 20, 2026 22:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

2 participants