diff --git a/distribution/server-x-dist/assembly.xml b/distribution/server-x-dist/assembly.xml
index fcf9596486..6a25231d39 100755
--- a/distribution/server-x-dist/assembly.xml
+++ b/distribution/server-x-dist/assembly.xml
@@ -31,10 +31,6 @@
false
-
- target/unpacked-themes/theme
- themes
-
src/main
@@ -48,6 +44,7 @@
*.*
+ true
src/main/content/bin
diff --git a/distribution/server-x-dist/src/main/README.txt b/distribution/server-x-dist/src/main/README.md
similarity index 54%
rename from distribution/server-x-dist/src/main/README.txt
rename to distribution/server-x-dist/src/main/README.md
index ad054a35cc..269604456a 100644
--- a/distribution/server-x-dist/src/main/README.txt
+++ b/distribution/server-x-dist/src/main/README.md
@@ -1,12 +1,14 @@
Keycloak.X
+==========
To run on Linux/Unix:
-$ cd bin
-$ ./kc.sh
+ $ bin/kc.sh
To run on Windows:
-> ...\bin\kc.bat
+ $ bin\kc.bat
-After the server boots, open http://localhost:8080 in your web browser. The welcome page will indicate that the server is running.
\ No newline at end of file
+After the server boots, open http://localhost:8080 in your web browser. The welcome page will indicate that the server is running.
+
+To get started, check the [Server Administration Guide](https://www.keycloak.org/docs/latest/server_admin).
\ No newline at end of file
diff --git a/distribution/server-x-dist/src/main/content/conf/README.md b/distribution/server-x-dist/src/main/content/conf/README.md
index 2075398ff2..e352dce68b 100644
--- a/distribution/server-x-dist/src/main/content/conf/README.md
+++ b/distribution/server-x-dist/src/main/content/conf/README.md
@@ -1,3 +1,4 @@
-# Configure the server
+Configure the server
+====================
-Use files in this directory to configure the server
\ No newline at end of file
+Use files in this directory to configure the server.
\ No newline at end of file
diff --git a/distribution/server-x-dist/src/main/content/providers/README.md b/distribution/server-x-dist/src/main/content/providers/README.md
index b883adfad3..7184eb1455 100644
--- a/distribution/server-x-dist/src/main/content/providers/README.md
+++ b/distribution/server-x-dist/src/main/content/providers/README.md
@@ -1,9 +1,10 @@
-# Installing Custom Providers
+Installing Custom Providers
+===========================
You should add to this directory your custom provider JAR files.
Once you have your providers in this directory you should run the following command to complete the installation:
```
-${keycloak.home.dir}/bin/kc.sh config
+${kc.home.dir}/bin/kc.sh config
```
\ No newline at end of file
diff --git a/distribution/server-x-dist/src/main/content/themes/README.md b/distribution/server-x-dist/src/main/content/themes/README.md
new file mode 100644
index 0000000000..e841d56849
--- /dev/null
+++ b/distribution/server-x-dist/src/main/content/themes/README.md
@@ -0,0 +1,24 @@
+Creating Themes
+===============
+
+Themes are used to configure the look and feel of login pages and the account management console.
+
+Custom themes packaged in a JAR file should be deployed to the `${kc.home.dir}/providers` directory and you should run
+the `config` command to install them prior to running the server.
+
+You should also be able to create your custom themes in this directory, directly. Themes within this directory do not require
+the `config` command to install them.
+
+When running the server in development mode, themes are not cached so that you can easily work on them without any need to restart
+the server when making changes.
+
+See the theme section in the [Server Developer Guide](https://www.keycloak.org/docs/latest/server_development/#_themes) for more details about how to create custom themes.
+
+Overriding the built-in templates
+---------------------------------
+
+While creating custom themes especially when overriding templates it may be useful to use the built-in templates as
+a reference. These can be found within the theme directory of `../lib/lib/main/org.keycloak.keycloak-themes-${project.version}.jar`, which can be opened using any
+standard ZIP archive tool.
+
+**Built-in themes should not be modified directly, instead a custom theme should be created.**
\ No newline at end of file
diff --git a/distribution/server-x-dist/src/main/content/themes/README.txt b/distribution/server-x-dist/src/main/content/themes/README.txt
deleted file mode 100644
index 0c164eab81..0000000000
--- a/distribution/server-x-dist/src/main/content/themes/README.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Themes are used to configure the look and feel of login pages and the account management console.
-
-Built-in themes should not be modified directly, instead a custom theme should be created. See the theme
-section in the Server Developer Guide for more details.
-
-While creating custom themes especially when overriding templates it may be useful to use the built-in templates as
-a reference. These can be found within themes directory of lib/keycloak-runner.jar, which can be opened using any
-standard ZIP archive tool.
\ No newline at end of file
diff --git a/quarkus/server/src/main/resources/META-INF/keycloak.properties b/quarkus/server/src/main/resources/META-INF/keycloak.properties
index 1e7b651708..99881c49f0 100644
--- a/quarkus/server/src/main/resources/META-INF/keycloak.properties
+++ b/quarkus/server/src/main/resources/META-INF/keycloak.properties
@@ -6,10 +6,16 @@ db=h2-file
%dev.db.username = sa
%dev.db.password = keycloak
%dev.cluster=local
+%dev.spi.theme.cache-themes=false
+%dev.spi.theme.cache-templates=false
+%dev.spi.theme.static-max-age=-1
# Metrics and healthcheck are disabled by default
metrics.enabled=false
+# Themes
+spi.theme.folder.dir=${kc.home.dir:}/themes
+
# Logging configuration. INFO is the default level for most of the categories
#quarkus.log.level = DEBUG
quarkus.log.category."org.jboss.resteasy.resteasy_jaxrs.i18n".level=WARN