Files
instance-setup-stuff/file_transfers copy.ps1

151 lines
4.9 KiB
PowerShell

$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"