#!/bin/env fish begin set -l dir (status dirname) set -l source "$dir/docker-compose.secrets.yml" source "$dir/../service.fish" 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" set -l dbUrl (yq --raw-output "$dbKey" "$source" | sed "s/^\(.*:\/\/.*:\).*\(@.*\/.*\)\$/\1$pw\2/") sudo cp "$dir/docker-compose.yml" (getServiceRoot $argv) URL=$dbUrl yq "$dbKey = env.URL" "$source" | \ PW=$pw yq ".services.db.environment.MARIADB_PASSWORD = env.PW" | \ sudo tee (__getServiceSecretsConfig $argv) >/dev/null installDockerService $argv end function configureSW -V dir configureDockerService $argv end function getServiceNginxConfigSource -V dir echo "$dir/vaultwarden.conf" end function getServiceConfigs argparse -i "name=" -- $argv printf "%s\0" "$_flag_name" "/" end function getBackupArgs printf "%s\n" --hidden --no-ignore . --exclude "docker-compose.yml" (getServiceRoot $argv) end runInstaller --force $argv end