Prerequisites
Before you begin, ensure you have the following installed:Docker
Docker Compose
You can verify your Docker installation by running
docker --version and docker-compose --versionInstallation Steps
Set environment variable
Edit This tells the system to use
.env to set your configuration file:.env
config.localdb.yaml for configuration.Add API keys and configure agents
Create
config.localdb.yaml and add at least one LLM API key:config.localdb.yaml
Mirobody Health includes two agent types:
- DeepAgent (LangChain-based): Best for complex tasks, file operations, multi-step planning
- BaselineAgent (Native Gemini): Best for simple conversations, lightweight MCP integration
Configure providers (Optional)
If you want to connect wearable devices like Garmin or Whoop, add their OAuth credentials:See the Configuration guide for complete provider setup.
config.localdb.yaml
Deploy with Docker
Run the deployment script to start all services:This will start three services:
- Backend API on port 18080
- PostgreSQL database on port 5432
- Redis cache on port 6379
Wait for all services to start. You should see logs indicating successful startup.
Verify the installation
Open your browser and navigate to:You should see the Mirobody Health welcome page.
Log in
Log in with the default demo account or the accounts set up in Once logged in, you can:
config.yaml.- Upload files: Lab reports, medical records, health documents (see File Processing)
- Chat with AI: Ask questions about your health data
- Connect providers: Link Garmin, Whoop, and other devices (see Using Providers)
Test the API
Once the services are running, you can test the API endpoints:- Health Check
- List Providers
- MCP Interface
Verify the server is running:
Available Endpoints
After deployment, the following endpoints are available:Web Interface
Main web interface and documentation
MCP Protocol
JSON-RPC 2.0 interface for AI agents
Chat API
AI chat interface endpoint
History
Session history endpoint
Docker Services
The deployment includes three containerized services:| Service | Port | Description |
|---|---|---|
| backend | 18080 | FastAPI application server |
| postgres | 5432 | PostgreSQL database |
| redis | 6379 | Redis cache and session store |
Common Commands
Stop all services
Stop all services
Restart services
Restart services
View logs
View logs
Rebuild containers
Rebuild containers
Access database
Access database
Access Redis CLI
Access Redis CLI
Troubleshooting
Port already in use
Port already in use
If port 18080 is already in use, edit Then restart the services.
config.yaml:Database connection failed
Database connection failed
Ensure PostgreSQL container is running:Check database logs:
Redis connection failed
Redis connection failed
Verify Redis is running and accessible:Should return
PONG if working correctly.Permission denied on deploy.sh
Permission denied on deploy.sh
Make the script executable:
Next Steps
Now that you have Mirobody Health running:Configure Providers
Set up OAuth credentials for Garmin, Whoop, and other providers
Explore the API
Learn how to use the Pulse API to link users and retrieve health data
Understand Architecture
Learn how Mirobody Health processes and standardizes health data
Add New Providers
Follow the guide to integrate additional health device providers
For production deployment, see the Production Deployment guide for security hardening and performance optimization.