This directory contains complete setup files for running Hoppscotch Community Edition in a self-hosted environment.
βββ 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
cd basic-setup/
./start.sh- Use case: API testing, development
- Access: http://localhost:3000
- Desktop app: β Supported
cd email-setup/
./start.sh- Use case: Full featured with user management
- Access: http://localhost:3100 (Admin), http://localhost:8025 (Email UI)
- Desktop app: β Supported
cd aio-setup/
./start.sh- Use case: Simple deployment, production
- Access: http://localhost:3000/ (Subpath routing)
- Desktop app: β Supported
./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
./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
- Complete Guide: HOPPSCOTCH_INSTALLATION_GUIDE.md
- EC2 Deployment: EC2_DEPLOYMENT_GUIDE.md
- SMTP Configuration: SMTP_EXAMPLES.md
If you prefer manual setup:
- Choose your setup type (basic, email, aio, or ec2)
- Copy the files from the respective directory
- Run the commands:
docker compose up -d sleep 30 docker compose run --rm <service_name> pnpm dlx prisma migrate deploy
All setups include desktop app support with:
- β
ENABLE_SUBPATH_BASED_ACCESS=true - β Port 3200 exposed (individual containers)
- β Proper CORS origins configured
- β Bundle server support
- Localhost: http://localhost:3000
- Pinggy Tunnel: https://your-tunnel.pinggy.link
- ngrok: https://your-id.ngrok.io
- EC2 Public IP: http://YOUR_EC2_PUBLIC_IP:3000
- Custom Domain: https://yourdomain.com
- Load Balancer: https://your-alb.region.elb.amazonaws.com
- 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
If you see "Database migration not found":
# Run migrations manually
docker compose run --rm <service_name> pnpm dlx prisma migrate deploydocker 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| 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 |
- Change
DATA_ENCRYPTION_KEYin production (32 characters) - Use strong PostgreSQL passwords
- Configure HTTPS with reverse proxy for production
- Regular backups recommended
- Never commit
.envfiles to version control - For EC2: Configure security groups properly
- For public access: Use SSL/TLS certificates
For production:
- Use strong passwords and encryption keys
- Configure HTTPS with reverse proxy (nginx/traefik)
- Use external PostgreSQL database (RDS recommended)
- Configure real SMTP server (see SMTP_EXAMPLES.md)
- Set up monitoring and backups
- Use Docker secrets for sensitive data
- Configure proper security groups (EC2)
- Use Elastic IP for static public IP (EC2)
- Official Docs: https://docs.hoppscotch.io/
- GitHub: https://github.com/hoppscotch/hoppscotch
- Issues: https://github.com/hoppscotch/hoppscotch/issues
- AWS EC2: https://aws.amazon.com/ec2/
- Docker: https://docs.docker.com/
For detailed instructions, see HOPPSCOTCH_INSTALLATION_GUIDE.md