Syllabus

The free AI automation course syllabus

33 courses and 223 lessons on n8n, Claude Code, agents, data and self-hosting. They live in a free Skool community. There is no paid tier, so this page is the whole thing, course by course and lesson by lesson.

Join free on Skool

This is what exists today. For what is coming next, read the roadmap.

How the classroom works

  • Every lesson names the exact versions it was tested against, so you can tell at a glance whether it still matches the tool in front of you.
  • Compose files and workflow exports ship with the lessons. You import the thing that ran, rather than retyping it from a screenshot.
  • It is free. All of it sits in one Skool community and there is no paid tier holding the good parts.
  • Start with any track. The courses are grouped by subject, not by week, and where one needs something first the card says so.

n8n

4 courses

Run your own n8n, build workflows in it, put an agent inside one, and see how the alternatives compare.

n8n Self-Hosting: Zero to Production

9 lessons

For anyone who wants their own n8n instead of a subscription. Start on your laptop with Docker Compose, understand task runners and the encryption key, put Postgres 18 and a backup you have actually restored underneath it, move the whole thing to a VPS with HTTPS, and split it into workers when one container stops being enough. Ends with the two upgrades ahead of you: n8n 2.x today and n8n 3.0 in October 2026. You finish with a pinned, backed-up stack you can rebuild from files.

9 lessons in this course
  1. n8n self-hosting: what it is and when to use it
  2. Run n8n on your laptop with Docker Compose
  3. Task runners in external mode
  4. Environment variables, secrets and the encryption key
  5. Postgres 18 and backups that restore
  6. Move it to a VPS with a reverse proxy and TLS
  7. Queue mode: workers and webhook processors
  8. Upgrading to n8n 2.x without losing anything
  9. Getting ready for n8n 3.0

n8n 2.38.1 (n8nio/n8n and n8nio/runners), postgres:18, redis:7-alpine, traefik:v3.3.6, Docker Compose v2. Written September 2026.

n8n Workflow Foundations

9 lessons

You have n8n running. Now learn to build in it. Eight hands-on lessons, plus a free intro, that take you from a two-node manual workflow to workflows with real triggers, a live public API, credentials, error handling, sub-workflows and a debugging routine. Each of the eight ends with a workflow you can export and keep. For members who finished n8n Self-Hosting, or who already have n8n 2.38 running on Docker at localhost:5678. No paid accounts and no API keys needed.

Before you startAssumes you already have n8n running; n8n Self-Hosting: Zero to Production is where that setup happens.
What you end up withBy the last lesson you'll be able to build a workflow with real triggers, move data between nodes on purpose using expressions, call a live public API with pagination and proper authentication, and debug a broken execution instead of guessing.
9 lessons in this course
  1. n8n workflows: what they are and when to use them
  2. Your first workflow
  3. Triggers: schedule, webhook and app events
  4. Items, JSON and expressions
  5. The HTTP Request node
  6. Credentials: creating, sharing and keeping secrets out of workflows
  7. Error handling
  8. Sub-workflows
  9. Debugging

n8n 2.38.1 self-hosted on Docker, Docker Compose v2, Open-Meteo and GitHub public REST APIs, September 2026

AI Agents in n8n

7 lessons

Build a working AI agent in your own n8n instance, then make it useful and keep it honest. You add memory that survives a restart, tools the agent actually calls correctly, retrieval over your own documents with Postgres and pgvector, and a local model option with Ollama. Ends with the unglamorous part: system prompts, iteration limits, run logging and a fixed question set, so you can tell when a change made things worse. For members who finished Workflow Foundations and run n8n in Docker.

Before you startAssumes you've finished n8n Workflow Foundations, and that n8n is running self-hosted in Docker with a Postgres container available.
What you end up withBy the last lesson you'll have a working support agent: a chat assistant with a real cost per message, conversation memory that survives a restart, tools it picks between correctly, and retrieval over your own documents.
7 lessons in this course
  1. AI agents in n8n: what it is and when to use it
  2. The AI Agent node and the Chat Trigger
  3. Memory and sessions
  4. Tools
  5. RAG on your own data: Postgres with pgvector
  6. Local models
  7. Guardrails, cost and evaluation

n8n 2.38.1 self-hosted (Docker), Postgres 18, pgvector/pgvector:pg18, Ollama 0.x, Anthropic and OpenAI APIs as of September 2026

Activepieces and Windmill

7 lessons

For n8n users who keep hearing that another open source tool would suit them better. You run Activepieces and Windmill in Docker, build the same lead-enrichment webhook in all three tools, and see exactly where each one is faster and where it fights you. You finish with five questions that pick the tool for a given job, and an honest list of the jobs where n8n is not the right answer.

Before you startThe compose files ship no proxy of their own and expect the Caddy from Docker and Self-Hosting Essentials, the prerequisite worth doing first.
7 lessons in this course
  1. Activepieces and Windmill: what they are and when to use them
  2. The open source automation landscape
  3. Activepieces in Docker
  4. Windmill in Docker
  5. The same workflow three times
  6. Migration notes
  7. A plain decision

Written September 2026. n8n 2.38.1 self-hosted, Activepieces 0.90.2, Windmill 1.804.0, Postgres 18, Redis 7, Docker Compose v2. Licence and pricing statements are as of September 2026 and change; check each project's repository before you commit.

AI and Claude Code

4 courses

Run models on your own hardware, put a chat and proxy layer in front of them, and use Claude Code on real projects.

Claude Code for Builders

12 lessons

For automation builders who are not professional developers. Install Claude Code and use it to build an n8n workflow, write a tested Python script running in Docker beside n8n, get a second agent to review the result, connect an MCP server, and set up permissions and git so reviewed, version-controlled changes stay reversible. Then the harder questions: real cost, how it compares to Cursor, Codex and OpenCode, subagents, local models, and CI. Eleven lessons plus a free intro, September 2026.

Before you startAssumes you already have real automation projects to point it at: an n8n instance, and ideally a git repo with a compose file in it.
What you end up withBy the last lesson you'll have Claude Code working in a real project with a `CLAUDE.md` it actually follows, an n8n workflow it drafted and you fixed, and a tested Python helper script running in its own container.
12 lessons in this course
  1. Claude Code: what it is and when to use it
  2. Install Claude Code and run your first session
  3. Build an n8n workflow with Claude Code
  4. Write a helper script and run it in Docker
  5. Get a second opinion on agent-written code
  6. Tools and MCP servers
  7. Guardrails before you run agent code in production
  8. Pricing and plans: what you actually pay
  9. Claude Code vs Cursor, Codex and OpenCode
  10. Subagents and agent teams
  11. Running Claude Code against a local model
  12. Claude Code in GitHub Actions

Claude Code 2.1.263 (npm package @anthropic-ai/claude-code), n8n 2.38.1 self-hosted on Docker, Postgres 18, Python 3.13, Docker Compose v2, OpenAI Codex CLI 0.153.4, anthropics/claude-code-action v1, LiteLLM v1.100.0, Ollama. Written September 2026.

Local LLMs with Ollama

6 lessons

Run open models on your own hardware with Ollama in Docker, choose the right model for the job, call the API directly, and wire it into n8n. Honest about RAM, VRAM and tokens-per-second so you know when self-hosting makes sense and when a cloud model is the better call.

Before you startBuilds on the Docker and n8n setup from n8n Self-Hosting: Zero to Production or n8n Workflow Foundations, adding one more container next to it.
What you end up withBy the last lesson you'll have Ollama running in Docker with a chat model and an embedding model pulled, wired into an n8n workflow, and your own hardware's real speed measured.
6 lessons in this course
  1. Ollama: what it is and when to use it
  2. Install Ollama in Docker and pull your first model
  3. Choosing a model
  4. The Ollama API
  5. Wiring Ollama into n8n
  6. Performance and honesty

Ollama Docker image `ollama/ollama:0.33.3` (September 2026), n8n 2.38.x self-hosted, Docker Compose v2

Open WebUI and LiteLLM

6 lessons

Give your Ollama container a real chat UI with Open WebUI, then put LiteLLM in front of Ollama, Anthropic and OpenAI behind one OpenAI-compatible endpoint with virtual keys, per-key budgets and spend logs. For anyone ready to hand a local model to a small team, or to swap models in n8n without touching every workflow.

Before you startAssumes Ollama is already running in Docker on `hol_net`, from Local LLMs with Ollama.
What you end up withBy the last lesson you'll have Open WebUI running as a real chat UI with scoped user accounts, LiteLLM alongside it as a single proxied endpoint with budgeted virtual keys, and an n8n workflow that swaps models by changing one field.
6 lessons in this course
  1. Open WebUI and LiteLLM: what they are and when to use them
  2. Open WebUI in Docker next to Ollama
  3. Making it useful: users, model access, and documents
  4. LiteLLM proxy: one endpoint in front of Ollama, Anthropic and OpenAI
  5. n8n through LiteLLM
  6. Costs, privacy and limits

Open WebUI `ghcr.io/open-webui/open-webui:v0.11.3`, LiteLLM `ghcr.io/berriai/litellm:v1.100.0`, Ollama `ollama/ollama:0.33.3`, Postgres 18, n8n 2.38.x self-hosted, Docker Compose v2

Qdrant and Weaviate

6 lessons

Move retrieval off pgvector and onto a dedicated vector database. Run Qdrant and Weaviate in Docker, upsert real documents with Ollama embeddings, filter and hybrid-search them, and wire both into n8n. Ends with backups, memory sizing, quantisation and a path off pgvector. For members who finished the pgvector RAG lesson and want to know when and how to move on.

Before you startAssumes you finished the pgvector RAG lesson in AI Agents in n8n, and that Ollama is running, covered in Local LLMs with Ollama.
What you end up withBy the last lesson you'll have run Qdrant and Weaviate side by side against the same documents, wired both into n8n as drop-in replacements for the Postgres vector store node, and moved data off pgvector.
6 lessons in this course
  1. Qdrant and Weaviate: what they are and when to use them
  2. When pgvector is not enough
  3. Qdrant in Docker
  4. Weaviate in Docker
  5. Filtering and hybrid search
  6. Operations: snapshots, memory, quantisation, and moving off pgvector

qdrant/qdrant v1.19.1, semitechnologies/weaviate 1.39.2, Ollama 0.33.3 with nomic-embed-text:v1.5, n8n 2.38.1 self-hosted (Docker), as of September 2026

Data

6 courses

Where your automation data lives: Postgres, the spreadsheet-shaped tools around it, dashboards, and file storage.

Postgres, Supabase and NocoDB

8 lessons

For anyone running n8n or other automations who wants a real database under them instead of a pile of spreadsheets. Covers running Postgres in Docker, designing a schema for automation data, backing it up properly, and adding NocoDB over those same tables plus Supabase over its own. Ends with knowing when Postgres stops being the right answer.

Before you startAssumes Docker and, ideally, a working n8n instance; n8n Self-Hosting: Zero to Production or n8n Workflow Foundations gets you there.
What you end up withBy the last lesson you'll have a Postgres 18 container that survives a restart, a schema designed for how automation data actually gets written, a nightly backup you've actually restored from, and the n8n nodes wired up to all three.
8 lessons in this course
  1. Postgres: what it is and when to use it
  2. Postgres in Docker: the compose service, psql inside the container, your first table
  3. Schema for automation data: ids, timestamps, JSONB for payloads, indexes that matter, and a naming convention
  4. Backups and restore: pg_dump, pg_restore, a nightly dump to object storage, and a restore drill
  5. Supabase: cloud versus self-hosted, PostgREST, auth and row-level security
  6. NocoDB on your Postgres: a spreadsheet UI, forms and shared views
  7. n8n and all three: Postgres node, Supabase node, NocoDB node, and when to just use SQL
  8. Growing up: migrations (plain SQL files in git), read replicas, and when Postgres is not the answer

Postgres 18 (Docker image `postgres:18`), Supabase self-hosted (docker/ stable snapshot, dated September 2026) and Supabase Cloud, NocoDB 2026.08.2 (Docker image `nocodb/nocodb:2026.08.2`), n8n 2.38.1

Notion, Airtable and Google Workspace

7 lessons

For businesses that already run on Notion, Airtable, Sheets, Drive, Gmail or Calendar and want n8n to move data between them, with the guards and tests that catch the usual failures before they reach live data. Seven lessons covering the Notion and Airtable nodes, the Google Cloud OAuth setup everyone gets stuck on, sync patterns that don't create duplicates or loops, a full worked build, and honest signs that it's time to outgrow all three for Postgres.

Before you startAssumes n8n is already running, since every credential and every node here lives inside an n8n workflow.
What you end up withBy the last lesson you'll have working, scoped credentials for all three platforms, three reusable sync patterns that don't create duplicates or loop forever, and a full worked build connecting Notion tasks to Google Calendar.
7 lessons in this course
  1. Notion, Airtable and Google Workspace: what they are and when to use them
  2. Notion: an internal integration and the Notion node
  3. Airtable: personal access tokens, the node and the rate limit
  4. Google Workspace: OAuth setup, then Sheets, Drive and Gmail
  5. Patterns: one-way sync, two-way sync and deduplication
  6. A worked build: Notion tasks, Google Calendar and a Gmail digest
  7. When to move to Postgres

n8n 2.38.x self-hosted on Docker, Notion API (internal integrations), Airtable Web API with personal access tokens, Google Cloud Console and Google Sheets/Drive/Gmail/Calendar APIs, as of September 2026

Directus and Baserow

7 lessons

For anyone who has outgrown a spreadsheet and wants a real backend their automations and their teammates can both use. Run Directus in Docker on Postgres and get an admin UI, a REST and GraphQL API and role-based permissions over tables you own. Run Baserow and get an Airtable-style database a non-technical person can build in. Then wire both to n8n, including a two-way sync that does not loop, and finish knowing which one to reach for.

What you end up withBy the last lesson you will have Directus running in Docker on Postgres, Baserow running with a linked-table database and a public form, and a two-way sync between them in n8n that stops itself instead of looping forever.
7 lessons in this course
  1. Directus and Baserow: what they are and when to use each
  2. Directus in Docker on Postgres
  3. Collections, roles and the API
  4. Directus Flows versus n8n
  5. Baserow in Docker
  6. Baserow API and n8n
  7. NocoDB versus Baserow versus Directus

Directus 12.3.1 (Docker image `directus/directus:12.3.1`), Baserow 2.3.3 all-in-one (`baserow/baserow:2.3.3`), Postgres 18, n8n 2.38.1, written September 2026

Metabase Dashboards

6 lessons

For anyone who wants to see what their n8n workflows and automation database are actually doing without querying it by hand every time. Covers running Metabase in Docker against its own Postgres app database, building questions and dashboards over your automation data with no SQL, alerts and daily digests to email and Slack, and sharing a dashboard safely - including the read-only database role Metabase should use.

Before you startAssumes Postgres and your automation database are already running from Postgres, Supabase and NocoDB, with an `events` table that already has rows in it.
What you end up withBy the end of this course you'll have Metabase running in Docker against its own Postgres database, connected to your automation data with a role that can only read it, with saved questions and a "What ran last night" dashboard built entirely without SQL.
6 lessons in this course
  1. Metabase: what it is and when to use it
  2. Metabase in Docker: its own Postgres app database, admin setup, and connecting your automation data
  3. Questions without SQL: the query builder over the events table
  4. Dashboards: cards, a filter that applies to every card, and a "what ran last night" dashboard
  5. Alerts and subscriptions: email, Slack, a daily digest, and getting results into n8n
  6. Sharing: public links, embedding in a static site, and the read-only database user

Metabase v0.61.21 (Docker image `metabase/metabase:v0.61.21`), Postgres 18 for Metabase's app database, n8n 2.38.1 for the example data

MinIO Object Storage

6 lessons

Run your own S3-compatible object store in Docker, lock it down with least-privilege users and keys, wire it into n8n workflows, back it up with restic, and know when a single node stops being enough.

Before you startDo Docker and Self-Hosting Essentials first; this course assumes you can already bring up a Compose stack and reach it over the network.
What you end up withBy the last lesson you will have a MinIO server running in Docker with least-privilege identities for every app that touches it, an n8n workflow that stores and retrieves files through it, and nightly restic backups.
6 lessons in this course
  1. MinIO: what it is and when to use it
  2. MinIO in Docker: compose, console, the first bucket, and what S3-compatible means
  3. Users, policies and keys: a service account per app, least-privilege bucket policies, and rotating keys
  4. n8n and MinIO: the S3 node pointed at MinIO, upload and download in a workflow, presigned URLs
  5. Backups to MinIO: restic from the Docker course targeting a MinIO bucket, versioning and lifecycle rules
  6. Growing pains: single-node limits, erasure coding in plain terms, TLS behind Caddy, and when to move to a cloud bucket

minio/minio RELEASE.2025-09-07T16-13-09Z (still the newest tag on Docker Hub as of Sept 2026 - MinIO's published images stopped updating after this release, see lesson 1), MinIO Client (mc) latest matching release, n8n 2.38.1, restic 0.17+, Caddy 2.11.4. Written September 2026.

PocketBase and Appwrite

6 lessons

For anyone who wants a backend for a small app or internal tool without standing up Postgres, an auth service and a storage bucket separately. Covers PocketBase, a single-binary backend whose whole state is one pb_data directory, and Appwrite, a heavier self-hosted platform with auth, functions and storage. Both get wired into n8n so record changes reach your workflows over an authenticated webhook. Ends with a rule for which to reach for, and when to skip both.

Before you startDocker and Self-Hosting Essentials is worth having done first; this course assumes you're comfortable with `docker compose`.
What you end up withBy the end of this course you'll have both tools running in Docker, each wired into n8n so a database change reaches your workflows, and a clear rule for choosing between them (or neither) on the next project.
6 lessons in this course
  1. PocketBase and Appwrite: what they are and when to use them
  2. PocketBase: a single binary, the admin UI, and your first collection
  3. PocketBase for automation: auth, realtime, and hooks into n8n
  4. Appwrite: the installer, a project, a database, and API keys
  5. Appwrite for automation: functions, webhooks into n8n, and storage
  6. When each: PocketBase, Appwrite, or neither

PocketBase (release binary, pinned to 0.40.3 in this course, check the releases page for current), Appwrite (installer-generated compose; the installer picks the version, appwrite/appwrite:2.0.0 at the time of writing), n8n 2.38.1

Infrastructure

7 courses

The box everything runs on: Docker, DNS and TLS, container UIs, monitoring, single sign-on and backups.

Docker and Self-Hosting Essentials

8 lessons

For anyone who wants to run their own tools on their own server and keep them running. You will build a hardened VPS, one Caddy reverse proxy serving several apps over HTTPS, backups you have actually restored from, an update routine that does not break databases, and monitoring that tells you before your members do. n8n is the running example; every lesson works the same for NocoDB, Strapi or Uptime Kuma.

What you end up withBy the last lesson you will have one small server running several real apps behind a single HTTPS-terminating proxy, with backups you have restored from at least once and an update routine that will not silently corrupt a database.
8 lessons in this course
  1. Docker and self-hosting: what it is and when to use it
  2. Docker and Compose in plain terms
  3. A VPS from zero
  4. Reverse proxy and TLS with Caddy
  5. Volumes and backups that restore
  6. Updating safely
  7. Monitoring and logs
  8. Home lab and Raspberry Pi

Ubuntu 24.04 LTS, Docker Engine with the Compose v2 plugin, Caddy 2.11.4, restic 0.17+ from the upstream release binary, Uptime Kuma 2.5.3, Dozzle v10.10.0, cloudflared 2026.8.3, n8n 2.38.1 with n8nio/runners 2.38.1, PostgreSQL 18, Raspberry Pi OS 64-bit. Written September 2026.

Cloudflare, DNS and Security

7 lessons

Point a domain at your VPS, put Cloudflare in front of it the right way, tunnel a home server with no open ports, add an email login in front of the n8n editor without blocking webhooks, stop bots hitting your webhook URLs, and lock down the box itself. For members running n8n or any self-hosted service on a VPS or a home server who have a domain but have never configured DNS or Cloudflare beyond "it works."

Before you startAssumes you already own a domain, and already have something running that needs a public hostname.
What you end up withBy the last lesson you'll have a domain on Cloudflare with correct DNS and a Full (strict) SSL configuration, a home server reachable through a tunnel with no forwarded ports, and a hardened VPS underneath all of it.
7 lessons in this course
  1. Cloudflare: what it is and when to use it
  2. DNS in plain terms
  3. Cloudflare in front: proxied vs DNS-only and SSL modes
  4. Cloudflare Tunnel: exposing a home server with no open ports
  5. Zero Trust Access: an email login in front of the editor
  6. WAF and rate limiting: blocking bots from webhook URLs
  7. Hardening the box

Cloudflare dashboard and Zero Trust as of September 2026, cloudflared 2026.8.3, n8n 2.38.1 self-hosted (Docker), Ubuntu 24.04 LTS, fail2ban and unattended-upgrades from Ubuntu's default repositories

Portainer and Dockge

6 lessons

Two web UIs for running Docker without living in a terminal for every small task. Dockge for compose-first stack editing that matches the files you already keep; Portainer CE for a fuller dashboard with users, access control and a second-server agent. For members who are comfortable with docker compose from the terminal and want a browser view on top of it, plus a plain-language warning about what the Docker socket actually grants whoever logs in.

Before you startAssumes Docker and Self-Hosting Essentials: `docker compose`, volumes, networks and the Caddy reverse proxy pattern aren't re-taught here.
What you end up withBy the last lesson you'll have both tools installed and a straight answer on which one belongs on your box.
6 lessons in this course
  1. Portainer and Dockge: what they are and when to use them
  2. Dockge: compose-first stack manager
  3. Day to day with Dockge
  4. Portainer CE: install, the Docker socket risk stated plainly, environments, and stacks
  5. Portainer for a small team
  6. When SSH is still better

Dockge 1.5.0, Portainer CE 2.45.0, Caddy 2.11.4, Docker Engine with the Compose v2 plugin, Ubuntu 24.04 LTS, as of September 2026

Grafana, Prometheus and Loki

7 lessons

For people already running n8n and a few other containers who want more than "is it up". You add Prometheus, Grafana, Loki and Alloy to one box in a single compose file, build dashboards for host, container and n8n metrics, search every container's logs from one search box, and route alerts into an n8n workflow that pages you. Retention and disk budgets are set on day one so the monitoring stack does not become the thing that fills your disk.

Before you startYou should be comfortable with `docker compose up -d`, named volumes and bind mounts before you start. You do not need to know PromQL, SQL or Python.
What you end up withBy the last lesson you will have six containers on one box, reachable only over an SSH tunnel, with a hard disk budget set on day one.
7 lessons in this course
  1. Grafana, Prometheus and Loki: what they are and when to use them
  2. The stack in one compose file
  3. Host and container metrics
  4. n8n metrics
  5. Logs with Loki
  6. Alerts
  7. Keeping it small

Written September 2026. Prometheus v3.14.0, Grafana 13.2.1, Grafana Alloy v1.19.2, Loki 3.7.7, node-exporter v1.12.1, cAdvisor v0.60.5, n8n 2.38.1 self-hosted, Docker Compose v2 on Debian or Ubuntu.

Single Sign-On with Authentik and Keycloak

7 lessons

For anyone running more than three self-hosted tools who is tired of a password manager full of admin logins. You will run Authentik in Docker, put a real login in front of apps that have none using Caddy forward auth, connect Grafana and Portainer over OIDC with groups mapped to roles, stand up Keycloak to see how it compares, and leave with MFA, a break-glass account and a backup you have restored. Assumes Docker and a Caddy reverse proxy.

Before you startYou need a working Caddy reverse proxy on its own Compose stack, HTTPS already issuing, and a Docker network the stacks can share.
What you end up withBy the last lesson you will have Authentik on its own HTTPS hostname, two login-less apps behind a real gate, two OIDC apps reading their roles from your groups, and a tested way back in when it breaks.
7 lessons in this course
  1. Single sign-on: what it is and when to use it
  2. Why one login
  3. Authentik in Docker
  4. Forward auth with Caddy
  5. OIDC for apps that support it
  6. Keycloak as the alternative
  7. Recovery and MFA

Authentik 2026.8.1 (ghcr.io/goauthentik/server), Keycloak 26.7.3, Caddy 2.11.4, PostgreSQL 18, Grafana 13.2, Portainer CE 2.45.0, Dockge 1.5.0, Uptime Kuma 2.5.3. Written September 2026.

Vaultwarden and Nextcloud

6 lessons

Self-host a password manager and a file/sync drive for a small team instead of renting both. Stand up Vaultwarden behind Caddy with HTTPS enforced, build a team vault with organisations and collections, run Nextcloud on Postgres and Redis with background jobs done right, connect Nextcloud to n8n over WebDAV and Flow webhooks, and finish with a backup and restore drill for both.

Before you startAssumes Docker and Self-Hosting Essentials is done: a VPS with Docker Compose, a Caddy reverse proxy issuing real certificates, and secrets kept in a `.env` file.
What you end up withBy the last lesson you will have Vaultwarden and Nextcloud running as Docker containers behind Caddy, each with real HTTPS, a working backup you have actually restored once, and a live connection between Nextcloud and n8n.
6 lessons in this course
  1. Vaultwarden and Nextcloud: what they are and when to use them
  2. Vaultwarden in Docker behind Caddy
  3. A small team vault
  4. Nextcloud in Docker
  5. Nextcloud and n8n
  6. Backups and recovery for both

Vaultwarden 1.37.2, Nextcloud 34.0.3, Postgres 18, Caddy 2.11.4, n8n 2.38.x self-hosted, dated September 2026

Plausible and Umami Analytics

6 lessons

Self-host Plausible Community Edition and Umami in Docker, add goals and UTM-tracked links, pull last week's numbers into n8n on a Monday-morning schedule, and make an honest, informed choice between these cookieless tools and PostHog.

What you end up withBy the last lesson you will have Plausible and Umami running side by side in Docker behind Caddy, a tracked conversion event and UTM-tagged campaign links in both dashboards, and an n8n workflow that posts last week's numbers every Monday morning.
6 lessons in this course
  1. Plausible and Umami: what they are and when to use them
  2. Plausible Community Edition in Docker
  3. Umami in Docker
  4. Goals and events
  5. n8n and analytics
  6. Privacy and consent

Plausible Community Edition ghcr.io/plausible/community-edition:v3.0.1 (check ghcr for the current v3.x before deploying), umamisoftware/umami:3.3.1, postgres:18, clickhouse/clickhouse-server:26.8, caddy:2.11.4, n8n 2.38.x self-hosted, dated September 2026

Code and shipping

4 courses

When a Code node stops being enough: Python, Go, and getting changes reviewed before they reach your server.

Python for Automation

7 lessons

For people who have outgrown drag-and-drop and need a script now and then. Set up Python 3.12 with uv, call APIs with httpx, read and write CSV/JSON, run a script on a schedule in Docker, expose it to n8n as a tiny FastAPI service, and handle logging, config and secrets like you mean it.

Before you startAssumes you already have Docker and a self-hosted n8n instance; n8n Self-Hosting: Zero to Production or n8n Workflow Foundations covers getting there.
What you end up withBy the last lesson you'll have a Python project managed by `uv`, a script that calls a real API with pagination and retries, a container that runs it on its own schedule, and a small FastAPI service n8n calls over HTTP.
7 lessons in this course
  1. Python: what it is and when to use it
  2. Set up Python with uv, a project folder, and your first script
  3. Talk to an API with httpx
  4. Files: CSV, JSON, folders and time zones
  5. Run it on a schedule in Docker
  6. Expose it to n8n
  7. Logging, config and secrets

Python 3.12, uv (current stable via the official installer, check docs.astral.sh/uv if a command has changed), httpx 0.27+, FastAPI 0.115+, Docker Compose v2, n8n 2.38.x self-hosted. Dated September 2026.

Go for Automation Services

6 lessons

For n8n builders who want a small, fast, single-binary service running next to n8n instead of another Docker image full of a language runtime. Five lessons take you from a plain Go install to a rate-limited caching proxy n8n calls in production, using only the Go standard library.

Before you startAssumes n8n and Docker Compose are already running, since every service this course builds ends up on the same Docker network as n8n.
What you end up withBy the last lesson you'll have a small, dependency-free Go service pattern you can reach for whenever "next to n8n" beats "inside n8n".
6 lessons in this course
  1. Go: what it is and when to use it
  2. Install Go and write a webhook receiver
  3. Calling APIs: http.Client, JSON structs and honest errors
  4. Package it: a tiny image on the n8n network
  5. A real service: a rate-limited, cached proxy
  6. When Go, when Python, when a Code node

Go 1.23+, Docker Engine with Compose v2, standard library only (net/http, encoding/json, log/slog), no frameworks

Git and GitHub for Automation Teams

6 lessons

For members running n8n and Docker Compose stacks who have never used version control. Set up Git and GitHub, track your compose files and Caddyfile without leaking secrets, back up n8n workflows on a schedule, automate exports and deploys with GitHub Actions, and use branches and pull requests so a change gets a second look, human or agent, before it reaches your VPS.

Before you startAssumes you already have a Docker Compose stack running n8n, because everything this course tracks comes from that stack.
What you end up withBy the end you'll have a private GitHub repository tracking your compose stack and your n8n workflows, a script that exports every workflow to JSON and opens a pull request automatically, and a protected `main` branch.
6 lessons in this course
  1. Git and GitHub: what it is and when to use it
  2. Git in twenty minutes
  3. Your infrastructure in git
  4. Versioning n8n workflows in Community Edition
  5. GitHub Actions: a nightly export and a deploy over SSH
  6. Working with others: branches, pull requests, and reviewing an agent's change

Git 2.4x, GitHub.com and GitHub Actions (September 2026), n8n 2.38.x self-hosted (Docker), Docker Compose v2

Gitea and Woodpecker CI

6 lessons

Run your own Git host in Docker and pair it with two flavors of CI, for anyone who wants their repos and n8n workflows off GitHub without losing the habits that already work. By the end you'll have Gitea with Postgres and SSH on a non-standard port, a nightly n8n workflow export running as a Gitea Action, a Woodpecker server and agent talking to Gitea, a webhook into n8n that flags exports containing secrets, and a tested backup and restore process with GitHub kept only as a mirror.

Before you startAssumes the base from Docker and Self-Hosting Essentials and n8n Self-Hosting, and that you've read Git and GitHub for Automation Teams.
6 lessons in this course
  1. Gitea and Woodpecker: what they are and when to use them
  2. Gitea in Docker
  3. Gitea Actions: nightly n8n export
  4. Woodpecker CI
  5. Webhooks to n8n
  6. Backups and moving off GitHub

Gitea 1.27.3, Woodpecker CI v3.18.0 (server and agent), PostgreSQL 18, n8n 2.38.1. Written September 2026.

Apps and business

8 courses

The tools you point at customers: apps and forms, payments, email, content, chat, scheduling, and how to pick between them.

Choosing Your Stack: When to Use What

7 lessons

For builders who keep stalling on "which tool should I use for this". Seven lessons of plain decision rules covering automation platforms, app builders, databases, hosting and AI providers. You finish with a five-question scorecard you can run on any tool in fifteen minutes, and a written-down default stack you can defend when someone asks why you picked it.

7 lessons in this course
  1. The decision framework: what it is and when to use it
  2. A decision framework for picking tools
  3. Automation: Zapier, Make, n8n or code
  4. Building apps: no-code, internal tools or a framework
  5. Data: Postgres, Firebase, Mongo and vector databases
  6. Hosting: platforms, a VPS, or the big clouds
  7. AI providers: hosted, open or local

Written September 2026. n8n 2.38.x self-hosted, Docker Compose v2, Postgres 18, Next.js 15, Ollama current release. Pricing quoted is as of September 2026 and changes often; check the vendor's page before you commit.

Building Apps Without a Framework

6 lessons

For members who need a working app this week, not a codebase. Covers Bubble and Glide for customer-facing apps, Retool and self-hosted ToolJet for internal tools, and how to wire any of the four into n8n with a webhook contract you control. Six text lessons, written against September 2026 versions, ending with the one n8n workflow that serves all of them.

Before you startThe internal-tool lessons assume a real database is already there; Postgres, Supabase and NocoDB is useful background.
What you end up withBy the last lesson you'll have built the same internal tool twice, once in Retool and once in self-hosted ToolJet, and the same small public form twice, in Bubble and Glide, with all four calling one shared n8n webhook.
6 lessons in this course
  1. App builders: what they are and when to use them
  2. The landscape: builders, internal tools and AI-generated code
  3. Retool: an internal tool on your Postgres in an hour
  4. ToolJet self-hosted: the same tool rebuilt on your own box
  5. Bubble and Glide: a customer-facing app that talks to n8n
  6. Connecting any builder to n8n

Bubble and Glide (hosted, current editors as of September 2026), Retool (cloud), ToolJet self-hosted (Docker Compose, community edition), n8n 2.38.x self-hosted, PostgreSQL 18, Docker Compose v2.

Stripe and Payment Automations

6 lessons

Take Stripe from a dashboard you click around in to a system n8n runs for you. Products and Payment Links, webhooks with real signature verification, Checkout Sessions and invoices built from n8n, the subscription statuses that matter and the automation each should fire, and a Postgres table that catches what a webhook missed. Runs in test mode; steps needing a live, activated account are called out. For members who can already run n8n and want it handling billing, not just marketing.

Before you startAssumes n8n is already running, and that you have a stable HTTPS URL for a permanent webhook endpoint.
What you end up withBy the last lesson you'll have one small, complete billing pipeline: a test-mode Stripe account with a product and price, an n8n webhook that verifies every event's signature before trusting it, and a Postgres log checked daily against Stripe's own balance transactions.
6 lessons in this course
  1. Stripe: what it is and when to use it
  2. Stripe basics for builders
  3. Webhooks into n8n
  4. Checkout sessions and invoices
  5. Subscription lifecycle
  6. Reconciliation and refunds

Stripe Dashboard and API in test mode, as of September 2026. n8n 2.38.x self-hosted. Postgres 18.

Email and Newsletter Automation

6 lessons

Send transactional and marketing email from n8n using Resend, Postmark and Beehiiv. Build the lead-magnet flow that turns a website form into a confirmed newsletter subscriber with a logged, trackable welcome email, then get your domain's SPF, DKIM and DMARC records right so the emails land in the inbox.

Before you startAssumes you already have n8n running, because every call here goes out through an HTTP Request node in a workflow.
What you end up withBy the last lesson you'll have a real, working lead-magnet flow: a website form that creates a Beehiiv subscriber with double opt-in, a Resend welcome email with the PDF and EPUB attached, and SPF, DKIM and DMARC records in place so the mail reaches the inbox.
6 lessons in this course
  1. Email automation: what it is and when to use it
  2. Transactional versus marketing email, and why you need both
  3. Sending from n8n: Resend
  4. Beehiiv from n8n
  5. The lead-magnet flow
  6. Deliverability

Beehiiv API v2 (api.beehiiv.com/v2), Resend API (api.resend.com), Postmark API (api.postmarkapp.com), n8n 2.38.x self-hosted, dated September 2026

Listmonk Newsletters

6 lessons

Self-host your newsletter list on Listmonk instead of renting it from Beehiiv. Stand up Listmonk on Postgres, build opt-in lists with a public subscription form, send campaigns and read their stats, and fire transactional welcome email from n8n through the /api/tx endpoint. Closes with Shannon's honest reasoning for still using Beehiiv today.

Before you startListmonk needs a Postgres database of its own, and a real hostname behind Caddy or a Cloudflare Tunnel so unsubscribe links work.
What you end up withBy the end of this course you'll have Listmonk running in Docker on Postgres with SMTP configured, opt-in lists with a working public subscription form, a sent campaign with stats you can read, and an n8n workflow firing a transactional welcome email.
6 lessons in this course
  1. Listmonk: what it is and when to use it
  2. Listmonk in Docker on Postgres
  3. Lists and subscribers
  4. Campaigns and templates
  5. Transactional mail from n8n
  6. Beehiiv versus Listmonk

Listmonk v6.2.0, Postgres 18, n8n 2.38.x self-hosted, dated September 2026

Strapi and Headless CMS Pipelines

6 lessons

Run Strapi 5 in Docker with Postgres, model a content type, publish through the REST API with a token, push new posts to n8n over a webhook, and feed a static Next.js or Astro site from it. Ends with an honest look at when a CMS beats markdown in git.

Before you startAssumes a working n8n instance, since the point of wiring in webhooks is having something on the other end to react to a publish event.
What you end up withBy the last lesson you'll have Strapi running in Docker against Postgres, an API token reading a published entry back over REST, a webhook that fires into n8n on publish, and a static site that rebuilds on that same webhook.
6 lessons in this course
  1. Headless CMS: what it is and when to use it
  2. Strapi 5 in Docker with Postgres
  3. Content types and the API
  4. Webhooks to n8n
  5. Feeding a site
  6. Strapi versus Directus versus markdown in git

Strapi 5.x (no official Docker image, scaffolded with `npx create-strapi@latest` and built into your own image), PostgreSQL 16, Node 22 LTS, n8n 2.38.x self-hosted, as of September 2026

Typebot and Chatwoot

6 lessons

For anyone who wants a chatbot that actually qualifies leads and a real support inbox behind it, both self-hosted. Covers running Typebot's builder and viewer in Docker, building a lead-qualifying bot that calls n8n, running Chatwoot with a website widget and agents, auto-triaging conversations by keyword, and handing a qualified Typebot lead straight into a live Chatwoot conversation.

Before you startIf you haven't run n8n self-hosted yet, do that course first. This one assumes a working n8n instance.
What you end up withBy lesson 5 you'll have Typebot and Chatwoot running in Docker, connected through one n8n workflow, so a visitor who answers three qualifying questions either gets a booking link or gets handed into a labeled, routed Chatwoot conversation.
6 lessons in this course
  1. Typebot and Chatwoot: what they are and when to use them
  2. Typebot in Docker: builder, viewer, Postgres, and your first bot
  3. A lead-qualifying bot: questions, conditions, and a webhook to n8n
  4. Chatwoot in Docker: Postgres, Redis, an inbox, a widget, and agents
  5. Chatwoot and n8n: conversation webhooks, the reply and label API, and auto-triage
  6. Putting them together: Typebot hands off a qualified lead to Chatwoot

Typebot 3.18.0 (Docker images `baptistearno/typebot-builder` and `baptistearno/typebot-viewer`), Chatwoot v4.17.1-ce (Docker image `chatwoot/chatwoot`), Postgres 18, Redis 7, n8n 2.38.1

Cal.com and Documenso

6 lessons

Self-host scheduling and e-signing instead of renting them from Calendly and DocuSign. Stand up Cal.com and Documenso in Docker on their own Postgres databases, verify both tools' webhooks in n8n so a new booking sends a contract automatically, and build one end-to-end intake flow from form to booking to signed contract on a single Postgres table, with every failure point named honestly and the fix for each one named too.

Before you startBoth tools need their own Postgres database, and a real hostname behind HTTPS so their email links and webhooks work.
What you end up withBy the end of this course you'll have Cal.com and Documenso running in Docker, each on its own Postgres database, with a first event type live on Cal.com and a first signed document round-tripped through Documenso's certificate setup.
6 lessons in this course
  1. Cal.com and Documenso: what they are and when to use them
  2. Cal.com self-hosted: compose, env vars, first user and an event type
  3. Bookings into n8n: webhooks, a verified signature, and a prep-email workflow
  4. Documenso self-hosted: compose, certificate setup, first document and template
  5. Signing into n8n: webhooks, the API, and sending a contract on booking confirmed
  6. The intake flow: form to booking to signed contract, end to end

Cal.com v6.2.0, Documenso v2.17.0, Postgres 18, n8n 2.38.x self-hosted, dated September 2026

Before you join

Is it really free?

Yes. All 33 courses sit inside the House of Loops Skool community, which is free to join. There is no paid tier and nothing is held back for one.

What order should I go in?

Any order. Pick the track that matches what you are trying to build. Where a course expects you to have something running already, that is stated on the course card.

How current is it?

Each course lists the exact versions it was written and tested against. When a tool ships a breaking change, the version line is how you tell whether a lesson still applies.

Do I need to know how to code?

Not for most of it. One of the six tracks, Code and shipping, is about writing Python and Go. The other five are built around Docker, configuration and workflows.