mirror of
https://github.com/GrapheneOS/matrix.grapheneos.org.git
synced 2024-10-01 04:45:34 -04:00
enable brotli/gzip via precompression for Element
This commit is contained in:
parent
a653d8bd2f
commit
740b720285
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
nginx.conf.tmp
|
||||||
|
static_tmp
|
33
deploy_static
Executable file
33
deploy_static
Executable file
@ -0,0 +1,33 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -o errexit -o nounset -o pipefail
|
||||||
|
|
||||||
|
./process_static
|
||||||
|
|
||||||
|
remote=root@element.grapheneos.org
|
||||||
|
active=$(ssh $remote readlink /srv/element.grapheneos.org)
|
||||||
|
|
||||||
|
if [[ $active = /srv/element.grapheneos.org_a ]]; then
|
||||||
|
target=/srv/element.grapheneos.org_b
|
||||||
|
else
|
||||||
|
target=/srv/element.grapheneos.org_a
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo active is $active
|
||||||
|
echo target is $target
|
||||||
|
echo
|
||||||
|
|
||||||
|
ssh $remote rm -rf $target
|
||||||
|
ssh $remote cp -a $active $target
|
||||||
|
rsync -rpcv --chmod=D755,F644 --delete static_tmp/ $remote:$target
|
||||||
|
ssh $remote sync -f $target
|
||||||
|
ssh $remote ln -snf $target /srv/element.grapheneos.org
|
||||||
|
ssh $remote sync .
|
||||||
|
|
||||||
|
sed -i "s|/srv/element.grapheneos.org|$target|" nginx.conf.tmp
|
||||||
|
rsync -rpcv --chmod=D755,F644 --delete nginx.conf.tmp $remote:/etc/nginx/nginx.conf
|
||||||
|
ssh $remote sync -f /etc/nginx/nginx.conf
|
||||||
|
ssh $remote nginx -s reload
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo active is now $target
|
@ -138,7 +138,7 @@ http {
|
|||||||
listen [::]:443 ssl http2;
|
listen [::]:443 ssl http2;
|
||||||
server_name element.grapheneos.org;
|
server_name element.grapheneos.org;
|
||||||
|
|
||||||
root /usr/share/webapps/element;
|
root /srv/element.grapheneos.org;
|
||||||
|
|
||||||
include snippets/security-headers.conf;
|
include snippets/security-headers.conf;
|
||||||
add_header Cross-Origin-Resource-Policy "same-origin" always;
|
add_header Cross-Origin-Resource-Policy "same-origin" always;
|
||||||
@ -146,6 +146,11 @@ http {
|
|||||||
# obsolete and replaced with Content-Security-Policy frame-ancestors 'self'
|
# obsolete and replaced with Content-Security-Policy frame-ancestors 'self'
|
||||||
add_header X-Frame-Options "SAMEORIGIN" always;
|
add_header X-Frame-Options "SAMEORIGIN" always;
|
||||||
add_header X-Robots-Tag "none";
|
add_header X-Robots-Tag "none";
|
||||||
|
|
||||||
|
location ~ '\.(css|html|ico|js|json|map|pdf|svg|txt|wasm|xml)$' {
|
||||||
|
gzip_static on;
|
||||||
|
brotli_static on;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
server {
|
server {
|
||||||
|
16
process_static
Executable file
16
process_static
Executable file
@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -o errexit -o nounset -o pipefail
|
||||||
|
shopt -s dotglob extglob globstar
|
||||||
|
|
||||||
|
export PATH="$PWD/node_modules/.bin:$PATH"
|
||||||
|
|
||||||
|
rm -rf static_tmp
|
||||||
|
cp -a /usr/share/webapps/element static_tmp
|
||||||
|
cp --remove-destination webapps/element/config.json static_tmp/config.json
|
||||||
|
|
||||||
|
cp nginx/nginx.conf nginx.conf.tmp
|
||||||
|
|
||||||
|
find static_tmp -regex '.+\.\(css\|html\|ico\|js\|json\|map\|pdf\|svg\|txt\|webmanifest\|xml\|wasm\)' \
|
||||||
|
-exec zopfli {} \; -exec touch -r {} {}.gz \; \
|
||||||
|
-exec brotli -k {} \;
|
Loading…
Reference in New Issue
Block a user