$dirname = $PSScriptRoot $remote_home_folder = "your_default_user@1.2.3.4" $key = "your.private.key" function TransferFile { param ( [Parameter(Mandatory)] [string]$FileName, [ValidateNotNullOrEmpty()] [string]$DestPath = "" ) scp -i "${dirname}\${key}" "${dirname}\${FileName}" "${remote_home_folder}:${DestPath}" } # backups TransferFile "actual_server-backup" TransferFile "authelia_server-backup" TransferFile "foundry_server-backup" TransferFile "ghost_server-credentials.exp" TransferFile "ghost_server-backup" TransferFile "homepage_server-backup" TransferFile "mealie_server-backup" TransferFile "memos_server-backup" TransferFile "minecraft_server-backup" # TransferFile "stirling_server-backup" TransferFile "syncthing_server-backup" TransferFile "wg_server-backup" # updates TransferFile "actual_server-update" TransferFile "authelia_server-update" TransferFile "foundry_server-update" # TransferFile "ghost_server-update" TransferFile "homepage_server-update" TransferFile "mealie_server-update" TransferFile "memos_server-update" # TransferFile "minecraft_server-update" TransferFile "stirling_server-update" # TransferFile "syncthing_server-update" TransferFile "wg_server-update" # cronjobs TransferFile "ubuntu-cronjob" TransferFile "actual_server-cronjob" TransferFile "authelia_server-cronjob" TransferFile "foundry_server-cronjob" TransferFile "ghost_server-cronjob" TransferFile "homepage_server-cronjob" TransferFile "mealie_server-cronjob" TransferFile "memos_server-cronjob" TransferFile "minecraft_server-cronjob" TransferFile "syncthing_server-cronjob" TransferFile "wg_server-cronjob" # env vars TransferFile "instance-env" TransferFile "actual_server-env" TransferFile "authelia_server-env" TransferFile "foundry_server-env" TransferFile "ghost_server-env" TransferFile "homepage_server-env" TransferFile "mealie_server-env" TransferFile "memos_server-env" TransferFile "minecraft_server-env" TransferFile "pwpush_server-env" # TransferFile "shlink_server-env" TransferFile "stirling_server-env" TransferFile "syncthing_server-env" TransferFile "wg_server-env" # config files ## misc. TransferFile "rclone.conf" ".config/rclone" TransferFile "authelia_server-configuration.yaml" TransferFile "ghost_server-config.production.json" TransferFile "pwpush_server-settings.yaml" ### systemd TransferFile "minecraft_server-start.service" TransferFile "minecraft_server-start.socket" ## nginx configs ### authelia nginx snippets TransferFile "authelia\nginx_snippets\authelia-authrequest.conf" TransferFile "authelia\nginx_snippets\authelia-location.conf" TransferFile "authelia\nginx_snippets\proxy.conf" TransferFile "authelia\nginx_snippets\websocket.conf" ### sites TransferFile "auth.knravish.me.conf" TransferFile "budget.knravish.me.conf" TransferFile "dash.knravish.me.conf" TransferFile "lnk.knravish.me.conf" TransferFile "notes.knravish.me.conf" TransferFile "paste.knravish.me.conf" TransferFile "pdf.knravish.me.conf" TransferFile "recipes.knravish.me.conf" TransferFile "syncthing.knravish.me.conf" TransferFile "vpn.knravish.me.conf" TransferFile "vtt.knravish.me.conf" # docker-compose files TransferFile "actual_server-compose_template.yaml" TransferFile "authelia_server-compose_template.yaml" TransferFile "homepage_server-compose_template.yaml" TransferFile "mealie_server-compose_template.yaml" TransferFile "memos_server-compose_template.yaml" TransferFile "pwpush_server-compose_template.yaml" TransferFile "shlink_server-compose.yaml" # TransferFile "shlink_server-compose_template.yaml" TransferFile "stirling_server-compose_template.yaml" TransferFile "wg_server-compose_template.yaml" # setup scripts TransferFile "instance-setup" # run as ubuntu TransferFile "actual_server-setup" TransferFile "authelia_server-setup" TransferFile "foundry_server-setup" TransferFile "ghost_server-setup" TransferFile "homepage_server-setup" TransferFile "mealie_server-setup" TransferFile "memos_server-setup" TransferFile "minecraft_server-setup" TransferFile "pwpush_server-setup" TransferFile "shlink_server-setup" TransferFile "stirling_server-setup" TransferFile "syncthing_server-setup" TransferFile "wg_server-setup" # teardown scripts - run as ubuntu TransferFile "actual_server-teardown" TransferFile "authelia_server-teardown" TransferFile "foundry_server-teardown" # TransferFile "ghost_server-teardown" TransferFile "homepage_server-teardown" TransferFile "mealie_server-teardown" TransferFile "memos_server-teardown" # TransferFile "minecraft_server-teardown" TransferFile "pwpush_server-teardown" TransferFile "shlink_server-teardown" TransferFile "stirling_server-teardown" # TransferFile "syncthing_server-teardown" TransferFile "wg_server-teardown" # secrets TransferFile "authelia\secrets\enc_key" "authelia_secrets" TransferFile "authelia\secrets\jwt_sec" "authelia_secrets" TransferFile "authelia\secrets\ses_sec" "authelia_secrets" TransferFile "authelia\secrets\smtp_pass" "authelia_secrets" # miscellaneous TransferFile "ubuntu_auto_apt_upgrade"