73 lines
2.2 KiB
PowerShell
73 lines
2.2 KiB
PowerShell
|
|
# deploy_to_nas.ps1 — Kopieer project naar Synology NAS en start Docker
|
||
|
|
# Gebruik: powershell -ExecutionPolicy Bypass -File deploy_to_nas.ps1
|
||
|
|
|
||
|
|
param(
|
||
|
|
[string]$NasHost = "192.168.1.211",
|
||
|
|
[string]$NasUser = "mo",
|
||
|
|
[string]$NasPath = "/volume1/docker/ha-voice-control"
|
||
|
|
)
|
||
|
|
|
||
|
|
$ErrorActionPreference = "Stop"
|
||
|
|
$localDir = Split-Path -Parent $MyInvocation.MyCommand.Path
|
||
|
|
|
||
|
|
Write-Host "=== Deploy HA Voice Control naar Synology NAS ===" -ForegroundColor Cyan
|
||
|
|
Write-Host ""
|
||
|
|
|
||
|
|
# Bestanden die mee moeten naar de NAS
|
||
|
|
$files = @(
|
||
|
|
"Dockerfile",
|
||
|
|
"docker-compose.yml",
|
||
|
|
".dockerignore",
|
||
|
|
"config.py",
|
||
|
|
"requirements.txt",
|
||
|
|
"requirements-neo4j.txt"
|
||
|
|
)
|
||
|
|
|
||
|
|
$dirs = @(
|
||
|
|
"src",
|
||
|
|
"static"
|
||
|
|
)
|
||
|
|
|
||
|
|
# 1. Maak target directory op NAS
|
||
|
|
Write-Host "[1/4] Directory aanmaken op NAS..." -ForegroundColor Yellow
|
||
|
|
ssh "${NasUser}@${NasHost}" "mkdir -p ${NasPath}"
|
||
|
|
|
||
|
|
# 2. Kopieer losse bestanden
|
||
|
|
Write-Host "[2/4] Bestanden kopieren..." -ForegroundColor Yellow
|
||
|
|
foreach ($file in $files) {
|
||
|
|
$src = Join-Path $localDir $file
|
||
|
|
if (Test-Path $src) {
|
||
|
|
scp $src "${NasUser}@${NasHost}:${NasPath}/"
|
||
|
|
Write-Host " OK: $file" -ForegroundColor Green
|
||
|
|
} else {
|
||
|
|
Write-Host " SKIP: $file (niet gevonden)" -ForegroundColor Gray
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# 3. Kopieer mappen
|
||
|
|
Write-Host "[3/4] Mappen kopieren..." -ForegroundColor Yellow
|
||
|
|
foreach ($dir in $dirs) {
|
||
|
|
$src = Join-Path $localDir $dir
|
||
|
|
if (Test-Path $src) {
|
||
|
|
scp -r $src "${NasUser}@${NasHost}:${NasPath}/"
|
||
|
|
Write-Host " OK: $dir/" -ForegroundColor Green
|
||
|
|
} else {
|
||
|
|
Write-Host " SKIP: $dir/ (niet gevonden)" -ForegroundColor Gray
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# 4. Bouwen en starten
|
||
|
|
Write-Host "[4/4] Docker bouwen en starten..." -ForegroundColor Yellow
|
||
|
|
Write-Host ""
|
||
|
|
Write-Host "Nu op de NAS (ssh):"
|
||
|
|
Write-Host " cd ${NasPath}"
|
||
|
|
Write-Host " docker-compose up -d --build"
|
||
|
|
Write-Host ""
|
||
|
|
Write-Host "Dashboard wordt bereikbaar op: http://192.168.1.211:8765/dashboard" -ForegroundColor Cyan
|
||
|
|
Write-Host ""
|
||
|
|
|
||
|
|
$sshCmd = Read-Host "Wil je direct verbinden met SSH? (y/n)"
|
||
|
|
if ($sshCmd -eq "y") {
|
||
|
|
ssh -t "${NasUser}@${NasHost}" "cd ${NasPath} && docker-compose up -d --build && echo '' && echo 'Dashboard: http://192.168.1.211:8765/dashboard' && docker-compose logs --tail=10"
|
||
|
|
}
|