Updated Setup (markdown)
parent
375c08c0bd
commit
cd660b4346
104
Setup.md
104
Setup.md
@ -8,6 +8,8 @@
|
||||
<li><a href="#nginx-variable">Nginx Variable</a></li>
|
||||
<li><a href="#apache">Apache</a></li>
|
||||
<li><a href="#caddy">Caddy</a></li>
|
||||
<li><a href="#caddy-v2">Caddy V2</a></li>
|
||||
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#stylus-method">Stylus Method</a></li>
|
||||
@ -208,6 +210,108 @@ $.getScript('https://archmonger.github.io/Blackberry-Themes/Extras/theme_install
|
||||
});
|
||||
```
|
||||
|
||||
### Caddy v2
|
||||
|
||||
We rely on sjtug's [caddy2-filter](https://github.com/sjtug/caddy2-filter) as Caddy v2 does not have filtering as of now.
|
||||
|
||||
There are two ways to [extend Caddy](https://caddyserver.com/docs/extending-caddy):
|
||||
|
||||
- [Docker](https://hub.docker.com/_/caddy)
|
||||
- [Bare metal](https://caddyserver.com/docs/download)
|
||||
|
||||
### Docker
|
||||
|
||||
You will have to create your own Caddy image that includes the `caddy2-filter`.
|
||||
|
||||
`Dockerfile`:
|
||||
|
||||
```
|
||||
FROM caddy:2.0.0-builder AS builder
|
||||
|
||||
RUN caddy-builder \
|
||||
github.com/sjtug/caddy2-filter
|
||||
|
||||
FROM caddy:2.0.0
|
||||
|
||||
COPY --from=builder /usr/bin/caddy /usr/bin/caddy
|
||||
```
|
||||
|
||||
Then run `docker build -t caddy:latest .` to build the image. After we update the `Caddyfile` below, we can (re)start the container by running `docker run -d -p 80:80 -p 443:443 caddy:latest` as an example.
|
||||
|
||||
### Bare metal
|
||||
|
||||
Make sure you install [xcaddy](https://github.com/caddyserver/xcaddy) to add modules to Caddy.
|
||||
|
||||
Then install the `caddy2-filter` module by using:
|
||||
|
||||
```sh
|
||||
xcaddy build \
|
||||
--with github.com/sjtug/caddy2-filter
|
||||
```
|
||||
|
||||
You can confirm the module is available by using `xcaddy list-modules`.
|
||||
|
||||
### Updating the `Caddyfile`
|
||||
|
||||
Almost like Caddy v1, here is an example `filter` we need to include in the all the services we want themed:
|
||||
|
||||
```
|
||||
filter {
|
||||
content_type text/html.*
|
||||
search_pattern </head>
|
||||
replacement "<link rel='stylesheet' type='text/css' href='https://gilbn.github.io/theme.park/CSS/themes/<APP_NAME>/<THEME>.css'></head>"
|
||||
}
|
||||
```
|
||||
|
||||
With `caddy2-filter`, we need to also add this option in the global option block:
|
||||
|
||||
```
|
||||
{
|
||||
order filter after encode
|
||||
}
|
||||
```
|
||||
|
||||
And if you're using a reverse proxy, you also need to include `header_up -Accept-Encoding` in the `reverse_proxy` directive body.
|
||||
|
||||
<details>
|
||||
<summary>Full example of a Caddyfile</summary>
|
||||
|
||||
```
|
||||
{
|
||||
order filter after encode
|
||||
}
|
||||
|
||||
radarr.example.com {
|
||||
encode zstd gzip
|
||||
reverse_proxy 127.0.0.1:7878 {
|
||||
header_up -Accept-Encoding
|
||||
}
|
||||
filter {
|
||||
content_type text/html.*
|
||||
search_pattern </head>
|
||||
replacement "<link rel='stylesheet' type='text/css' href='https://gilbn.github.io/theme.park/CSS/themes/radarr/space-gray.css'></head>"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
> :point_right: If your service requires you to ignore a header, use the `header_down` subdirective in the `reverse_proxy` directive. For example, qBittorrent usage would look like this:
|
||||
|
||||
```
|
||||
reverse_proxy 127.0.0.1:8080 {
|
||||
header_up -Accept-Encoding
|
||||
header_down -x-webkit-csp
|
||||
header_down -content-security-policy
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Feel free to make any adjustments! Thanks everyone for the help!
|
||||
|
||||
Also for reference: [Caddy v2 structure](https://caddyserver.com/docs/caddyfile/concepts#structure)
|
||||
|
||||
# Qbittorrent
|
||||
|
||||
As Qbittorrent will block the theme with its content security policy you need to change or remove the CSP header.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user