ThreatIntel / scripts /start_local.ps1
Malek98's picture
Deploy FastAPI backend via automated upload
bca5172 verified
Raw
History Blame Contribute Delete
2.42 kB
<#
Helper for Windows PowerShell users: prompts for secrets and starts Docker Compose using a local env file.
Run in PowerShell: `. emplates\start_local.ps1` or `pwsh ./scripts/start_local.ps1`
#>
param()
$root = Split-Path -Parent (Split-Path -Parent $MyInvocation.MyCommand.Path)
$envFile = Join-Path $root '.env.local'
Write-Host "This helper creates .env.local (gitignored) and starts Docker Compose." -ForegroundColor Cyan
$labelMode = Read-Host "Label mode (hf/openai/mock) [hf]"
if ([string]::IsNullOrWhiteSpace($labelMode)) { $labelMode = 'hf' }
$labelModel = Read-Host "Label model (for hf, e.g. google/flan-t5-large) [google/flan-t5-large]"
if ([string]::IsNullOrWhiteSpace($labelModel)) { $labelModel = 'google/flan-t5-large' }
$hfToken = ''
if ($labelMode -eq 'hf') {
$hfToken = Read-Host -AsSecureString "Enter Hugging Face token" | ConvertFrom-SecureString
# ConvertFrom-SecureString returns encrypted form; for simplicity we convert to plain text below
$hfToken = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR((Read-Host -AsSecureString "Enter Hugging Face token (again for conversion)")))
}
$openaiKey = ''
if ($labelMode -eq 'openai') {
$openaiKey = Read-Host -AsSecureString "Enter OpenAI API key" | ConvertFrom-SecureString
$openaiKey = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR((Read-Host -AsSecureString "Enter OpenAI API key (again for conversion)")))
}
$content = @()
$content += "LABEL_MODE=$labelMode"
$content += "LABEL_MODEL=$labelModel"
$content += "HF_TOKEN=$hfToken"
$content += "OPENAI_API_KEY=$openaiKey"
$content += "MODEL_DIR=/app/storage/models"
$content += "HUGGINGFACE_CACHE=/root/.cache/huggingface"
$content += "DATABASE_URL=postgresql://dark:secret@postgres:5432/darkint"
$content += "REDIS_URL=redis://redis:6379/0"
$content += "SECRET_KEY=change-me"
$content += "MODEL_STORAGE_PATH=./storage/models"
Set-Content -Path $envFile -Value $content -Encoding UTF8
Write-Host ".env.local created at $envFile" -ForegroundColor Green
Write-Host "Starting Docker services..." -ForegroundColor Cyan
docker compose --env-file $envFile up -d postgres redis backend worker
Write-Host "Tailing worker logs (Ctrl-C to stop)" -ForegroundColor Cyan
docker compose --env-file $envFile logs -f worker