# Theme Park
Theme park is a middleware to inject [supported stylesheets (css)](https://docs.theme-park.dev/theme-options)
into [supported apps](https://docs.theme-park.dev/themes).
So let's see how to do that.
Note that this will only work on apps you have enabled `ingress`, and only when accessing them via the URL.
Will NOT work if you access them via `IP:PORT`.
## Creating the middleware on traefik
Edit your existing traefik install (or install fresh if you don't have it installed)
- Scroll down to `theme.park`
- Click Add
- Name: `guactheme` (Any name you want, remember it, you will need it later)
- App Name: `guacamole` (Replace with the name of the app you want to theme)
- Theme Name: `plex` (Replace wit the theme you want to apply)
- Base URL: (Leave the default, unless you plan to use a self hosted theme provider)
- Click Save
![traefik-theme-fields](img/traefik-theme-fields.png)
> Keep in mind that if you decide to use a self hosted theme provider, it will need to have enabled ingress.
> Also use the external URL, not the internal, as the client will need to access that theme provider to fetch the
> stylesheets.
## Applying the theme to the app
Edit your existing _App_, in this example we will use `guacamole-client`.
- Scroll down to `Traefik MIddlewares` (Remember, you need to have `ingress` enabled)
- Click Add
- Name: `guactheme` (Replace with the name you gave to your middleware on the previous step)
- Click Save
![traefik-theme-app](img/traefik-theme-app.png)
You are ready!
| Before | After |
| :---------------------------------------------------: | :-------------------------------------------------: |
| ![traefik-theme-before](img/traefik-theme-before.png) | ![traefik-theme-after](img/traefik-theme-after.png) |