Skip to content

Commit 7fafb1e

Browse files
committed
Move germ's default port 8765 → 5178 (collision with oída)
germ and oída both defaulted to 8765, so the two servers could never run together — silently breaking the oída→germ handoff. germ now defaults to GERM_PORT=5178 (matching oída's OIDA_GERM_URL default and the SFL port registry); oída keeps 8765. Dashboard JS is same-origin and unaffected. Docs, client spec, python client, and launchers updated. 105 tests pass.
1 parent ded79cc commit 7fafb1e

7 files changed

Lines changed: 31 additions & 31 deletions

File tree

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ Double-click in Finder or run:
8787
The dashboard opens at:
8888

8989
```text
90-
http://127.0.0.1:8765/dashboard
90+
http://127.0.0.1:5178/dashboard
9191
```
9292

9393
Server-only launch:
@@ -102,7 +102,7 @@ Tailscale launch for another device in the same tailnet:
102102
./scripts/run_tailscale.sh
103103
```
104104

105-
Open the printed `http://<tailscale-ip>:8765/dashboard` URL from the other device.
105+
Open the printed `http://<tailscale-ip>:5178/dashboard` URL from the other device.
106106
The script binds to the detected Tailscale IP by default and allowlists localhost,
107107
the detected Tailscale IP, the local host name, and Tailscale MagicDNS host names
108108
in `GERM_ALLOWED_HOSTS`.
@@ -113,7 +113,7 @@ detected, instead of binding to all interfaces.
113113
Health check:
114114

115115
```bash
116-
curl http://127.0.0.1:8765/health
116+
curl http://127.0.0.1:5178/health
117117
```
118118

119119
## Python And MLX Runtimes
@@ -137,7 +137,7 @@ Useful environment variables:
137137

138138
```text
139139
GERM_HOST=127.0.0.1
140-
GERM_PORT=8765
140+
GERM_PORT=5178
141141
GERM_ACTIVE_PROVIDER=mock
142142
GERM_OUTPUT_DIR=output
143143
GERM_ALLOWED_INPUT_ROOTS=output
@@ -167,7 +167,7 @@ the model terms and log in when needed:
167167

168168
```bash
169169
uv run hf auth login
170-
curl "http://127.0.0.1:8765/huggingface/status?check_models=true"
170+
curl "http://127.0.0.1:5178/huggingface/status?check_models=true"
171171
```
172172

173173
Cancellation note: queued jobs can always be cancelled. MLX jobs terminate the
@@ -310,7 +310,7 @@ POST /files/reveal
310310
Example germination request:
311311

312312
```bash
313-
curl -X POST http://127.0.0.1:8765/generate \
313+
curl -X POST http://127.0.0.1:5178/generate \
314314
-H "content-type: application/json" \
315315
-d '{
316316
"provider": "mock",

clients/germinator_client_spec.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Base URL:
44

55
```text
6-
http://127.0.0.1:8765
6+
http://127.0.0.1:5178
77
```
88

99
The FastAPI server is the stable integration layer. Germinator, plugins, Max patches,
@@ -64,25 +64,25 @@ complete route list lives in `docs/api_reference.md`.
6464
Health:
6565

6666
```bash
67-
curl http://127.0.0.1:8765/health
67+
curl http://127.0.0.1:5178/health
6868
```
6969

7070
Models:
7171

7272
```bash
73-
curl http://127.0.0.1:8765/models
73+
curl http://127.0.0.1:5178/models
7474
```
7575

7676
Hugging Face access check for Python-provider weights:
7777

7878
```bash
79-
curl "http://127.0.0.1:8765/huggingface/status?check_models=true"
79+
curl "http://127.0.0.1:5178/huggingface/status?check_models=true"
8080
```
8181

8282
Generate a new layer:
8383

8484
```bash
85-
curl -X POST http://127.0.0.1:8765/generate \
85+
curl -X POST http://127.0.0.1:5178/generate \
8686
-H "content-type: application/json" \
8787
-d '{
8888
"provider": "mock",
@@ -100,7 +100,7 @@ curl -X POST http://127.0.0.1:8765/generate \
100100
Morph selected audio:
101101

102102
```bash
103-
curl -X POST http://127.0.0.1:8765/audio-to-audio \
103+
curl -X POST http://127.0.0.1:5178/audio-to-audio \
104104
-H "content-type: application/json" \
105105
-d '{
106106
"provider": "stable_audio_python",
@@ -117,7 +117,7 @@ curl -X POST http://127.0.0.1:8765/audio-to-audio \
117117
Inpaint selected regions:
118118

119119
```bash
120-
curl -X POST http://127.0.0.1:8765/inpaint \
120+
curl -X POST http://127.0.0.1:5178/inpaint \
121121
-H "content-type: application/json" \
122122
-d '{
123123
"provider": "stable_audio_python",
@@ -134,7 +134,7 @@ curl -X POST http://127.0.0.1:8765/inpaint \
134134
Continue a clip:
135135

136136
```bash
137-
curl -X POST http://127.0.0.1:8765/continue \
137+
curl -X POST http://127.0.0.1:5178/continue \
138138
-H "content-type: application/json" \
139139
-d '{
140140
"provider": "stable_audio_python",
@@ -151,7 +151,7 @@ curl -X POST http://127.0.0.1:8765/continue \
151151
Submit an async render job:
152152

153153
```bash
154-
curl -X POST http://127.0.0.1:8765/jobs/submit \
154+
curl -X POST http://127.0.0.1:5178/jobs/submit \
155155
-H "content-type: application/json" \
156156
-d '{
157157
"mode": "text-to-audio",
@@ -168,14 +168,14 @@ curl -X POST http://127.0.0.1:8765/jobs/submit \
168168
Load and control LoRA:
169169

170170
```bash
171-
curl -X POST http://127.0.0.1:8765/lora/load \
171+
curl -X POST http://127.0.0.1:5178/lora/load \
172172
-H "content-type: application/json" \
173173
-d '{
174174
"provider": "stable_audio_python",
175175
"paths": ["/path/to/your_style.safetensors"]
176176
}'
177177

178-
curl -X POST http://127.0.0.1:8765/lora/strength \
178+
curl -X POST http://127.0.0.1:5178/lora/strength \
179179
-H "content-type: application/json" \
180180
-d '{
181181
"provider": "stable_audio_python",
@@ -187,25 +187,25 @@ curl -X POST http://127.0.0.1:8765/lora/strength \
187187
Job lookup:
188188

189189
```bash
190-
curl http://127.0.0.1:8765/jobs/JOB_ID
190+
curl http://127.0.0.1:5178/jobs/JOB_ID
191191
```
192192

193193
Job event stream:
194194

195195
```text
196-
ws://127.0.0.1:8765/jobs/JOB_ID/events
196+
ws://127.0.0.1:5178/jobs/JOB_ID/events
197197
```
198198

199199
Generated library:
200200

201201
```bash
202-
curl http://127.0.0.1:8765/library
202+
curl http://127.0.0.1:5178/library
203203
```
204204

205205
Reveal a generated file in Finder on macOS:
206206

207207
```bash
208-
curl -X POST http://127.0.0.1:8765/files/reveal \
208+
curl -X POST http://127.0.0.1:5178/files/reveal \
209209
-H "content-type: application/json" \
210210
-d '{"path":"output/audio/ceramic_impact.wav"}'
211211
```

clients/python_client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import httpx
77

88

9-
DEFAULT_BASE_URL = "http://127.0.0.1:8765"
9+
DEFAULT_BASE_URL = "http://127.0.0.1:5178"
1010

1111

1212
class GerminatorClient:

docs/api_reference.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Default base URL:
44

55
```text
6-
http://127.0.0.1:8765
6+
http://127.0.0.1:5178
77
```
88

99
## GET /health
@@ -85,7 +85,7 @@ Use `check_models=true` to run dry-run download checks for Small SFX, Small Musi
8585
and Medium:
8686

8787
```bash
88-
curl "http://127.0.0.1:8765/huggingface/status?check_models=true"
88+
curl "http://127.0.0.1:5178/huggingface/status?check_models=true"
8989
```
9090

9191
Response includes `auth.logged_in`, per-model `status`, and `next_steps`. The route

docs/local_setup.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Run the server:
1717
Check:
1818

1919
```bash
20-
curl http://127.0.0.1:8765/health
20+
curl http://127.0.0.1:5178/health
2121
```
2222

2323
## Mock Mode
@@ -26,7 +26,7 @@ Mock mode is the default. It writes placeholder WAV files and metadata so germ a
2626
the dashboard can be tested before model downloads.
2727

2828
```bash
29-
curl -X POST http://127.0.0.1:8765/generate \
29+
curl -X POST http://127.0.0.1:5178/generate \
3030
-H "content-type: application/json" \
3131
-d '{"provider":"mock","model":"mock-sine","prompt":"dry wood impact","duration":2}'
3232
```
@@ -79,7 +79,7 @@ in or have not accepted the Stability AI model terms.
7979

8080
```bash
8181
./launch_germ.command
82-
curl "http://127.0.0.1:8765/huggingface/status?check_models=true"
82+
curl "http://127.0.0.1:5178/huggingface/status?check_models=true"
8383
```
8484

8585
You can run the same check from the dashboard Status section with `HF Check`.
@@ -122,7 +122,7 @@ The optimized dashboard is served by the FastAPI sidecar:
122122
Open:
123123

124124
```text
125-
http://127.0.0.1:8765/dashboard
125+
http://127.0.0.1:5178/dashboard
126126
```
127127

128128
This dashboard is plain HTML/CSS/JavaScript, not Gradio. Gradio is only used for the
@@ -133,7 +133,7 @@ optional official Stability demo through `scripts/run_official_gradio.sh`.
133133
Open:
134134

135135
```text
136-
http://127.0.0.1:8765/dashboard
136+
http://127.0.0.1:5178/dashboard
137137
```
138138

139139
In the `Status` tab:

launch_germinator.command

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
55
cd "$PROJECT_ROOT"
66

77
export GERM_HOST="${GERM_HOST:-${GERMINATOR_HOST:-127.0.0.1}}"
8-
export GERM_PORT="${GERM_PORT:-${GERMINATOR_PORT:-8765}}"
8+
export GERM_PORT="${GERM_PORT:-${GERMINATOR_PORT:-5178}}"
99

1010
API_URL="http://${GERM_HOST}:${GERM_PORT}"
1111
DASHBOARD_URL="${API_URL}/dashboard"

server/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class Settings:
5656
def __init__(self) -> None:
5757
self.project_root = PROJECT_ROOT
5858
self.host = _env("GERM_HOST", "127.0.0.1", legacy="GERMINATOR_HOST") or "127.0.0.1"
59-
self.port = int(_env("GERM_PORT", "8765", legacy="GERMINATOR_PORT") or "8765")
59+
self.port = int(_env("GERM_PORT", "5178", legacy="GERMINATOR_PORT") or "5178")
6060
self.active_provider = _env(
6161
"GERM_ACTIVE_PROVIDER",
6262
"mock",

0 commit comments

Comments
 (0)