Skip to main content

Deployment Modes

NetPad supports three distinct deployment modes, each designed for different use cases. Understanding the differences helps you choose the right approach for your needs.

Quick Overviewโ€‹

ModeBest ForData LocationMulti-tenancy
CloudTeams wanting zero infrastructure managementManaged by NetPadYes
Self-HostedEnterprises with compliance/data residency requirementsYour MongoDB Atlas clusterYes
StandaloneProduction deployment of specific apps without NetPad dependencyYour own MongoDBNo

Mode 1: Cloud (netpad.io)โ€‹

The Cloud mode is NetPad's fully managed SaaS offering at netpad.io.

AspectDetails
What it isFully managed SaaS at netpad.io
Best forTeams wanting zero infrastructure management
Data locationManaged by NetPad
Multi-tenancyYes (organizations, projects, teams)
RAG/Vector SearchRequires Team tier + M10+ Atlas cluster
Environment variableNETPAD_DEPLOYMENT_MODE=cloud
BillingStripe-integrated subscription tiers
UpdatesAutomatic, managed by NetPad

Key Pointsโ€‹

  • Recommended starting point - Zero setup required to get started
  • All features available based on your subscription tier
  • No infrastructure to manage - NetPad handles hosting, scaling, and maintenance
  • Automatic updates - Always running the latest version
  • Data stored on NetPad's managed infrastructure - We handle backups and security

When to Choose Cloudโ€‹

  • You want to start building immediately without setup
  • Your team doesn't have DevOps resources
  • You prefer predictable subscription pricing
  • You don't have strict data residency requirements

Mode 2: Self-Hostedโ€‹

Self-Hosted mode runs the full NetPad platform on your own infrastructure.

AspectDetails
What it isFull NetPad platform on your infrastructure
Best forEnterprises with compliance/data residency requirements
Data locationYour MongoDB Atlas cluster
Multi-tenancyYes (same architecture as Cloud)
RAG/Vector SearchAvailable to ALL tiers with Atlas Local
Environment variableNETPAD_DEPLOYMENT_MODE=self-hosted
BillingYou manage (can disable Stripe features)
UpdatesManual - you pull from GitHub

Key Pointsโ€‹

  • Same codebase as Cloud - Full feature parity
  • Complete data control - Your data stays on your infrastructure
  • RAG for all tiers - Use Atlas Local (Docker) for Vector Search without M10+ upgrade
  • You are responsible for updates, security, backups, and maintenance
  • Ideal for data sovereignty, air-gapped environments, custom integrations

When to Choose Self-Hostedโ€‹

  • You have compliance requirements (HIPAA, GDPR, SOC2)
  • Data must reside in specific geographic regions
  • You need air-gapped deployment
  • You want RAG features without paying for M10+ Atlas clusters
  • You have existing infrastructure and DevOps expertise

See the Self-Hosted Deployment Guide for detailed setup instructions.

Mode 3: Standalone (Exported Apps)โ€‹

Standalone mode is for single exported applications running completely independently from NetPad.

AspectDetails
What it isSingle exported application running independently
Best forProduction deployment of specific apps without NetPad dependency
Data locationUser's own MongoDB (direct connection)
Multi-tenancyNo - single application only
RAG/Vector SearchUser provides OpenAI API key
Environment variableSTANDALONE_MODE=true
BillingNone - completely independent
UpdatesNone - exported code is yours

Key Pointsโ€‹

  • True ownership - This is the "escape hatch" for complete independence
  • No NetPad infrastructure required to run the exported app
  • Simplified architecture - No Platform Database, direct MongoDB connection
  • You must provide your own:
    • MongoDB connection string
    • OpenAI API key (for conversational forms)
  • Conversation transcripts stored differently (see Data Architecture below)

When to Choose Standaloneโ€‹

  • You've built a production-ready app and want to own the deployment
  • You need a dedicated app without ongoing NetPad dependency
  • You want to embed a form in your existing application
  • You need maximum control over the runtime environment

Feature Comparisonโ€‹

FeatureCloudSelf-HostedStandalone
Infrastructure managementNetPadYouYou
Multi-tenancyโœ…โœ…โŒ
Organizations & Teamsโœ…โœ…โŒ
Automatic updatesโœ…โŒโŒ
Data ownershipNetPadYouYou
RAG without M10 clusterโŒโœ…N/A
Custom domainPremiumโœ…โœ…
Billing integrationโœ…OptionalโŒ
Marketplace accessโœ…โœ…โŒ
Export to Standaloneโœ…โœ…N/A

Data Architectureโ€‹

Understanding how data is stored differently across deployment modes is critical for developers.

Conversation Transcript Storageโ€‹

ModeStorage PathDescription
Cloud_formMetadata.conversationalNested under form metadata
Self-Hosted_formMetadata.conversationalSame as Cloud
Standaloneconversational (root level)Simplified, at document root

Why the difference?

  • Cloud/Self-Hosted use a Platform Database that syncs to target MongoDB, requiring a structured metadata wrapper
  • Standalone writes directly to user's MongoDB with a simpler schema for easier querying
  • This is intentional - standalone apps prioritize simplicity and direct database access

Submission Document Structureโ€‹

Cloud/Self-Hosted Structureโ€‹

{
_id: ObjectId,
submissionId: "sub_xxx",
formId: "form_xxx",
orgId: "org_xxx",
data: { /* form field values */ },
_formMetadata: {
formName: "Contact Form",
formSlug: "contact",
submittedAt: ISODate,
conversational: {
conversationId: "conv_xxx",
transcript: [
{ role: "assistant", content: "Hello!", timestamp: ISODate },
{ role: "user", content: "Hi there", timestamp: ISODate }
],
topicsCovered: [...],
overallConfidence: 0.95,
turnCount: 8,
durationSeconds: 120
}
}
}

Standalone Structureโ€‹

{
_id: ObjectId,
submissionId: "sub_xxx",
formSlug: "contact",
data: { /* form field values */ },
conversational: {
conversationId: "conv_xxx",
transcript: [...],
topicsCovered: [...],
overallConfidence: 0.95,
turnCount: 8,
durationSeconds: 120
},
metadata: {
submittedAt: ISODate,
isConversational: true
}
}

Environment Variables Referenceโ€‹

Cloud Modeโ€‹

NETPAD_DEPLOYMENT_MODE=cloud
NEXT_PUBLIC_NETPAD_DEPLOYMENT_MODE=cloud # For client-side badge

Self-Hosted Modeโ€‹

NETPAD_DEPLOYMENT_MODE=self-hosted
NEXT_PUBLIC_NETPAD_DEPLOYMENT_MODE=self-hosted
MONGODB_URI=mongodb+srv://...

# Optional: Atlas Local for RAG
# docker run -d -p 27017:27017 mongodb/mongodb-atlas-local

Standalone Modeโ€‹

STANDALONE_MODE=true
MONGODB_URI=mongodb+srv://...
MONGODB_DATABASE=my_app_db
OPENAI_API_KEY=sk-... # Required for conversational forms
NEXT_PUBLIC_APP_URL=https://myapp.com

See the Configuration Guide for a complete environment variables reference.


Migration Guidesโ€‹

Cloud โ†’ Standalone Exportโ€‹

  1. Navigate to your application in NetPad Cloud
  2. Click "Export" โ†’ "Standalone Next.js App"
  3. Download the generated project
  4. Configure environment variables (see Standalone Mode above)
  5. Deploy to Vercel, Netlify, or your own infrastructure

Self-Hosted โ†’ Cloudโ€‹

  • Contact the NetPad team for data migration assistance
  • Note: Organization structure will need to be recreated in the Cloud instance

Decision Flowchartโ€‹

Use this guide to choose the right deployment mode:

  1. Do you need zero maintenance and want to start immediately?

    • Yes โ†’ Cloud
  2. Do you have compliance or data residency requirements?

    • Yes โ†’ Self-Hosted
  3. Do you need a dedicated production app without NetPad dependency?

    • Yes โ†’ Standalone
  4. Do you need multi-tenancy (organizations, teams, projects)?

    • Yes โ†’ Cloud or Self-Hosted
    • No โ†’ Consider Standalone for single-app deployments
  5. Do you want RAG features without M10+ Atlas costs?

    • Yes โ†’ Self-Hosted with Atlas Local

How to Identify Your Current Modeโ€‹

In the NetPad application, check the badge in your user menu (top-right avatar dropdown):

  • "Cloud" badge โ†’ Running on netpad.io
  • "Self-Hosted" badge โ†’ Running on your infrastructure

Standalone apps don't have this UI element since they operate independently.


Frequently Asked Questionsโ€‹

Can I start with Cloud and move to Standalone later?โ€‹

Yes! This is a recommended pattern. Prototype and develop in Cloud, then export to Standalone when you're ready for production deployment.

Will my conversational form transcripts work the same in Standalone?โ€‹

Yes, the functionality is identical. However, transcripts are stored at a different path in the document (conversational vs _formMetadata.conversational). Update your queries accordingly if migrating.

Do I need an M10 Atlas cluster for Self-Hosted?โ€‹

No! Self-hosted deployments can use Atlas Local (Docker) for Vector Search features without upgrading to M10. This is one of the main benefits of self-hosting.

Can Standalone apps connect back to NetPad?โ€‹

No, standalone apps are completely independent. They have no connection to NetPad infrastructure and operate as self-contained applications.

How do updates work for each mode?โ€‹

ModeUpdate Process
CloudAutomatic - always on the latest version
Self-HostedManual - pull from GitHub and redeploy
StandaloneNone - exported code is yours to maintain

Can I switch between modes?โ€‹

  • Cloud โ†” Self-Hosted: Contact NetPad team for migration assistance
  • Cloud/Self-Hosted โ†’ Standalone: Use the Export feature
  • Standalone โ†’ Cloud/Self-Hosted: Not directly supported - would require recreating the form

Next Stepsโ€‹