Some checks failed
Release / semantic-release (push) Successful in 22s
tests / Unit tests (Linux, Python 3.11) (push) Successful in 9m55s
Release / build-linux (push) Failing after 7m36s
Release / build-windows (push) Has been cancelled
Release / build-macos (arm64, macos-latest) (push) Has been cancelled
Release / build-macos (x64, macos-15-intel) (push) Has been cancelled
Release / release-main (push) Has been cancelled
Release / release-develop (push) Has been cancelled
`docker compose up -d --build` now brings up the whole thing automatically — no host setup needed: - All-in-one javis image: TigerVNC+XFCE desktop, Chrome, Python brain bridge, Node/bun bot, managed by supervisord (verified: all 6 programs RUNNING). - ollama service + one-shot ollama-init that auto-pulls chat+embed models (verified end-to-end; `ollama list` shows pulled models). - Discord token deferred: without DISCORD_BOT_TOKEN the desktop, bridge, Ollama and models all run; only the bot waits (no crash loop). - Slim container deps (bridge/requirements-bridge.txt) drop the unused PyQt6/torch/chatterbox/sounddevice stack. Piper voice + Whisper models auto-download into named volumes. - Configurable host ports (VNC_PORT/NOVNC_PORT/BRIDGE_PORT) to avoid clashing with a host VNC already on 5901. Bridge binds 0.0.0.0 in-container. Verified: image builds; brain imports; bridge /health 200; noVNC 200; X display :1 @1920x1080; auto-pull completes; supervisorctl status all RUNNING.
79 lines
3.3 KiB
Plaintext
79 lines
3.3 KiB
Plaintext
# ============================================================================
|
|
# Javis Bot — environment configuration
|
|
# Copy to `.env` and fill in. Never commit your real `.env`.
|
|
# ============================================================================
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Discord bot (normal bot account) — voice I/O + slash commands
|
|
# ---------------------------------------------------------------------------
|
|
# From https://discord.com/developers/applications → your app
|
|
DISCORD_BOT_TOKEN=
|
|
DISCORD_APP_ID=
|
|
# The (single) server this bot serves. Guild-scoped commands appear instantly.
|
|
DISCORD_GUILD_ID=
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Brain bridge (Python service in bridge/) — STT + reply engine + TTS
|
|
# ---------------------------------------------------------------------------
|
|
BRIDGE_URL=http://127.0.0.1:8765
|
|
BRIDGE_HOST=127.0.0.1
|
|
BRIDGE_PORT=8765
|
|
JARVIS_BRAIN_ENABLED=1
|
|
JARVIS_TTS_ENABLED=1
|
|
# faster-whisper device/compute. On this RTX 5050 box: cuda / float16.
|
|
WHISPER_DEVICE=auto
|
|
WHISPER_COMPUTE_TYPE=auto
|
|
# Optional explicit Piper voice model (.onnx). If empty, the jarvis default is used.
|
|
TTS_PIPER_MODEL_PATH=
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Jarvis brain (Ollama-backed). In Docker these populate the rendered
|
|
# config (docker/jarvis-config.template.json). See src/jarvis/config.py.
|
|
# ---------------------------------------------------------------------------
|
|
# In docker-compose this is overridden to http://ollama:11434 automatically.
|
|
OLLAMA_BASE_URL=http://127.0.0.1:11434
|
|
OLLAMA_CHAT_MODEL=llama3.1:8b
|
|
OLLAMA_EMBED_MODEL=nomic-embed-text
|
|
WHISPER_MODEL=small
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Docker desktop (VNC) — used only by the container image
|
|
# ---------------------------------------------------------------------------
|
|
# VNC viewer password (max 8 chars effective). Watch the screen at localhost:5901.
|
|
VNC_PASSWORD=javis123
|
|
# Auto-opened page in the in-container Chrome.
|
|
CHROME_START_URL=about:blank
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# VNC screen broadcast
|
|
# selfbot = real live "Go Live" stream (needs a USER/burner token; ToS risk)
|
|
# novnc = share a noVNC browser link (safe, real-time, not native)
|
|
# screenshot = periodic screenshots to the channel (safe, low fps)
|
|
# none = disabled
|
|
# ---------------------------------------------------------------------------
|
|
STREAM_BACKEND=selfbot
|
|
|
|
# The VNC desktop runs on X display :1 (see docs/vnc-xfce-setup.md)
|
|
VNC_DISPLAY=:1
|
|
VNC_RESOLUTION=1920x1080
|
|
VNC_FRAMERATE=30
|
|
VNC_BITRATE_KBPS=4000
|
|
|
|
# --- selfbot backend ---
|
|
# A THROWAWAY/burner Discord user account token. NEVER your main account.
|
|
# Using a selfbot violates Discord ToS and can get the account banned.
|
|
DISCORD_SELFBOT_TOKEN=
|
|
|
|
# --- novnc backend ---
|
|
# e.g. http://192.168.10.9:6080/vnc.html (websockify --web=/usr/share/novnc 6080 localhost:5901)
|
|
NOVNC_URL=
|
|
|
|
# --- screenshot backend ---
|
|
SCREENSHOT_INTERVAL_SEC=5
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Voice behaviour
|
|
# ---------------------------------------------------------------------------
|
|
# Silence (ms) that marks the end of an utterance before sending to the brain.
|
|
VOICE_SILENCE_MS=800
|