Skip to content

9 Common Fixes

effx_ edited this page Sep 28, 2026 · 3 revisions

Common Fixes

The problems people actually hit, and what to do about them. Install-time errors (the installer stopping, Docker not reachable, port 80 taken...) are in the table on the install page.

Commands are for Linux from the folder above JunOS. On Windows, logs are files in JunOS\runtime\logs\, and "restart" means powershell .\JunOS\start.ps1 stop then start again. More on both: Manage.


She's slow

Almost always the model not fitting on your graphics card. Send her a message, then:

docker exec omega-ollama ollama ps    # Windows: ollama ps

Anything other than 100% GPU in the PROCESSOR column means part of her is running on the CPU. Pick a smaller model or free up VRAM: Performance.

The first reply after every start is always slow, the model is being loaded. Judge her on the second.

She's on the CPU but I have a graphics card

Every start prints where she landed. If it says CPU. no GPU at all, ollama gave up on the card:

  • NVIDIA: the container toolkit is missing, or its device file is stale. If nvidia-smi works on the host, regenerate it with sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml and restart. Full steps: NVIDIA.
  • AMD: older Radeon cards need HSA_OVERRIDE_GFX_VERSION in .env. AMD.

She's invisible

Her body wasn't extracted from the game. Install her body later.

No voice

  1. Settings > Voice > Enable voice is on?
  2. VOICE in JunOS/.env isn't off?
  3. Still nothing: ./JunOS/start.sh logs tts. The very first start downloads about 300 MB of voice weights, give it a minute.

The mic doesn't work

  • The browser has to be allowed to use the mic. Check the little icon in the address bar.
  • On a phone over plain http:// (your home wifi, not localhost) most browsers refuse the mic entirely. That's the browser, not her.
  • She hears you but won't answer? She thinks you're talking to someone else in the room. Turn on Hear everything in Settings > Voice.
  • She keeps cutting herself off: she's hearing her own voice through your speakers. Use headphones, or turn off Interrupt her.

I forgot my password

forgot password? on the login screen, with your email and recovery code. Details.

"Your data key would not open"

The password was accepted but it can't unlock the account's encryption key. That happens when the password was changed by editing the database directly instead of through the app. Use forgot password? with your recovery code, that puts a working key back.

She said yes but we didn't go

A yes in words is normally enough now: when your message is an invitation, the app takes you there even if she forgets to. What it can miss is the invitation itself. It looks for English words naming the place (shop, karaoke, dinner, lunch, blackjack...), so try again naming it plainly, or use Settings > Dates > Ask her, which always counts. A "no", "later" or "tomorrow" anywhere in her answer counts as a no. If you're an admin, or have FREE_ROAM=on, Force her skips the question. More in Dates.

The shop / karaoke page sends me back to the chat

Working as intended. Those pages only open after she agreed to go. Ask her first, see Dates.

Karaoke is closed / the button is greyed out

The karaoke service isn't running. Check KARAOKE=on in JunOS/.env, restart, then ./JunOS/start.sh logs karaoke. The first build of that service is big and takes a while.

She walked out and won't talk to me

Not a bug. She left, and the door stays shut 5 minutes the first time, doubling up to 30. Manage.

Replies arrive all at once instead of streaming

Something between you and her is buffering. Only happens if you put her behind your own reverse proxy or load balancer. It has to pass /api/chat.php through unbuffered.

"Too many requests" while chatting

You hit the rate limit (90 messages a minute, two open replies at a time). Wait a minute. If you're scripting her or sharing one IP with a lot of people, the limits are in webapp/api/chat.php and the nginx config.

Certificate warning right after turning on HTTPS

Expected for the first minute or so on a fresh prod install. The web server starts on a temporary self-signed certificate so Let's Encrypt can reach it, and switches to the real one by itself once it's issued, no restart needed. If the warning is still there after a few minutes, run ./JunOS/start.sh logs certbot: it says why. Almost always the domain doesn't point at this machine yet, or port 80 isn't reachable from the internet. It keeps retrying on its own (after 1, 4 and 16 minutes, then hourly), so fix that and wait.

A setting in .env did nothing

.env is only read on start. Restart her.


Still stuck? Open an issue with the last ~50 lines of the relevant log, your OS and your graphics card. Never paste your .env, your recovery code or your chats.