diff --git a/docs/webssh-3.md b/docs/webssh-3.md
index c251fcd0..14d59a67 100644
--- a/docs/webssh-3.md
+++ b/docs/webssh-3.md
@@ -152,8 +152,8 @@ See [Credentials](credentials.md) and the [backup guide](wiki/Backup-Restore-and
The README and product tour use browser captures of version 3 with
prepared example data, never a user's servers or credentials. The theme GIF
shows all eleven themes. The silent video and slide gallery are visual tours;
-they do not claim successful operations on real servers. The previous narrated
-version 2 video is retained only as clearly labeled historical material.
+they do not claim successful operations on real servers. The narrated tour on
+the product site shows version 3 with the same kind of prepared example data.
## Release validation
diff --git a/site/assets/webssh-youtube-tour.en.vtt b/site/assets/webssh-youtube-tour.en.vtt
index 37f101f4..8dfbc088 100644
--- a/site/assets/webssh-youtube-tour.en.vtt
+++ b/site/assets/webssh-youtube-tour.en.vtt
@@ -1,294 +1,162 @@
WEBVTT
-00:00:00.070 --> 00:00:02.840
-Ever find yourself switching
-between a terminal,
+00:00:00.800 --> 00:00:03.989
+A terminal here, a file browser there,
+notes somewhere else.
-00:00:03.050 --> 00:00:05.660
-a file browser, and a page of notes?
+00:00:04.409 --> 00:00:07.609
+Working on your servers usually means
+juggling all three.
-00:00:06.254 --> 00:00:08.524
-That's where WebSSH comes in.
+00:00:08.029 --> 00:00:11.278
+WebSSH puts them in one workspace, in
+your browser,
-00:00:08.714 --> 00:00:13.604
-It brings those everyday tools into one
-workspace, running on your own server.
+00:00:11.278 --> 00:00:13.381
+running on a machine you control.
-00:00:14.285 --> 00:00:16.775
-You install it on a machine you control.
+00:00:14.551 --> 00:00:15.800
+This is the overview.
-00:00:17.185 --> 00:00:21.535
-Your browser talks to that instance, and
-that instance connects to your servers.
+00:00:16.220 --> 00:00:19.445
+At a glance you see which hosts are
+ready, what's open,
-00:00:22.303 --> 00:00:23.953
-Let's start with Overview.
+00:00:19.445 --> 00:00:21.731
+and how your last automation runs went.
-00:00:24.691 --> 00:00:27.061
-Give a saved connection a useful name,
+00:00:22.151 --> 00:00:24.447
+The map shows how you reach each
+machine,
-00:00:27.211 --> 00:00:30.181
-and you don't have to remember
-its address every time.
+00:00:24.447 --> 00:00:26.575
+including the ones behind a jump host.
-00:00:30.707 --> 00:00:31.837
-Looking for production?
+00:00:26.995 --> 00:00:30.451
+If something needs a look, like a host
+key you haven't verified,
-00:00:32.367 --> 00:00:34.637
-Type it into search, or pick a group.
+00:00:30.451 --> 00:00:31.369
+it shows up here.
-00:00:35.167 --> 00:00:37.097
-Recent connections also make it easy
+00:00:31.789 --> 00:00:33.155
+And the layout is yours:
-00:00:37.107 --> 00:00:39.777
-to get back to a machine
-you were just using.
+00:00:33.415 --> 00:00:36.273
+move panels, resize them, hide what you
+don't use.
-00:00:40.269 --> 00:00:44.839
-Switch to the route view, and you can see
-how your saved connections fit together.
+00:00:36.693 --> 00:00:38.680
+And there are eleven themes to choose
+from.
-00:00:45.249 --> 00:00:48.619
-Here, a few destinations
-go through a jump host.
+00:00:39.850 --> 00:00:41.113
+Adding hosts is quick.
-00:00:49.337 --> 00:00:52.867
-Need a connection you haven't
-saved yet? Open Quick Connect.
+00:00:41.533 --> 00:00:45.975
+Name a network range, and WebSSH looks
+for SSH servers in it,
-00:00:53.490 --> 00:00:57.860
-Enter the host, port, and remote
-username. Nothing surprising here.
+00:00:45.975 --> 00:00:47.286
+only when you ask.
-00:00:58.282 --> 00:01:00.852
-You can use a password or a saved key.
+00:00:47.706 --> 00:00:49.933
+Pick one, and the form is already filled
+in.
-00:01:01.182 --> 00:01:03.732
-We'll pick the operations
-key for this example.
+00:00:50.353 --> 00:00:53.835
+Choose a saved key, route through a jump
+host, and you're connected.
-00:01:04.385 --> 00:01:07.135
-If the destination sits
-behind a jump host,
+00:00:55.005 --> 00:00:57.962
+Then there's the terminal, where you'll
+spend most of your time.
-00:01:07.425 --> 00:01:09.355
-choose that in the advanced settings.
+00:00:58.382 --> 00:00:59.989
+Every connection gets a tab.
-00:01:09.745 --> 00:01:12.375
-The extra options are
-there when you need them.
+00:01:00.409 --> 00:01:03.115
+Put sessions side by side, and keep
+notes,
-00:01:12.803 --> 00:01:16.833
-Before you connect, compare the host's
-fingerprint with a trusted source.
+00:01:03.115 --> 00:01:06.659
+files and diagnostics next to the shell
+they belong to.
-00:01:17.303 --> 00:01:19.473
-Check that you're reaching
-the right machine.
+00:01:07.079 --> 00:01:08.567
+And with tmux on the server,
-00:01:20.203 --> 00:01:23.713
-Now for the part you'll probably
-spend most of your time in:
+00:01:08.567 --> 00:01:11.277
+a session keeps running when you close
+the browser.
-00:01:23.763 --> 00:01:25.213
-the terminal workspace.
+00:01:12.447 --> 00:01:14.350
+Files sit right next to the terminal.
-00:01:25.837 --> 00:01:30.247
-Each connection gets a tab.
-Let's put two sessions side by side,
+00:01:14.770 --> 00:01:17.336
+Two panes, each with its own server and
+path.
-00:01:30.257 --> 00:01:34.007
-with the edge server on the left
-and the build runner on the right.
+00:01:17.756 --> 00:01:19.293
+Open a file, change a line,
-00:01:34.370 --> 00:01:36.160
-Looking for a particular line?
+00:01:19.293 --> 00:01:22.254
+and review the diff before anything is
+written back.
-00:01:36.630 --> 00:01:39.460
-Open terminal search and
-type what you're looking for.
+00:01:22.674 --> 00:01:24.465
+Bigger transfers go into a queue,
-00:01:39.770 --> 00:01:42.000
-Here, we're finding the web container.
+00:01:24.465 --> 00:01:27.069
+and can run straight from one server to
+another.
-00:01:42.437 --> 00:01:45.767
-And if you need more room,
-switch to four panes.
+00:01:28.239 --> 00:01:30.869
+For the things you do again and again,
+build a workflow.
-00:01:46.037 --> 00:01:48.407
-Now all four sessions
-are visible together.
+00:01:31.289 --> 00:01:34.274
+A few commands, in order, with the hosts
+they should run on.
-00:01:49.137 --> 00:01:52.947
-Let's open Files. You get
-secure remote file access,
+00:01:34.694 --> 00:01:36.681
+Run it now, or put it on a schedule.
-00:01:52.957 --> 00:01:55.527
-right alongside the terminal workflow.
+00:01:37.101 --> 00:01:40.472
+Afterwards you see the result per host,
+and where the hosts differ.
-00:01:56.107 --> 00:01:59.057
-The two panes have
-separate sources and paths.
+00:01:41.642 --> 00:01:43.697
+All of it sits behind your own sign-in.
-00:01:59.407 --> 00:02:02.877
-That makes it easy to keep an eye
-on where something is going.
+00:01:44.117 --> 00:01:47.538
+Passkeys, an authenticator app, or your
+identity provider.
-00:02:03.401 --> 00:02:06.171
-Pick a text file, like
-these deployment notes.
+00:01:47.958 --> 00:01:50.440
+Host keys are checked before you
+connect,
-00:02:06.670 --> 00:02:09.980
-You can preview it here,
-then switch into edit mode.
+00:01:50.440 --> 00:01:54.737
+private keys are stored encrypted, and
+every account has its own hosts,
-00:02:10.290 --> 00:02:13.100
-No need to download it
-just to change a line.
+00:01:54.737 --> 00:01:55.827
+keys and settings.
-00:02:13.561 --> 00:02:15.331
-We'll add one item to the checklist.
+00:01:56.997 --> 00:01:57.939
+Want to try it?
-00:02:15.341 --> 00:02:20.191
-Notice the unsaved marker:
-the edit hasn't been written back yet.
+00:01:58.359 --> 00:02:03.223
+Download one Compose file, run one
+command, and it's up on port 5000.
-00:02:20.622 --> 00:02:22.052
-Back in the file workspace,
+00:02:03.643 --> 00:02:07.427
+For anything facing the internet, follow
+the production guide first.
-00:02:22.342 --> 00:02:25.352
-the transfer queue keeps
-progress and status visible
+00:02:07.847 --> 00:02:09.684
+WebSSH is open source.
-00:02:25.362 --> 00:02:27.392
-when you're moving several files.
-
-00:02:28.103 --> 00:02:30.973
-We all have commands we run over and over.
-
-00:02:31.303 --> 00:02:33.593
-This is where the command library helps.
-
-00:02:34.409 --> 00:02:36.379
-Command sets take that one step further:
-
-00:02:36.689 --> 00:02:40.299
-several commands, arranged
-into a reusable sequence.
-
-00:02:40.799 --> 00:02:44.489
-This baseline check already
-includes uptime and service status.
-
-00:02:44.879 --> 00:02:46.689
-Let's open it and have a look.
-
-00:02:47.269 --> 00:02:50.639
-We'll find the disk-usage command
-and add it as the third step.
-
-00:02:50.649 --> 00:02:52.759
-There's the updated order.
-
-00:02:53.425 --> 00:02:56.995
-Before running a set, check
-the commands and the target session.
-
-00:02:58.055 --> 00:03:00.565
-Use the notes as a private scratchpad.
-
-00:03:00.815 --> 00:03:02.905
-A release checklist, a reminder,
-
-00:03:03.215 --> 00:03:05.485
-whatever helps you pick
-up where you left off.
-
-00:03:05.755 --> 00:03:07.725
-They're shared across your own sessions.
-
-00:03:08.270 --> 00:03:11.240
-Open diagnostics to check resource usage
-
-00:03:11.430 --> 00:03:14.380
-and inspect services on
-a compatible Linux host.
-
-00:03:14.890 --> 00:03:16.520
-These are sample measurements.
-
-00:03:17.078 --> 00:03:20.088
-The details you can see
-depend on the remote system
-
-00:03:20.098 --> 00:03:22.028
-and your account's permissions.
-
-00:03:22.936 --> 00:03:26.026
-Depending on your setup,
-you can enable passkeys,
-
-00:03:26.156 --> 00:03:29.906
-an authenticator app,
-or an external identity provider.
-
-00:03:30.469 --> 00:03:32.939
-Set up recovery while
-you can still sign in.
-
-00:03:32.949 --> 00:03:36.679
-It's much nicer to have that
-ready before you need it.
-
-00:03:37.170 --> 00:03:38.800
-Ready to have a look yourself?
-
-00:03:39.330 --> 00:03:43.280
-Head to getwebssh dot com and
-open the Docker quickstart.
-
-00:03:43.861 --> 00:03:48.711
-It uses the published container image
-and a persistent volume for your data.
-
-00:03:49.377 --> 00:03:52.547
-The example keeps the web
-port on your own computer.
-
-00:03:53.017 --> 00:03:56.947
-That's a useful way to explore without
-opening it to the whole network.
-
-00:03:57.574 --> 00:04:01.424
-Start the container, open
-localhost on port five thousand,
-
-00:04:01.894 --> 00:04:05.124
-and create the first
-administrator on a fresh instance.
-
-00:04:05.697 --> 00:04:08.587
-For internet access,
-follow the production guide.
-
-00:04:08.977 --> 00:04:12.587
-It covers encrypted web
-access, allowed origins,
-
-00:04:12.757 --> 00:04:15.647
-secure cookies, and the proxy
-and network settings.
-
-00:04:16.370 --> 00:04:21.457
-Found something useful, or something you'd
-like to improve? Come share it on GitHub.
-
-00:04:22.329 --> 00:04:24.099
-And if you enjoyed the walkthrough,
-
-00:04:24.249 --> 00:04:27.599
-subscribe for more practical
-tools for your own infrastructure.
-
-00:04:28.229 --> 00:04:29.439
-Thanks for watching.
+00:02:10.104 --> 00:02:12.991
+You'll find everything at getwebssh.com.
diff --git a/site/assets/webssh-youtube-tour.jpg b/site/assets/webssh-youtube-tour.jpg
index a7df488c..fcb87aa6 100644
Binary files a/site/assets/webssh-youtube-tour.jpg and b/site/assets/webssh-youtube-tour.jpg differ
diff --git a/site/demo.html b/site/demo.html
index 77a2c9b4..80aaf164 100644
--- a/site/demo.html
+++ b/site/demo.html
@@ -35,39 +35,36 @@
This older video documents version 2. Its interface and capabilities differ from version 3 above. A two-minute walkthrough of version 3 with English narration and subtitles. Chapters and full transcript The hosts, files, terminal output and measurements are prepared examples. The Docker section explains the local setup. Chapter links open the corresponding moment on YouTube. Chapters and full transcript The hosts, sessions, files and terminal output are prepared examples. The last chapter explains the local setup. Chapter links open the corresponding moment on YouTube. Ever find yourself switching between a terminal, a file browser, and a page of notes? That's where WebSSH comes in. It brings those everyday tools into one workspace, running on your own server. You install it on a machine you control. Your browser talks to that instance, and that instance connects to your servers. Let's start with Overview. Give a saved connection a useful name, and you don't have to remember its address every time. Looking for production? Type it into search, or pick a group. Recent connections also make it easy to get back to a machine you were just using. Switch to the route view, and you can see how your saved connections fit together. Here, a few destinations go through a jump host. Need a connection you haven't saved yet? Open Quick Connect. Enter the host, port, and remote username. Nothing surprising here. You can use a password or a saved key. We'll pick the operations key for this example. If the destination sits behind a jump host, choose that in the advanced settings. The extra options are there when you need them. Before you connect, compare the host's fingerprint with a trusted source. Check that you're reaching the right machine. Now for the part you'll probably spend most of your time in: the terminal workspace. Each connection gets a tab. Let's put two sessions side by side, with the edge server on the left and the build runner on the right. Looking for a particular line? Open terminal search and type what you're looking for. Here, we're finding the web container. And if you need more room, switch to four panes. Now all four sessions are visible together. Let's open Files. You get secure remote file access, right alongside the terminal workflow. The two panes have separate sources and paths. That makes it easy to keep an eye on where something is going. Pick a text file, like these deployment notes. You can preview it here, then switch into edit mode. No need to download it just to change a line. We'll add one item to the checklist. Notice the unsaved marker: the edit hasn't been written back yet. Back in the file workspace, the transfer queue keeps progress and status visible when you're moving several files. We all have commands we run over and over. This is where the command library helps. Command sets take that one step further: several commands, arranged into a reusable sequence. This baseline check already includes uptime and service status. Let's open it and have a look. We'll find the disk-usage command and add it as the third step. There's the updated order. Before running a set, check the commands and the target session. Use the notes as a private scratchpad. A release checklist, a reminder, whatever helps you pick up where you left off. They're shared across your own sessions. Open diagnostics to check resource usage and inspect services on a compatible Linux host. These are sample measurements. The details you can see depend on the remote system and your account's permissions. Depending on your setup, you can enable passkeys, an authenticator app, or an external identity provider. Set up recovery while you can still sign in. It's much nicer to have that ready before you need it. Ready to have a look yourself? Head to getwebssh dot com and open the Docker quickstart. It uses the published container image and a persistent volume for your data. The example keeps the web port on your own computer. That's a useful way to explore without opening it to the whole network. Start the container, open localhost on port five thousand, and create the first administrator on a fresh instance. For internet access, follow the production guide. It covers encrypted web access, allowed origins, secure cookies, and the proxy and network settings. Found something useful, or something you'd like to improve? Come share it on GitHub. And if you enjoyed the walkthrough, subscribe for more practical tools for your own infrastructure. Thanks for watching. A terminal here, a file browser there, notes somewhere else. Working on your servers usually means juggling all three. WebSSH puts them in one workspace, in your browser, running on a machine you control. This is the overview. At a glance you see which hosts are ready, what's open, and how your last automation runs went. The map shows how you reach each machine, including the ones behind a jump host. If something needs a look, like a host key you haven't verified, it shows up here. And the layout is yours: move panels, resize them, hide what you don't use. And there are eleven themes to choose from. Adding hosts is quick. Name a network range, and WebSSH looks for SSH servers in it, only when you ask. Pick one, and the form is already filled in. Choose a saved key, route through a jump host, and you're connected. Then there's the terminal, where you'll spend most of your time. Every connection gets a tab. Put sessions side by side, and keep notes, files and diagnostics next to the shell they belong to. And with tmux on the server, a session keeps running when you close the browser. Files sit right next to the terminal. Two panes, each with its own server and path. Open a file, change a line, and review the diff before anything is written back. Bigger transfers go into a queue, and can run straight from one server to another. For the things you do again and again, build a workflow. A few commands, in order, with the hosts they should run on. Run it now, or put it on a schedule. Afterwards you see the result per host, and where the hosts differ. All of it sits behind your own sign-in. Passkeys, an authenticator app, or your identity provider. Host keys are checked before you connect, private keys are stored encrypted, and every account has its own hosts, keys and settings. Want to try it? Download one Compose file, run one command, and it's up on port 5000. For anything facing the internet, follow the production guide first. WebSSH is open source. You'll find everything at getwebssh. com. “Chill Wave” by Kevin MacLeod (incompetech.com), licensed under Creative Commons Attribution 4.0 International. Edited, looped, level-adjusted and mixed under narration; fades applied.
Preview all eleven themes

Historical version 2 narrated tour (October 2026)
Narrated tour
+
Follow the tour at your own pace.
Follow the tour at your own pace.
-
What is WebSSH?
Saved hosts and SSH routes
Quick Connect, keys and jump hosts
Split terminals and search
SFTP file preview and editing
Reusable command sets
Notes and Linux diagnostics
Passkeys and account recovery
Docker quickstart
Project links and next steps
What is WebSSH?
Overview and themes
Find and add hosts
Terminal workspace
Files and transfers
Automation
Sign-in and security
Install with Docker Compose
Music credits
Explore the features or choose a deployment for your network.