Skip to main content

Installation Guide

Get up and running with Plugged.in quickly. Choose between using our hosted platform or self-hosting the application.
🚀 Recommended: Use Plugged.in Cloud for the fastest setup with zero configuration. The cloud version is fully managed, always up-to-date, and includes all features out of the box.
The fastest way to get started is using our hosted platform at plugged.in. No installation required!
1

Sign Up

Create your account at plugged.in/register
2

Configure MCP Proxy

Install the MCP proxy following the instructions in your dashboard
3

Add MCP Servers

Browse and add servers from the registry or configure your own
4

Connect Your Client

Use the generated configuration with Claude, Cursor, or other MCP clients

Self-Hosting

For organizations that prefer to host their own instance, follow these comprehensive steps.

Prerequisites

System Requirements

  • Node.js 18+ or 20+
  • PostgreSQL 15+ (18+ recommended)
  • 2GB+ RAM
  • 10GB+ storage

Optional Services

  • Redis (for caching)
  • SMTP server (for emails)
  • S3-compatible storage

Installation Steps

1. Clone the Repositories

git clone https://github.com/VeriTeknik/pluggedin-app.git
cd pluggedin-app

2. Install Dependencies

3. Configure Environment Variables

Create a .env file in the pluggedin-app directory based on .env.example:
  • Required Configuration
  • Email Configuration
  • OAuth Providers
  • AI & Registry
  • Advanced Settings
# Database
DATABASE_URL="postgresql://user:password@localhost:5432/pluggedin"
DATABASE_SSL=false                     # Set to true for production
DATABASE_SSL_REJECT_UNAUTHORIZED=false # Set to false for self-signed certs

# Authentication
NEXTAUTH_URL="http://localhost:12005"
NEXTAUTH_SECRET="your-secret-key-here" # Generate with: openssl rand -base64 32
NEXT_PUBLIC_APP_URL="http://localhost:12005"

# Encryption (REQUIRED for MCP server configs)
NEXT_SERVER_ACTIONS_ENCRYPTION_KEY="" # Generate with: openssl rand -base64 32

# Feature Flags
ENABLE_RAG=true                    # Enable document processing
ENABLE_NOTIFICATIONS=true          # Enable notification system
ENABLE_EMAIL_VERIFICATION=false    # Email verification for new users
Security Requirements:
  1. Generate unique secrets for each key using openssl rand -base64 32
  2. Never commit actual keys to version control
  3. Use different keys for NEXTAUTH_SECRET and UNSUBSCRIBE_TOKEN_SECRET
  4. Enable SSL for production database connections
Quick secret generation commands:
# Generate all required secrets at once
echo "NEXTAUTH_SECRET=$(openssl rand -base64 32)"
echo "NEXT_SERVER_ACTIONS_ENCRYPTION_KEY=$(openssl rand -base64 32)"
echo "UNSUBSCRIBE_TOKEN_SECRET=$(openssl rand -base64 32)"
echo "REGISTRY_INTERNAL_API_KEY=$(openssl rand -base64 32)"

4. Set Up Database

# Create database
createdb pluggedin

# Run migrations
cd pluggedin-app
pnpm db:migrate

# Optional: Run auth migrations
pnpm db:migrate:auth

5. Start the Applications

# Terminal 1: Web application
cd pluggedin-app
pnpm dev

# Terminal 2: MCP Proxy
cd pluggedin-mcp
npm run dev
The application will be available at:
  • Web Interface: http://localhost:12005
  • MCP Proxy: http://localhost:3000
🐳 Docker is the recommended installation method - it includes PostgreSQL 18, automatic migrations, and optimized configuration out of the box.NEW: Multi-architecture support! Our Docker images now support both AMD64 (Intel/AMD) and ARM64 (Apple Silicon, AWS Graviton) platforms.

Option 1: Using Pre-built Images from Docker Hub (Fastest)

Official multi-arch images are available on Docker Hub! Automatically works on both AMD64 and ARM64 platforms.
1

Pull Image

# Docker automatically pulls the correct architecture for your platform
docker pull veriteknik/pluggedin:latest

# Or specific version
docker pull veriteknik/pluggedin:v2.16.0
2

Download Docker Compose File

# Download production compose file
curl -O https://raw.githubusercontent.com/VeriTeknik/pluggedin-app/main/docker-compose.production.yml
3

Configure Environment

# Create .env file
cat > .env <<EOF
DATABASE_URL=postgresql://pluggedin:pluggedin_secure_password@pluggedin-postgres:5432/pluggedin
NEXTAUTH_URL=http://localhost:12005
NEXTAUTH_SECRET=$(openssl rand -base64 32)
NEXT_SERVER_ACTIONS_ENCRYPTION_KEY=$(openssl rand -base64 32)
PLUGGEDIN_API_KEY=$(openssl rand -base64 32)
EOF
4

Start Services

docker-compose -f docker-compose.production.yml up -d
5

Access Application

Open http://localhost:12005 in your browser
Supported Architectures:
  • AMD64 (x86_64) - Intel/AMD processors, most cloud platforms
  • ARM64 (aarch64) - Apple Silicon (M1/M2/M3), AWS Graviton, Raspberry Pi 4+

Option 2: Build from Source

1

Clone Repository

git clone https://github.com/VeriTeknik/pluggedin-app.git
cd pluggedin-app
2

Configure Environment

cp .env.example .env
# Edit .env with your configuration (see environment variables section above)
3

Start Services

docker-compose up --build -d
4

Access Application

Open http://localhost:12005 in your browser

What’s Included in Docker Setup

Application Container

  • Next.js 15 application
  • Node.js 20 runtime
  • MCP proxy integration
  • Port 12005 exposed

Database Container

  • PostgreSQL 18-alpine
  • Automatic migrations
  • Health checks
  • Persistent storage

Migrator Container

  • One-time setup (288 MB)
  • Drizzle ORM migrations
  • Auto-stops after completion

Persistent Volumes

  • Database data
  • User uploads
  • Application logs
  • MCP package cache

Key Features

  • ✅ PostgreSQL 18 (latest stable) with automatic migrations
  • ✅ Optimized production build with health checks
  • ✅ Persistent volumes for data safety
  • ✅ Docker-optimized MCP isolation (no sandboxing overhead)
  • ✅ Automatic restarts and health monitoring

Advanced Docker Configuration

For detailed Docker deployment guides including:
  • Production setup with Nginx
  • Environment variable configuration
  • PostgreSQL upgrade paths
  • Backup strategies
  • Troubleshooting
See the Docker Deployment Guide.

MCP Client Configuration

After installation, configure your MCP client to use Plugged.in.

Claude Desktop

Add to your Claude configuration file:
  • macOS
  • Windows
Location: ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "pluggedin": {
      "command": "node",
      "args": ["/path/to/pluggedin-mcp/dist/index.js"],
      "env": {
        "PLUGGEDIN_API_KEY": "your-api-key"
      }
    }
  }
}

Other MCP Clients

Most MCP clients support similar configuration. Key points:
  • Command: node or npx
  • Script: Path to pluggedin-mcp/dist/index.js
  • API Key: Your Plugged.in API key

Verification

Verify your installation is working:
1

Check Web Interface

Navigate to http://localhost:12005 and verify the page loads
2

Test Database

cd pluggedin-app
pnpm db:migrate
3

Verify MCP Proxy

curl http://localhost:3000/health
4

Test MCP Connection

Open your MCP client and verify it connects to Plugged.in

Troubleshooting

  • Verify PostgreSQL is running
  • Check DATABASE_URL format
  • Ensure database exists
  • Check user permissions
Change the port in .env:
# Change web app port
PORT=3001

# Change MCP proxy port
MCP_PORT=3002
  • Regenerate NEXTAUTH_SECRET
  • Clear browser cookies
  • Check NEXTAUTH_URL matches your domain
  • Verify API key is correct
  • Check MCP proxy is running
  • Review client configuration path
  • Check firewall settings

Next Steps

Support

Need help? We’re here to assist: