From 2cb0f752d90cd58732fb4608eb96ced5f02521be Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Wed, 19 Feb 2025 18:54:13 +0100 Subject: [PATCH] Add a script for installing gotify --- .../services/gotify/docker-compose.base.yml | 2 ++ .../gotify/docker-compose.overrides.yml | 4 ++-- .../Software/docker/services/gotify/main.fish | 19 ++++++++++++++----- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/scripts/Common/Software/docker/services/gotify/docker-compose.base.yml b/scripts/Common/Software/docker/services/gotify/docker-compose.base.yml index 161d6c61..694b2f5b 100644 --- a/scripts/Common/Software/docker/services/gotify/docker-compose.base.yml +++ b/scripts/Common/Software/docker/services/gotify/docker-compose.base.yml @@ -2,6 +2,8 @@ services: gotify: image: gotify/server restart: unless-stopped + volumes: + - ./data/gotify:/app/data environment: GOTIFY_DATABASE_DIALECT: mysql db: diff --git a/scripts/Common/Software/docker/services/gotify/docker-compose.overrides.yml b/scripts/Common/Software/docker/services/gotify/docker-compose.overrides.yml index 3dcf4ed7..5c4758a6 100644 --- a/scripts/Common/Software/docker/services/gotify/docker-compose.overrides.yml +++ b/scripts/Common/Software/docker/services/gotify/docker-compose.overrides.yml @@ -1,8 +1,8 @@ services: - vaultwarden: + gotify: environment: GOTIFY_DEFAULTUSER_PASS: null - DATABASE_URL: gotify:pw@tcp(db:3306)/Gotify?charset=utf8&parseTime=true&loc=Local + GOTIFY_DATABASE_CONNECTION: gotify:pw@tcp(db:3306)/Gotify?charset=utf8&parseTime=true&loc=Local ports: - 127.0.0.1:1337:80 db: diff --git a/scripts/Common/Software/docker/services/gotify/main.fish b/scripts/Common/Software/docker/services/gotify/main.fish index a78b9ade..e16870d9 100644 --- a/scripts/Common/Software/docker/services/gotify/main.fish +++ b/scripts/Common/Software/docker/services/gotify/main.fish @@ -4,17 +4,18 @@ begin set -l source "$dir/docker-compose.overrides.yml" source "$dir/../service.fish" - function installSW -V dir -V domain -V source + function installSW -V dir -V source set -l file "$dir/docker-compose.base.yml" set -l pw (nix-shell -p keepassxc --run "keepassxc-cli generate --length 32") set -l dbPw (nix-shell -p keepassxc --run "keepassxc-cli generate --length 32") set -l envKey ".services.gotify.environment" set -l dbKey "$envKey.GOTIFY_DATABASE_CONNECTION" - set -l dbUrl (yq "$dbKey" "$source" | sed "s/^\(.*:).*@/\1$dbPw/") + set -l db (yq "$dbKey" "$source" | sed "s/^\(.*:\).*\(@.*\)\$/\1$dbPw\2/") + echo "db: $db" initializeServiceInstallation $argv sudo cp "$dir/docker-compose.base.yml" (getServiceRoot $argv) - URL=$dbUrl yq "$dbKey = env(URL)" | + DB=$db yq "$dbKey = env(DB)" "$source" | PW=$pw yq "$envKey.GOTIFY_DEFAULTUSER_PASS = env(PW)" | PW=$dbPw yq ".services.db.environment.MARIADB_PASSWORD = env(PW)" | sudo tee (getServiceOverrides $argv) >/dev/null @@ -26,8 +27,8 @@ begin configureDockerService $argv end - function getServiceServers -V domain - printf "%s\0" "$domain" "" + function getServiceServers + printf "%s\0" "push" "" end function getServiceLocations @@ -35,5 +36,13 @@ begin printf "%s\0" "$_flag_name" / end + function getExtraLocationSettings + printf "%s\n" \ + '# Websocket' \ + "proxy_http_version 1.1;" \ + 'proxy_set_header Upgrade $http_upgrade;' \ + 'proxy_set_header Connection "upgrade";' + end + runInstaller --force $argv end