diff --git a/jetty-home/src/main/resources/modules/demo-base.mod b/jetty-home/src/main/resources/modules/demo-base.mod
new file mode 100644
index 00000000000..2dc1d130414
--- /dev/null
+++ b/jetty-home/src/main/resources/modules/demo-base.mod
@@ -0,0 +1,28 @@
+# DO NOT EDIT - See: https://www.eclipse.org/jetty/documentation/current/startup-modules.html
+
+[description]
+A meta module to enable all demo modules.
+
+[tags]
+demo
+
+[depends]
+http
+https
+http2
+webapp-root
+webapp-async-rest
+webapp-test-spec
+test-keystore
+work
+demo-rewrite
+demo-moved-context
+
+[files]
+maven://org.eclipse.jetty.example-async-rest/example-async-rest-webapp/${jetty.version}/war|webapps/async-rest.war
+
+[ini-template]
+# Websocket chat examples needs websocket enabled
+# Don't start for all contexts (set to true in test.xml context)
+org.eclipse.jetty.websocket.jsr356=false
+
diff --git a/jetty-home/src/main/resources/modules/demo-moved-context.mod b/jetty-home/src/main/resources/modules/demo-moved-context.mod
new file mode 100644
index 00000000000..d697f8a28df
--- /dev/null
+++ b/jetty-home/src/main/resources/modules/demo-moved-context.mod
@@ -0,0 +1,14 @@
+# DO NOT EDIT - See: https://www.eclipse.org/jetty/documentation/current/startup-modules.html
+
+[description]
+Demonstrate a Moved Context Handler.
+
+[tags]
+demo
+
+[depends]
+deploy
+
+[files]
+basehome:modules/demo.d/demo-moved-context.xml|webapps/demo-moved-context.xml
+
diff --git a/jetty-home/src/main/resources/modules/demo-rewrite.mod b/jetty-home/src/main/resources/modules/demo-rewrite.mod
new file mode 100644
index 00000000000..8fcf581d4db
--- /dev/null
+++ b/jetty-home/src/main/resources/modules/demo-rewrite.mod
@@ -0,0 +1,17 @@
+# DO NOT EDIT - See: https://www.eclipse.org/jetty/documentation/current/startup-modules.html
+
+[description]
+Demonstrate the rewrite module.
+
+[tags]
+demo
+
+[depends]
+rewrite
+
+[xml]
+etc/demo-rewrite-rules.xml
+
+[files]
+basehome:modules/demo.d/demo-rewrite-rules.xml|etc/demo-rewrite-rules.xml
+
diff --git a/jetty-home/src/main/resources/modules/demo.d/demo-moved-context.xml b/jetty-home/src/main/resources/modules/demo.d/demo-moved-context.xml
new file mode 100644
index 00000000000..d2532f2aa49
--- /dev/null
+++ b/jetty-home/src/main/resources/modules/demo.d/demo-moved-context.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+ /oldContextPath
+ /test/dump/moved
+ false
+ false
+ false
+ -1
+
diff --git a/jetty-home/src/main/resources/modules/demo.d/demo-rewrite-rules.xml b/jetty-home/src/main/resources/modules/demo.d/demo-rewrite-rules.xml
new file mode 100644
index 00000000000..cedd98cd877
--- /dev/null
+++ b/jetty-home/src/main/resources/modules/demo.d/demo-rewrite-rules.xml
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+
+
+
+
+ [
+
+
+
+
+
+
+
+
+
+
+
+ /favicon.ico
+ Cache-Control
+ Max-Age=3600,public
+ true
+
+
+
+
+
+
+
+
+ /test/rewrite/
+ /test/rewrite/info.html
+
+
+
+
+
+
+
+
+ /test/some/old/context
+ /test/rewritten/newcontext
+
+
+
+
+
+
+
+
+ /test/rewrite/for/*
+ /test/rewritten/
+
+
+
+
+
+
+
+
+ (.*?)/reverse/([^/]*)/(.*)
+ $1/reverse/$3/$2
+
+
+
+
+
+
+
+
+ /*
+ visited
+ yes
+
+
+
+
+
+
+
+
+ /test/redirect/*
+ /test/redirected
+
+
+
+
+
+
+
+
+ /400Error
+ 400
+ ResponsePatternRule Demo
+
+
+
+ ]
+
diff --git a/jetty-home/src/main/resources/modules/demo.d/root/images/jetty-header.jpg b/jetty-home/src/main/resources/modules/demo.d/root/images/jetty-header.jpg
new file mode 100644
index 00000000000..f40c3644cc0
Binary files /dev/null and b/jetty-home/src/main/resources/modules/demo.d/root/images/jetty-header.jpg differ
diff --git a/jetty-home/src/main/resources/modules/demo.d/root/images/webtide_logo.jpg b/jetty-home/src/main/resources/modules/demo.d/root/images/webtide_logo.jpg
new file mode 100644
index 00000000000..b949919f08b
Binary files /dev/null and b/jetty-home/src/main/resources/modules/demo.d/root/images/webtide_logo.jpg differ
diff --git a/jetty-home/src/main/resources/modules/demo.d/root/index.html b/jetty-home/src/main/resources/modules/demo.d/root/index.html
new file mode 100644
index 00000000000..6c9ccd43369
--- /dev/null
+++ b/jetty-home/src/main/resources/modules/demo.d/root/index.html
@@ -0,0 +1,71 @@
+
+
+
+
Welcome to Jetty 10
+
+
+ The Jetty project is a 100% Java Servlet
+ Container which supports asynchronous server and client
+ implementations of the HTTP,
+ Websocket and HTTP/2 protocols. The
+ project is 100% Open Source and hosted by the Eclipse Foundation at http://www.eclipse.org/jetty.
+
+
+
+