Your machine
On the machine:
pip install surfrasurfra loginsurfra runner register # name it desk-4090surfra runner startThen deploy with the runner as the first row:
import surfra
app = surfra.App("desk-hello")app.deploy( image="ghcr.io/you/hello:1", entrypoint="app.py", runtime={"engine": "python"}, autoscale={ "max_replicas": 3, "per_provider": True, "providers": [ {"provider": "runner", "runner": "desk-4090", "priority": 1, "min_replicas": 1, "max_replicas": 1}, {"provider": "runpod", "gpu": "rtx4090", "priority": 2, "max_replicas": 2}, ], },)Your machine stays on as the base. When requests queue up, up to two RunPod replicas join and stop again after idle_timeout_sec. If your machine is off, the RunPod row takes over. See Your machines.
