Deployment Guide
Production deployment guide for arifOS MCP including VPS architecture, Docker configuration, TLS setup, and monitoring.
Production Ready
arifOS MCP is designed for production deployments with high availability, horizontal scaling, and comprehensive monitoring built-in.
VPS Architecture
For production deployments, we recommend the following VPS architecture:
arifOS MCP
Server
Port 8080
⟷
Server
Port 8080
Qdrant
Vector Store
Port 6333
⟷
Vector Store
Port 6333
VAULT999
Ledger
Persistent Disk
Ledger
Persistent Disk
↑
Nginx
Reverse Proxy
TLS Termination
Reverse Proxy
TLS Termination
↑
Internet ← MCP clients connect here
Architecture Components
| Component | Purpose | Port |
|---|---|---|
| arifOS MCP Server | Constitutional governance kernel | 8080 |
| Qdrant | Vector storage for session memory | 6333 |
| VAULT999 | Merkle chain ledger on persistent disk | — |
| Nginx | TLS termination and reverse proxy | 443 → 8080 |
Docker Setup
All services are containerized with Docker Compose:
docker-compose.yml
version: '3.8'
services:
arifosmcp:
image: arifosmcp:latest
container_name: arifosmcp
restart: unless-stopped
ports:
- "127.0.0.1:8080:8080"
environment:
- ARIFOS_ENV=production
- ARIFOS_QDRANT_URL=http://qdrant:6333
- ARIFOS_VAULT_PATH=/data/vault999
volumes:
- vault-data:/data/vault999
depends_on:
- qdrant
networks:
- arifos-network
qdrant:
image: qdrant/qdrant:latest
container_name: arifosmcp_qdrant
restart: unless-stopped
ports:
- "127.0.0.1:6333:6333"
volumes:
- qdrant-storage:/qdrant/storage
networks:
- arifos-network
nginx:
image: nginx:alpine
container_name: arifosmcp_nginx
restart: unless-stopped
ports:
- "443:443"
- "80:80"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
- ./ssl:/etc/nginx/ssl:ro
depends_on:
- arifosmcp
networks:
- arifos-network
volumes:
vault-data:
qdrant-storage:
networks:
arifos-network:
driver: bridge
TLS Configuration
Nginx handles TLS termination. Example configuration:
nginx.conf
server {
listen 443 ssl http2;
server_name arifosmcp.yourdomain.com;
ssl_certificate /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/key.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
proxy_pass http://arifosmcp:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
server {
listen 80;
server_name arifosmcp.yourdomain.com;
return 301 https://$server_name$request_uri;
}
Environment Variables
| Variable | Description | Default |
|---|---|---|
| ARIFOS_ENV | Environment mode (development/production) | development |
| ARIFOS_QDRANT_URL | Qdrant vector store URL | http://localhost:6333 |
| ARIFOS_VAULT_PATH | Path to VAULT999 ledger storage | ./vault999 |
| ARIFOS_LOG_LEVEL | Logging level (debug/info/warn/error) | info |
Monitoring
arifOS MCP exposes Prometheus metrics at /metrics endpoint:
Metrics Example
# HELP arifos_requests_total Total requests processed
# TYPE arifos_requests_total counter
arifos_requests_total{status="seal"} 1523
arifos_requests_total{status="void"} 47
arifos_requests_total{status="partial"} 89
# HELP arifos_latency_seconds Request latency
# TYPE arifos_latency_seconds histogram
arifos_latency_seconds_bucket{le="0.1"} 523
arifos_latency_seconds_bucket{le="0.5"} 1289
arifos_latency_seconds_bucket{le="1.0"} 1659
Next Steps
Your arifOS MCP server is now ready for production! Check the integrations guide to connect your MCP clients.