Docker Deployment
Deploy Plugged.in using Docker for consistent, scalable, and portable deployments across any environment.Quick Start
Multi-Architecture Support
NEW: Plugged.in now supports both AMD64 and ARM64 architectures!Our Docker images are now available as multi-architecture builds on Docker Hub, automatically selecting the correct platform for your system.
AMD64 (x86_64)
✅ Intel/AMD processors
✅ Most cloud platforms
✅ Traditional servers
ARM64 (aarch64)
✅ Apple Silicon (M1/M2/M3)
✅ AWS Graviton
✅ Raspberry Pi 4+
Verify Platform Support
Check available architectures for any version:Docker automatically pulls the correct architecture for your platform. No manual configuration needed!
Docker Hub Deployment
Using Pre-built Image
1
Pull Image
2
Run with Docker Compose
Publishing Multi-Arch Images to Docker Hub
Use the provided
docker-build.sh script for automated multi-architecture builds and publishing.1
Build Multi-Arch Image
- Sets up Docker buildx for multi-platform builds
- Builds for both
linux/amd64andlinux/arm64 - Creates unified manifest
- Pushes to Docker Hub
- Tags both version and
latest
2
Manual Multi-Arch Build (Advanced)
3
Verify Multi-Arch Upload
Docker Architecture
Application Container
- Next.js 15 application
- Node.js 20 runtime
- MCP proxy server
- Port 12005 exposed
Database Container
- PostgreSQL 18-alpine
- Persistent volume
- Health checks enabled
- Port 5432 exposed
Redis Container
- Redis 7-alpine
- Distributed rate limiting
- AOF persistence enabled
- Port 6379 exposed
Migrator Container
- One-time migration runner
- Optimized size (288 MB)
- Auto-stops after migrations
- Drizzle ORM migrations
Persistent Volumes
- Database data
- Redis data (AOF)
- User uploads
- Application logs
- MCP package cache
What’s Included
- ✅ PostgreSQL 18 (latest stable) with automatic migrations
- ✅ Redis 7 for distributed rate limiting and caching
- ✅ Next.js 15 web application with optimized production build
- ✅ Persistent volumes for database, Redis, uploads, logs, and MCP packages
- ✅ Health checks and automatic restarts
- ✅ Migrator container (288 MB) for database setup
- ✅ Docker-optimized MCP isolation (no sandboxing overhead)
- ✅ OAuth 2.1 support with proper redirect configuration
Production Dockerfile
The project includes two Dockerfiles:- Dockerfile - Standard build with sandboxing support
- Dockerfile.production - Optimized production build
Standard Dockerfile Features
Docker Compose Configuration
Development Setup
Production Setup
Environment Variables
Create.env file for Docker deployment:
Redis and Edge Runtime BehaviorThe rate limiter automatically detects the runtime environment:For production multi-instance deployments, ensure
- Node.js Runtime (API routes, server actions): Uses Redis with
ioredisfor distributed rate limiting - Edge Runtime (middleware, edge functions): Falls back to in-memory rate limiting as
ioredisrequires Node.js APIs
REDIS_URL is configured to enable distributed rate limiting for Node.js runtime routes.Building and Running
Build Image
Run Containers
- Development
- Production
Database Management
Migrations
Backup and Restore
Upgrading PostgreSQL
Upgrading from PostgreSQL 16 or earlier to 18
- Option 1: Fresh Start (Data Loss)
- Option 2: Data Migration
Verify PostgreSQL Version
Nginx Configuration
Createnginx.conf for production:
Health Monitoring
Health Check Endpoint
The application provides a health check endpoint:Docker Health Check
Scaling Strategies
Horizontal Scaling
Load Balancing
Use Docker Swarm or Kubernetes for advanced load balancing:Troubleshooting
Common Issues
Container fails to start
Container fails to start
Check logs:Verify environment variables and database connection
Database connection issues
Database connection issues
Verify database is running:Check connection string in .env file
Permission errors
Permission errors
Fix ownership:
Out of memory
Out of memory
Increase memory limits:
Debug Mode
Enable debug logging:Container Access
Security Best Practices
1. Use Docker Secrets
2. Non-root User
Always run containers as non-root:3. Read-only Root Filesystem
4. Network Isolation
Backup Strategy
Automated backup script:Support
For Docker deployment help:- Documentation: docs.plugged.in
- Docker Hub: hub.docker.com/r/veriteknik/pluggedin
- GitHub Issues: Report issues

