Skip to content

Commit 04511c2

Browse files
committed
fix: adding a server guide on installation location / layout
closes: #32110 Signed-off-by: Steve Hawkins <[email protected]>
1 parent cb3954f commit 04511c2

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<#import "/templates/guide.adoc" as tmpl>
2+
<#import "/templates/links.adoc" as links>
3+
4+
<@tmpl.guide
5+
title="Directory Structure"
6+
summary="Understand the purpose of the directories under the installation root"
7+
includedOptions="">
8+
9+
== Installation Locations
10+
11+
`/opt/keycloak` is the root install location for the server in all containerized usage shown for {project_name} including <@links.server id="containers"/> and the Getting Started Guides for Docker, Podman, Kubernetes, and OpenShift - see link:{gettingstarted_link_latest}[{gettingstarted_name_short}].
12+
13+
If you are installing from a zip file then by default there will be an install root directory of `{archivebasename}-{version}`, which can be created anywhere you choose on your filesystem.
14+
15+
NOTE: in the rest of documentation relative paths are understood to be relative to the install root - e.g. `conf/file.xml` means `<install root>/conf/file.xml`
16+
17+
== Directory Structure
18+
19+
Under the {project_name} install root there exists a number of folders:
20+
21+
* *bin/* - contains all the shell scripts for the server, including `kc.sh|bat`, `kcadm.sh|bat`, and `kcreg.sh|bat`
22+
** *client/* - used internally
23+
* *conf/* - directory used for configuration files, including `keycloak.conf` - see <@links.server id="configuration"/>. Many options for specifying a configuration file expect paths relative to this directory.
24+
** *truststores/* - default path used by the `truststore-paths` option - see <@links.server id="keycloak-truststore"/>
25+
* *data/* - directory for the server to store runtime information, such as transaction logs
26+
** *logs/* - default directory for file logging - see <@links.server id="logging"/>
27+
* *lib/* - used internally
28+
* *providers/* - directory for user provided dependencies - see <@links.server id="configuration-provider"/> for extending the server and <@links.server id="db"/> for an example of add a JDBC driver.
29+
* *themes/* - directory for customizations to the Admin Console - see https://www.keycloak.org/docs/latest/server_development/#_themes[Developing Themes]
30+
31+
</@tmpl.guide>

docs/guides/server/pinned-guides

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
directory-structure
12
configuration
23
configuration-production
34
bootstrap-admin-recovery

0 commit comments

Comments
 (0)