Skip to content

Paresh-Maheshwari/hoppscotch-self-hosted-docs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Hoppscotch Self-Hosted Setup

This directory contains complete setup files for running Hoppscotch Community Edition in a self-hosted environment.

πŸ“ Directory Structure

β”œβ”€β”€ HOPPSCOTCH_INSTALLATION_GUIDE.md  # Complete installation guide
β”œβ”€β”€ EC2_DEPLOYMENT_GUIDE.md           # AWS EC2 deployment guide
β”œβ”€β”€ SMTP_EXAMPLES.md                  # Production SMTP configurations
β”œβ”€β”€ basic-setup/                      # Individual containers (no email)
β”‚   β”œβ”€β”€ docker-compose.yml
β”‚   β”œβ”€β”€ .env
β”‚   └── start.sh
β”œβ”€β”€ email-setup/                      # Individual containers (with email)
β”‚   β”œβ”€β”€ docker-compose.yml
β”‚   β”œβ”€β”€ .env
β”‚   └── start.sh
β”œβ”€β”€ aio-setup/                        # All-in-One container
β”‚   β”œβ”€β”€ docker-compose.yml
β”‚   β”œβ”€β”€ .env
β”‚   └── start.sh
β”œβ”€β”€ ec2-setup.sh                      # AWS EC2 one-click setup
└── README.md                         # This file

πŸš€ Quick Start Options

Option 1: Basic Setup (Individual Containers, No Email)

cd basic-setup/
./start.sh

Option 2: Email Setup (Individual Containers, With Email)

cd email-setup/
./start.sh

Option 3: AIO Container (All-in-One)

cd aio-setup/
./start.sh
  • Use case: Simple deployment, production
  • Access: http://localhost:3000/ (Subpath routing)
  • Desktop app: βœ… Supported

Option 4: AWS EC2 Deployment (Public Access)

./ec2-setup.sh
  • Use case: Production deployment with public IP
  • Access: http://YOUR_EC2_PUBLIC_IP:3000
  • Desktop app: βœ… Supported
  • Requirements: EC2 instance with proper security groups

Option 5: AWS ECS + RDS Deployment (Production Scale)

./deploy-ecs-rds.sh
  • Use case: Production-grade scalable deployment
  • Access: https://your-domain.com
  • Features: Auto-scaling, managed database, load balancing
  • Requirements: AWS account, domain, SSL certificate
  • Access: https://your-domain.com
  • Features: Auto-scaling, managed database, load balancing
  • Requirements: AWS account, domain, SSL certificate

πŸ“– Documentation

πŸ”§ Manual Setup

If you prefer manual setup:

  1. Choose your setup type (basic, email, aio, or ec2)
  2. Copy the files from the respective directory
  3. Run the commands:
    docker compose up -d
    sleep 30
    docker compose run --rm <service_name> pnpm dlx prisma migrate deploy

πŸ“± Desktop App Support

All setups include desktop app support with:

  • βœ… ENABLE_SUBPATH_BASED_ACCESS=true
  • βœ… Port 3200 exposed (individual containers)
  • βœ… Proper CORS origins configured
  • βœ… Bundle server support

🌐 Public Access Configurations

Local Development

Production Deployment

πŸ†˜ Troubleshooting

Common Issues

  • Port conflicts: Check if ports 3000, 3100, 3170, 5432 are free
  • Email not working: Ensure MailHog container is running
  • Desktop app issues: Verify ENABLE_SUBPATH_BASED_ACCESS=true
  • Database errors: Try clearing config: docker exec -it hoppscotch-postgres psql -U hoppscotch -d hoppscotchdb -c "TRUNCATE \"InfraConfig\";"
  • Public access issues: Check security groups and firewall rules

Migration Errors

If you see "Database migration not found":

# Run migrations manually
docker compose run --rm <service_name> pnpm dlx prisma migrate deploy

Reset Everything

docker compose down
docker volume rm $(docker volume ls -q | grep pgdata)
docker compose up -d
sleep 30
docker compose run --rm <service_name> pnpm dlx prisma migrate deploy

πŸ“‹ Default Ports

Service Port URL Notes
Frontend 3000 http://localhost:3000 Main app
Frontend (Alt) 80 http://localhost Alternative access
Admin 3100 http://localhost:3100 Admin panel
Backend 3170 http://localhost:3170 API server
Desktop Bundle 3200 http://localhost:3200 Desktop app support
PostgreSQL 5432 localhost:5432 Database
MailHog SMTP 1025 localhost:1025 Email server
MailHog UI 8025 http://localhost:8025 Email viewer

πŸ” Security Notes

  • Change DATA_ENCRYPTION_KEY in production (32 characters)
  • Use strong PostgreSQL passwords
  • Configure HTTPS with reverse proxy for production
  • Regular backups recommended
  • Never commit .env files to version control
  • For EC2: Configure security groups properly
  • For public access: Use SSL/TLS certificates

🌐 Production Deployment

For production:

  1. Use strong passwords and encryption keys
  2. Configure HTTPS with reverse proxy (nginx/traefik)
  3. Use external PostgreSQL database (RDS recommended)
  4. Configure real SMTP server (see SMTP_EXAMPLES.md)
  5. Set up monitoring and backups
  6. Use Docker secrets for sensitive data
  7. Configure proper security groups (EC2)
  8. Use Elastic IP for static public IP (EC2)

πŸ“š Additional Resources


For detailed instructions, see HOPPSCOTCH_INSTALLATION_GUIDE.md

About

Complete documentation and deployment scripts for self-hosting Hoppscotch Community Edition with Docker, EC2, and ECS+RDS options

Resources

License

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages