docker-apps/traefik/cp2nas.ps1
2025-04-03 22:57:52 +02:00

57 lines
1.7 KiB
PowerShell

############### MAIN ###############
$Main =
{
[CmdletBinding()]
Param(
[Parameter(Mandatory=$true)]
[ValidateNotNullOrEmpty()]
[string] $destHost,
[Parameter(Mandatory=$false)]
[string[]] $apps
)
If($PSBoundParameters.ContainsKey("apps")) {
foreach ($appname in $apps)
{
copyfolder $destHost "$appname\stacks" $appname
}
}
else {
$appname="$pwd".Split("\\")[-1]
copyfolder $destHost "stacks" $appname
}
}
###################################
Function copyfolder
{
[CmdletBinding()]
Param(
[Parameter(Mandatory=$true)]
[ValidateNotNullOrEmpty()]
[string] $destHost,
[Parameter(Mandatory=$true)]
[ValidateNotNullOrEmpty()]
[string] $srcdir,
[Parameter(Mandatory=$true)]
[ValidateNotNullOrEmpty()]
[string] $appname
)
if (-Not(Test-Path -Path $srcdir)) {
Write-Host "Source path doesn't exist: ""$PSScriptRoot\$srcdir\*.*"". No files copied!" -ForegroundColor Red
Write-Host "Usage: in app folder : ./cp2nas DEST|IP"
Write-Host " in app parent folder: ./cp2nas DEST|IP app1, app2, app3, ..."
return
}
$destStacks="/mnt/SSD1/docker/stacks/"
$destDir=$destStacks+$appname+"/"
Write-Host "pscp -P 22 -r ""$srcdir\*.*"" root@${destHost}:""${destDir}""" -ForegroundColor Green
Write-Host "Copying to ${destHost}:""${destStacks}" -NoNewline
Write-Host "${appname}/" -ForegroundColor DarkYellow -NoNewline
Write-Host """:"
pscp -P 22 -r "$srcdir\*.*" root@${destHost}:""${destDir}""
}
###################################
& $Main @Args