gitea-install/reinstall.ps1

56 lines
1.5 KiB
PowerShell

#Requires -Version 5.1
param(
[switch]$Purge
)
$script:ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
Set-Location $script:ScriptDir
. "$script:ScriptDir\lib\common.ps1"
$ErrorActionPreference = "Stop"
try {
Test-Dependencies
if ($Purge) {
Write-Warn "Данные будут удалены. Gitea будет установлена заново."
Confirm-OrExit "Продолжить?"
docker compose down -v 2>$null
if ($LASTEXITCODE -ne 0) { docker compose down }
foreach ($vol in Get-VolumeNames) {
docker volume rm $vol 2>$null
}
}
else {
Write-Warn "Контейнеры будут пересозданы. Данные сохранятся."
Confirm-OrExit "Продолжить?"
docker compose down
}
Import-EnvFile
Write-Info "Загрузка образов..."
docker compose pull
Write-Info "Запуск Gitea..."
docker compose up -d --force-recreate
Start-Sleep -Seconds 5
docker compose ps
$domain = if ($env:GITEA_DOMAIN) { $env:GITEA_DOMAIN } else { "localhost" }
$httpPort = if ($env:GITEA_HTTP_PORT) { $env:GITEA_HTTP_PORT } else { "3000" }
$sshPort = if ($env:GITEA_SSH_PORT) { $env:GITEA_SSH_PORT } else { "2222" }
Write-Info "Переустановка завершена."
Write-Info " Web: http://${domain}:${httpPort}"
Write-Info " SSH: ssh://git@${domain}:${sshPort}"
}
catch {
Write-Err $_.Exception.Message
exit 1
}