CtrlK
BlogDocsLog inGet started
Tessl Logo

n8n-self-hosting

Deploy a production self-hosted n8n end-to-end to a fresh Linux VM over SSH, using Docker Compose behind a Caddy reverse proxy with automatic HTTPS. Use whenever the user wants to self-host, install, set up, provision, or deploy n8n on their own server/VPS/box (Hetzner, DigitalOcean, AWS EC2, bare metal, etc.) — in either single/regular mode or queue mode with workers — or to update, back up, restore, or harden such an instance. This is for SELF-HOSTED n8n (Docker), not n8n Cloud and not building workflows. The skill makes the agent ask single-vs-queue first, collect the domain/SSH/timezone inputs, generate fresh secrets on the box, and bring the stack up with TLS. Trigger on "deploy n8n", "self-host n8n", "install n8n on my server", "n8n docker compose", "n8n queue mode / workers / scaling", "n8n reverse proxy / SSL", "back up / update my n8n", or "we don't want to give every user the OAuth client secret" / "enable the Sign in with Google button" (credential overwrites).

72

Quality

88%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

77%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A strong operational runbook with excellent workflow sequencing and validation checkpoints, and concrete verification commands. Its main weakness is progressive disclosure: the body defers core per-mode, secret-generation, and Day-2 detail to five reference files that are not shipped in the bundle, leaving key guidance unreachable.

Suggestions

Ship the five missing reference files (SINGLE_MODE.md, QUEUE_MODE.md, SECURITY.md, CREDENTIAL_OVERWRITES.md, DAY2.md) under ./references/ so the deferred openssl commands, per-mode command detail, and Day-2 procedures are actually reachable.

Inline the openssl secret-generation commands and the exact Docker install command (or the get.docker.com one-liner) in the body so step 4 is executable without SECURITY.md.

Collapse the duplicated secret-hygiene and internal-port-exposure rules now restated in Rule 1, the inputs section, and 'What NOT to do' into a single authoritative location to trim redundant tokens.

DimensionReasoningScore

Conciseness

Efficient and assumes Claude's competence — it never explains what Docker, Caddy, Postgres, or Redis are — but secret-hygiene and internal-port-exposure rules are restated across Rule 1, the inputs section, and 'What NOT to do', which is minor reinforcement padding that could be trimmed. Not 5 because not every token earns its place; not 3 because there is no concept over-explanation.

4 / 5

Actionability

Mostly copy-paste-ready commands throughout — 'curl -s ifconfig.me', 'docker compose exec n8n wget -qO- http://localhost:5678/healthz', 'curl -fsS --retry 5 --retry-delay 10 https://<fqdn>/healthz', the env-parity diff — but the openssl secret-generation commands and the exact Docker install step are deferred to SECURITY.md rather than given inline, a minor gap. Not 5 because those deferred specifics are not inline; not 3 because the verification commands are concrete and executable.

4 / 5

Workflow Clarity

A clear 8-step sequence (Preflight → Install Docker → Lay down project → Fill .env → Firewall → Launch → Verify → Hand off) with explicit validation checkpoints and feedback loops — DNS mismatch means stop, 'grep REPLACE_WITH_ .env must return nothing', healthz/cert/retry checks, and the queue env-parity diff — plus a 'What NOT to do' checklist. Fully meets the anchor for explicit validation with error-recovery loops.

5 / 5

Progressive Disclosure

The overview is well-organized with clearly signaled one-level-deep references (a mode→file table, 'See SECURITY.md for the openssl commands', a dedicated Reference files section), but five core referenced files — SINGLE_MODE.md, QUEUE_MODE.md, SECURITY.md, CREDENTIAL_OVERWRITES.md, DAY2.md — are absent from the bundle, so navigation resolves to dead ends. Not below 3 because the signaling and asset references are sound; not 4-5 because missing core references are a material, not minor, gap.

3 / 5

Total

16

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An exemplary description: it states concrete capabilities, gives exhaustive natural trigger phrases, explicitly covers both what and when, and draws a clear boundary against n8n Cloud and workflow-building. It uses third-person voice throughout with no first/second-person phrasing.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'Deploy a production self-hosted n8n end-to-end', 'install, set up, provision, or deploy', 'update, back up, restore, or harden', 'ask single-vs-queue first, collect the domain/SSH/timezone inputs, generate fresh secrets on the box, and bring the stack up with TLS' — with comprehensive coverage and no gaps.

5 / 5

Completeness

Explicitly answers both 'what' (deploy production self-hosted n8n end-to-end over SSH via Docker Compose behind Caddy) and 'when' ('Use whenever the user wants to self-host, install...', 'Trigger on...') with concrete trigger phrases.

5 / 5

Trigger Term Quality

Comprehensive natural trigger phrases including synonyms — 'deploy n8n', 'self-host n8n', 'install n8n on my server', 'n8n docker compose', 'n8n queue mode / workers / scaling', 'n8n reverse proxy / SSL', 'back up / update my n8n', plus the OAuth/Sign-in-with-Google user quotes a user would actually say.

5 / 5

Distinctiveness Conflict Risk

Clear niche (self-hosted n8n on Docker) with an explicit boundary — 'This is for SELF-HOSTED n8n (Docker), not n8n Cloud and not building workflows' — and distinct, niche-specific triggers that minimize overlap with other skills.

5 / 5

Total

20

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
czlonkowski/n8n-skills
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.