Deployment Type: This guide covers development and single-team deployments. The satellite runs without process isolation, suitable for local development or when serving only your own team.For production deployments with multiple teams or external users, see Production Satellite Setup which includes nsjail process isolation for security and team separation.
Prerequisites
- Docker: Install Docker
- Docker Compose: Install Docker Compose
- System Requirements: 4GB RAM, 20GB disk space
Method 1: Docker Compose (Recommended)
The fastest way to get DeployStack backend and frontend running with proper networking and persistence.1
Download and Start
Run these two commands to get DeployStack backend and frontend running:
Note: This deploys the backend and frontend only. The satellite service must be deployed separately after completing the setup wizard (see Satellite Service section below).
2
Access DeployStack
Open your browser and navigate to:
- DeployStack Interface: http://localhost:8080
- Backend API: http://localhost:3000
3
Complete Setup Wizard
Follow the on-screen setup wizard to:
- Create your admin account
- Configure basic settings
4
Deploy Satellite
After completing the setup wizard, proceed to the Satellite Service section below to deploy your first satellite and start managing MCP servers.
Managing Your Installation
Method 2: Individual Docker Containers
For more control over the deployment, run frontend and backend containers separately.Step 1: Generate Encryption Secret
Step 2: Start Backend Service
Step 3: Start Frontend Service
Step 4: Verify Installation
Production Deployment
For production deployments on a server or VPS:Update Environment Variables
Replacelocalhost with your server’s IP address or domain:
Firewall Configuration
Ensure your firewall allows traffic on the required ports:Satellite Service
Adding a Satellite to Your Deployment
After completing the basic backend and frontend setup, deploy at least one satellite:1
Generate Registration Token
After setting up your admin account, generate a registration token:
- Log in to your DeployStack instance as admin
- Navigate to Admin → Satellites → Pairing
- Click “Generate Token” and copy the full token
deploystack_satellite_global_eyJhbGciOi...2
Start Satellite Service
For local development (connecting from same machine):For remote access (connecting from MCP clients via domain/IP):
When to set
DEPLOYSTACK_SATELLITE_URL:- Required when MCP clients (Claude Code, VS Code, etc.) connect via a domain or IP address
- Not needed for local development on localhost
- Use base URL only (e.g.,
https://satellite.example.com) - no/mcpor/ssepaths - Required for OAuth authentication to work with remote MCP clients
3
Verify Satellite Registration
Check the satellite logs to confirm successful registration:You should see:
Satellite Persistence
After initial registration, satellites save their API key to persistent storage. This means:- First startup: Uses registration token → Registers → Saves API key
- Subsequent startups: Uses saved API key → No token needed
- Container restarts: Automatic recovery without re-registration
Environment Variables Reference
Required Variables
| Variable | Description | Example |
|---|---|---|
DEPLOYSTACK_ENCRYPTION_SECRET | 32-character secret for encrypting sensitive data | a1b2c3d4e5f6789... |
Optional Variables
| Variable | Description | Default | Example |
|---|---|---|---|
DEPLOYSTACK_FRONTEND_URL | URL where frontend is accessible | http://localhost:8080 | https://deploystack.company.com |
VITE_DEPLOYSTACK_BACKEND_URL | Backend API URL for frontend | http://localhost:3000 | https://api.deploystack.company.com |
VITE_APP_TITLE | Custom application title | DeployStack | Company DeployStack |
Satellite Variables
Required:| Variable | Description | Example |
|---|---|---|
DEPLOYSTACK_BACKEND_URL | Backend URL for satellite to connect to | http://localhost:3000 |
DEPLOYSTACK_SATELLITE_NAME | Unique satellite name (10-32 chars, lowercase only) | my-satellite-001 |
DEPLOYSTACK_REGISTRATION_TOKEN | JWT registration token from admin (required for initial pairing) | deploystack_satellite_global_eyJhbGc... |
| Variable | Description | Default | Example |
|---|---|---|---|
DEPLOYSTACK_SATELLITE_URL | Public URL of satellite for OAuth metadata (required when MCP clients connect remotely) | http://localhost:PORT | https://satellite.example.com |
Next Steps
Once DeployStack is running with at least one satellite:1
Complete Initial Setup
- Create your admin account
- Configure global settings (email, authentication)
- Set up user roles and permissions
2
Deploy Satellite Service
- Generate registration token from admin panel
- Deploy satellite with the token
- Verify satellite registration and activation
- See Satellite Service section above
3
Deploy Your First MCP Server
- Browse the MCP server catalog
- Configure credentials and settings
- Deploy to your satellite
4
Explore Advanced Features
- Set up team collaboration
- Create private MCP server catalogs
- Configure CI/CD integrations
Troubleshooting
Common Issues
Port Conflicts
If ports 3000 or 8080 are already in use:Services Won’t Start
Can’t Access the Interface
-
Check if services are running:
-
Check firewall settings:
-
Check environment variables:
Getting Help
If you need assistance:- Community: Join our Discord
- Issues: Report problems on GitHub
- Support: Contact us for enterprise support options
What’s Next?
Learn More
- Self-Hosted Documentation: Comprehensive deployment guides
- Local Development: Set up development environment
- Global Settings: Configure email, auth, and more
- User Roles: Manage team permissions
🎉 Congratulations! You now have DeployStack running. Start deploying MCP servers and streamline your AI agent infrastructure!

