chore: replace docker compose setup with powershell backend launcher
All checks were successful
CI / test (push) Successful in 41s

This commit is contained in:
Space-Banane
2026-05-27 18:24:25 +02:00
parent eb0e0724f1
commit 336ef97c49
3 changed files with 42 additions and 28 deletions

View File

@@ -28,7 +28,7 @@ It lets an LLM use controlled local tools (screen, click, type, shell) to comple
main.py main.py
screenjob.py screenjob.py
requirements.txt requirements.txt
docker-compose.yml start_backend.ps1
src/ src/
agent.py agent.py
app_main.py app_main.py
@@ -103,6 +103,12 @@ CLI JSON output includes both legacy and structured fields:
python main.py server python main.py server
``` ```
Or use the PowerShell launcher:
```powershell
.\start_backend.ps1
```
Auth for all API routes: Auth for all API routes:
- `Authorization: Bearer <SCREENJOB_TOKEN>` - `Authorization: Bearer <SCREENJOB_TOKEN>`
@@ -164,16 +170,6 @@ Each job payload includes:
`data` should contain useful structured output for the requester (text, object, list, etc.). `data` should contain useful structured output for the requester (text, object, list, etc.).
## Docker Compose
Run server in container:
```powershell
docker compose up --build
```
Service uses official Python image and reads `.env`.
## Verification ## Verification
Local: Local:

View File

@@ -1,17 +0,0 @@
services:
screenjob:
image: python:3.11-slim
working_dir: /app
env_file:
- .env
environment:
SCREENJOB_HOST: 0.0.0.0
SCREENJOB_PORT: 8787
volumes:
- ./:/app
ports:
- "8787:8787"
command: >
sh -c "pip install --no-cache-dir -r requirements.txt &&
python main.py server"
restart: unless-stopped

35
start_backend.ps1 Normal file
View File

@@ -0,0 +1,35 @@
Set-StrictMode -Version Latest
$ErrorActionPreference = "Stop"
$scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
Set-Location $scriptDir
function Test-EnvVarLine {
param(
[Parameter(Mandatory = $true)][string]$FilePath,
[Parameter(Mandatory = $true)][string]$Name
)
if (-not (Test-Path -LiteralPath $FilePath)) {
return $false
}
return [bool](Select-String -Path $FilePath -Pattern ("^\s*" + [regex]::Escape($Name) + "=") -Quiet)
}
if (-not (Get-Command python -ErrorAction SilentlyContinue)) {
throw "Python was not found in PATH. Install Python 3.11+ and retry."
}
$envFile = Join-Path $scriptDir ".env"
if (-not (Test-Path -LiteralPath $envFile)) {
Write-Warning ".env was not found at $envFile. Server startup may fail if required vars are missing."
} else {
if (-not (Test-EnvVarLine -FilePath $envFile -Name "OPENAI_API_KEY")) {
Write-Warning ".env is missing OPENAI_API_KEY."
}
if (-not (Test-EnvVarLine -FilePath $envFile -Name "SCREENJOB_TOKEN")) {
Write-Warning ".env is missing SCREENJOB_TOKEN."
}
}
Write-Host "Starting ScreenJob backend on configured host/port..." -ForegroundColor Cyan
python main.py server