diff --git a/docs/config/extensions/playwright.mdx b/docs/config/extensions/playwright.mdx
index 6924f22b56..0a6dce2bf5 100644
--- a/docs/config/extensions/playwright.mdx
+++ b/docs/config/extensions/playwright.mdx
@@ -2,8 +2,13 @@
title: "Playwright"
sidebarTitle: "playwright"
description: "Use the playwright build extension to use Playwright with Trigger.dev"
+tag: "v4"
---
+import UpgradeToV4Note from "/snippets/upgrade-to-v4-note.mdx";
+
+
+
If you are using [Playwright](https://playwright.dev/), you should use the Playwright build extension.
- Automatically installs Playwright and required browser dependencies
diff --git a/docs/self-hosting/architecture.png b/docs/self-hosting/architecture.png
new file mode 100644
index 0000000000..35d91acab4
Binary files /dev/null and b/docs/self-hosting/architecture.png differ
diff --git a/docs/self-hosting/docker.mdx b/docs/self-hosting/docker.mdx
index dee37b8d87..7acc9cefd7 100644
--- a/docs/self-hosting/docker.mdx
+++ b/docs/self-hosting/docker.mdx
@@ -105,6 +105,10 @@ docker compose logs -f webapp
npx trigger.dev@v4-beta init -p -a http://localhost:8030
```
+
+The commands displayed in the webapp are incorrect while v4 is in beta. You should always use the `v4-beta` tag and not `latest`.
+
+
{/* 7. Bonus: Add traefik as a reverse proxy
```bash
diff --git a/docs/self-hosting/overview.mdx b/docs/self-hosting/overview.mdx
index 184ff1bcba..59f53ed50b 100644
--- a/docs/self-hosting/overview.mdx
+++ b/docs/self-hosting/overview.mdx
@@ -19,7 +19,14 @@ Because we don't manage self-hosted instances, we cannot guarantee how Trigger.d
For more details, carry on reading and follow our guides for instructions on setting up a self-hosted Trigger.dev instance. If you prefer a managed experience, you can [sign up](https://cloud.trigger.dev/login) for our Cloud offering instead - we have a generous [free tier](https://trigger.dev/pricing) for you to try it out.
-{/* TODO: Architecture section with updated diagram */}
+## Architecture
+
+The self-hosted version is a set of containers running on your own infrastructure. It's split into two parts that can be scaled independently:
+
+- **Webapp**: includes the dashboard and other services like Redis and Postgres.
+- **Worker**: includes the supervisor and the runners that execute your tasks.
+
+
## Feature comparison