Generate nginx
config using printf
This commit is contained in:
parent
a481db2c50
commit
9449aaddb3
5 changed files with 28 additions and 37 deletions
|
@ -1,12 +0,0 @@
|
|||
server {
|
||||
listen 80;
|
||||
server_name anki.nuth.ch;
|
||||
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:1337;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
}
|
||||
}
|
|
@ -4,6 +4,10 @@ begin
|
|||
set -l source "$dir/docker-compose.secrets.yml"
|
||||
source "$dir/../service.fish"
|
||||
|
||||
function getServiceSubdomain
|
||||
echo "anki"
|
||||
end
|
||||
|
||||
function installSW -V dir -V source
|
||||
set -l pw (nix-shell -p keepassxc --run "keepassxc-cli generate --length 32")
|
||||
set -l userKey ".services.anki.environment.SYNC_USER1"
|
||||
|
@ -21,10 +25,6 @@ begin
|
|||
configureDockerService $argv
|
||||
end
|
||||
|
||||
function getServiceNginxConfigSource -V dir
|
||||
echo "$dir/anki.conf"
|
||||
end
|
||||
|
||||
function getServiceConfigs
|
||||
printf "%s\0" "anki" "/"
|
||||
end
|
||||
|
|
|
@ -12,6 +12,14 @@ begin
|
|||
echo "$_flag_name"
|
||||
end
|
||||
|
||||
function getServiceDomain
|
||||
echo "$(getServiceSubdomain $argv).nuth.ch"
|
||||
end
|
||||
|
||||
function getServiceSubdomain
|
||||
getServiceName $argv
|
||||
end
|
||||
|
||||
function getServiceRoot -V root
|
||||
echo "$root/$(getServiceName $argv)"
|
||||
end
|
||||
|
@ -36,7 +44,6 @@ begin
|
|||
|
||||
function installDockerService -V dir -V nginxRoot -V portPattern
|
||||
set -l services (getServiceConfigs $argv | string split0)
|
||||
sudo cp (getServiceNginxConfigSource $argv) (__getServiceNginxConfig $argv)
|
||||
|
||||
for i in (seq 1 2 (count $services))
|
||||
set -l file (mktemp)
|
||||
|
@ -64,10 +71,18 @@ begin
|
|||
set -l port (yq --raw-output "$portKey" "$config" | sed "s/$portPattern/\2/")
|
||||
set -l nginxConfig (__getServiceNginxConfig $argv)
|
||||
|
||||
cat "$nginxConfig" | sed \
|
||||
-e "\;location $location {;,/}/{" \
|
||||
-e "s/\(proxy_pass \)\(.\+:\)\?[[:digit:]]\+\(;\)/\1\2$port\3/;" \
|
||||
-e "}" | sudo tee "$nginxConfig" >/dev/null
|
||||
printf "%s\n" \
|
||||
"server {" \
|
||||
"listen 80;" \
|
||||
"server_name $(getServiceDomain $argv);" \
|
||||
"location $location {" \
|
||||
"proxy_pass http://127.0.0.1:$port;" \
|
||||
'proxy_set_header Host $host;' \
|
||||
'proxy_set_header X-Real-IP $remote_addr;' \
|
||||
'proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;' \
|
||||
'proxy_set_header X-Forwarded-Proto $scheme;' \
|
||||
"}" \
|
||||
"}" | nix-shell -p crossplane --run "crossplane format /dev/stdin" | sudo tee "$nginxConfig" >/dev/null
|
||||
end
|
||||
|
||||
sudo systemctl restart nginx
|
||||
|
|
|
@ -4,6 +4,10 @@ begin
|
|||
set -l source "$dir/docker-compose.secrets.yml"
|
||||
source "$dir/../service.fish"
|
||||
|
||||
function getServiceSubdomain
|
||||
echo "passwords"
|
||||
end
|
||||
|
||||
function installSW -V dir -V source
|
||||
set -l pw (nix-shell -p keepassxc --run "keepassxc-cli generate --length 32")
|
||||
set -l dbKey ".services.vaultwarden.environment.DATABASE_URL"
|
||||
|
@ -22,10 +26,6 @@ begin
|
|||
configureDockerService $argv
|
||||
end
|
||||
|
||||
function getServiceNginxConfigSource -V dir
|
||||
echo "$dir/vaultwarden.conf"
|
||||
end
|
||||
|
||||
function getServiceConfigs
|
||||
argparse -i "name=" -- $argv
|
||||
printf "%s\0" "$_flag_name" "/"
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
server {
|
||||
listen 80;
|
||||
server_name passwords.nuth.ch;
|
||||
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:1337;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue