| name | deploy |
| description | Deploy the memory application to the remote server. Use when deploying code, syncing changes, restarting services, or running commands on the production server. |
Memory Deployment
The deployment script is at tools/deploy.sh. It manages the remote server memory (EC2 instance) at /home/ec2-user/memory.
There are two deployments:
- memory - my personal stuff
- chris - Equistamp stuff
The default is to use the memory version - to use the chris one, call with DEPLOY_DIR=/home/ec2-user/chris
Commands
Deploy (most common)
Pull latest code and restart services:
./tools/deploy.sh deploy
./tools/deploy.sh deploy <branch>
Sync
Rsync local code directly to server (bypasses git, useful for testing):
./tools/deploy.sh sync
Syncs: src/, tests/, tools/, db/, docker/, frontend/, requirements/, config files.
Excludes: __pycache__, .git, memory_files, secrets, .env, venv, etc.
Pull
Git pull on the server without restarting:
./tools/deploy.sh pull
./tools/deploy.sh pull <branch>
Restart
Restart docker services without pulling new code:
./tools/deploy.sh restart
Runs: docker compose up --build -d
Run
Execute arbitrary commands on the server (with venv activated):
./tools/deploy.sh run <command>
Examples:
./tools/deploy.sh run "python -c 'print(1)'"
./tools/deploy.sh run "pip list"
./tools/deploy.sh run "alembic upgrade head"
Orchestrator / session (advanced)
./tools/deploy.sh orchestrator sets up the Claude session orchestrator on the server.
./tools/deploy.sh session [opts] runs a claude-cloud session (syncs + rebuilds first).
Run ./tools/deploy.sh with no arguments to see the full session option list.
Typical Workflows
Standard deployment:
git push origin master
./tools/deploy.sh deploy
Quick test without committing:
./tools/deploy.sh sync
./tools/deploy.sh restart
Run migrations:
./tools/deploy.sh run "alembic upgrade head"
Check logs after deploy:
./tools/deploy.sh run "docker compose logs -f"