v0.5.10546.1 MB
Apache-2.0
strict
core26
Share local language model inference across friends and colleagues
Rozalia lends the language model hardware sitting on your desk to the
people you choose, behind one OpenAI-compatible endpoint.
The machines with the GPUs live at home, behind NAT, where nothing on the
internet can dial them. So they dial out instead: rozalia-proxy opens a
WebSocket to the server and holds it there, and the server pushes
requests down it, to whichever machine advertises the model asked for and
has the fewest requests in flight.
This snap ships the proxy. Lending a machine takes a one-time enrollment
code. If your account on the server may already lend hardware, that is
self-service: sign in, open your account page and create one under
Enrollment codes. Otherwise ask whoever runs the server for one. Then
enrol the machine, say what to offer and where, and turn it on:
proxy-backends takes a comma-separated list, for a machine running more
than one inference server. proxy-concurrency says how many requests to
run at once, and defaults to one, because a single GPU answering two
completions at once finishes neither sooner.
The cloud half is optional and ships as a separate component, so a
machine that only lends its GPU never downloads it:
The server does not start on install: a fresh database has no accounts,
and the address it should listen on is not something a package can
guess.
The stable channel carries tagged releases. Edge is built from every
commit to the main branch, for trying a fix before it is released.
people you choose, behind one OpenAI-compatible endpoint.
The machines with the GPUs live at home, behind NAT, where nothing on the
internet can dial them. So they dial out instead: rozalia-proxy opens a
WebSocket to the server and holds it there, and the server pushes
requests down it, to whichever machine advertises the model asked for and
has the fewest requests in flight.
This snap ships the proxy. Lending a machine takes a one-time enrollment
code. If your account on the server may already lend hardware, that is
self-service: sign in, open your account page and create one under
Enrollment codes. Otherwise ask whoever runs the server for one. Then
enrol the machine, say what to offer and where, and turn it on:
sudo rozalia.proxyctl enroll -server https://ai.example.org \
-code rze_...
sudo snap set rozalia \
proxy-server=https://ai.example.org \
proxy-backends=http://127.0.0.1:11434/v1 \
proxy=trueproxy-backends takes a comma-separated list, for a machine running more
than one inference server. proxy-concurrency says how many requests to
run at once, and defaults to one, because a single GPU answering two
completions at once finishes neither sooner.
The cloud half is optional and ships as a separate component, so a
machine that only lends its GPU never downloads it:
sudo snap install rozalia+server
sudo snap set rozalia \
base-url=https://ai.example.org \
listen-addr=127.0.0.1:8080
sudo snap set rozalia server=true
sudo rozalia.serverctl account create -email you@example.org -adminThe server does not start on install: a fresh database has no accounts,
and the address it should listen on is not something a package can
guess.
The stable channel carries tagged releases. Edge is built from every
commit to the main branch, for trying a fix before it is released.
Update History
v0.5.9 (48) → v0.5.10 (54)30 Sept 2026, 05:30 UTC
v0.5.8 (46) → v0.5.9 (48)28 Sept 2026, 08:00 UTC
v0.5.7 (43) → v0.5.8 (46)27 Sept 2026, 08:45 UTC
v0.5.6 (41) → v0.5.7 (43)19 Sept 2026, 15:15 UTC
v0.5.5 (39) → v0.5.6 (41)18 Sept 2026, 08:00 UTC
v0.5.3 (36) → v0.5.5 (39)17 Sept 2026, 12:01 UTC
v0.4.2 (30) → v0.5.3 (36)16 Sept 2026, 17:00 UTC
v0.4.1 (20) → v0.4.2 (30)13 Sept 2026, 16:15 UTC
v0.3.1 (18) → v0.4.1 (20)11 Sept 2026, 14:15 UTC
v0.2.1 (9) → v0.3.1 (18)11 Sept 2026, 07:45 UTC
v0.1.0 (7) → v0.2.1 (9)10 Sept 2026, 15:15 UTC
0+git12.d72fc10 (4) → v0.1.0 (7)10 Sept 2026, 07:30 UTC
0+git11.669c872 (1) → 0+git12.d72fc10 (4)10 Sept 2026, 06:15 UTC
0+git11.669c872 (1)10 Sept 2026, 05:30 UTC
10 Sept 2026, 05:28 UTC
30 Sept 2026, 00:30 UTC
10 Sept 2026, 05:30 UTC