72 lines
2.4 KiB
PowerShell
72 lines
2.4 KiB
PowerShell
#!/usr/bin/env pwsh
|
|
Set-StrictMode -Version Latest
|
|
$ErrorActionPreference = 'Stop'
|
|
|
|
if (-not (Test-Path -Path ".\evibes" -PathType Container))
|
|
{
|
|
Write-Host "❌ Please run this script from the project's root (where the 'evibes' directory lives)." -ForegroundColor Red
|
|
exit 1
|
|
}
|
|
|
|
$purple = "`e[38;2;121;101;209m"
|
|
$reset = "`e[0m"
|
|
|
|
$artPath = Join-Path (Split-Path -Parent $MyInvocation.MyCommand.Definition) '..\ASCII_ART_EVIBES'
|
|
if (-not (Test-Path $artPath))
|
|
{
|
|
Write-Host "❌ Could not find ASCII art at $artPath" -ForegroundColor Red
|
|
exit 1
|
|
}
|
|
|
|
$art = Get-Content -Raw -Path $artPath
|
|
$art -split "`r?`n" | ForEach-Object {
|
|
Write-Host "$purple$_$reset"
|
|
}
|
|
|
|
Write-Host "`n by WISELESS TEAM`n" -ForegroundColor Gray
|
|
|
|
Write-Host "Verifying all images are present…" -ForegroundColor Green
|
|
|
|
$config = docker compose config --format json | ConvertFrom-Json
|
|
|
|
foreach ($prop in $config.services.PSObject.Properties)
|
|
{
|
|
$svc = $prop.Value
|
|
|
|
if (-not ($svc.PSObject.Properties.Name -contains 'image'))
|
|
{
|
|
continue
|
|
}
|
|
|
|
$image = $svc.PSObject.Properties['image'].Value
|
|
|
|
if (-not (docker image inspect $image))
|
|
{
|
|
Write-Error "Required images not found. Please run install.ps1 first."
|
|
exit 1
|
|
}
|
|
|
|
Write-Host " • Found image: $image"
|
|
}
|
|
|
|
Write-Host "Spinning services up..." -ForegroundColor Magenta
|
|
docker compose up --no-build --detach --wait
|
|
Write-Host "Services are up and healthy!" -ForegroundColor Green
|
|
|
|
Write-Host "Applying migrations..." -ForegroundColor Magenta
|
|
docker compose exec app poetry run python manage.py migrate --no-input
|
|
Write-Host "Migrations applied successfully!" -ForegroundColor Green
|
|
|
|
Write-Host "Collecting static files..." -ForegroundColor Magenta
|
|
docker compose exec app poetry run python manage.py collectstatic --no-input
|
|
Write-Host "Static files collected successfully!" -ForegroundColor Green
|
|
|
|
Write-Host "Setting default caches..." -ForegroundColor Magenta
|
|
docker compose exec app poetry run python manage.py set_default_caches
|
|
Write-Host "Default caches set successfully!" -ForegroundColor Green
|
|
|
|
Write-Host "Cleaning unused Docker data..." -ForegroundColor Magenta
|
|
docker system prune -f
|
|
Write-Host "Unused Docker data cleaned successfully!" -ForegroundColor Green
|
|
|
|
Write-Host "All done! eVibes is up and running!" -ForegroundColor Cyan
|