diff --git a/docs/CLAUDE.md b/CLAUDE.md similarity index 89% rename from docs/CLAUDE.md rename to CLAUDE.md index 0b3e064..0b240e2 100644 --- a/docs/CLAUDE.md +++ b/CLAUDE.md @@ -65,8 +65,8 @@ owned_by = "UncloseAI" ### 2. Work Locally, Deploy Remotely -- **Local development:** `/home/fox/git/openedai-speech/` -- **Remote server:** Configured in `vars.sh` (gitignored) +- **Local development:** `/home/fox/git/uncloseai-speech/` +- **Remote server:** `ai.foxhop.net` (configured in `vars.sh`, gitignored) - **Never create remote directories manually** - let Makefile handle it - **Always test from scratch** - `make clean` then `make deploy` @@ -191,16 +191,24 @@ uncloseai-speech/ See `docs/MODELS.md` for complete roadmap and detailed model documentation. -## Deployment Workflow +## Production Deployment + +**Production Server:** `ai.foxhop.net` +- **URL:** https://ai.foxhop.net (port 8000 internal) +- **Repo Location:** `/home/fox/git/uncloseai-speech` +- **Container:** `uncloseai-speech-server-1` (image: `uncloseai-speech:local`) +- **tmux access:** `tmux send-keys -t 0:1 'command' Enter` (window 1 is AI server) + +### Deployment Workflow ``` Local: - /home/fox/git/openedai-speech/ + /home/fox/git/uncloseai-speech/ ↓ make deploy (rsync) Remote (ai.foxhop.net): - ~/uncloseai-speech/ + /home/fox/git/uncloseai-speech/ ↓ docker compose up --build @@ -213,6 +221,22 @@ Container: └── voice_to_speaker.yaml ``` +### Quick Production Commands + +```bash +# Check container status +tmux send-keys -t 0:1 'docker ps' Enter + +# View logs +tmux send-keys -t 0:1 'docker logs -f uncloseai-speech-server-1' Enter + +# Restart container +tmux send-keys -t 0:1 'cd /home/fox/git/uncloseai-speech && docker compose restart' Enter + +# Rebuild and redeploy +tmux send-keys -t 0:1 'cd /home/fox/git/uncloseai-speech && docker compose up --build -d' Enter +``` + ## Testing Philosophy **Full stack testing workflow:**