One-line commands to deploy Rock Spotter to any platform.
git clone https://github.com/jmenichole/Rock-Spotter.git && cd Rock-Spotter && docker-compose up -d
Then visit: http://localhost:3000/api/health
npm i -g railway && railway login && railway init && railway add && railway up
MongoDB included! No external setup needed.
heroku login && \
heroku create rock-spotter-api && \
heroku addons:create mongolab:sandbox && \
heroku config:set JWT_SECRET=$(openssl rand -hex 32) && \
git push heroku main
Via Dashboard (10 minutes):
cd backend && npm installcd backend && npm startNote: Vercel is for frontend/serverless. Rock Spotter uses Express with persistent connections. Use Render/Railway instead.
pip install awsebcli && \
eb init -p node.js rock-spotter-api && \
eb create rock-spotter-env && \
eb setenv MONGODB_URI="your-uri" JWT_SECRET="your-secret"
az login && \
az webapp up --name rock-spotter-api --runtime "NODE:18-lts" && \
az webapp config appsettings set --settings MONGODB_URI="your-uri" JWT_SECRET="your-secret"
gcloud run deploy rock-spotter-api \
--source ./backend \
--platform managed \
--region us-central1 \
--allow-unauthenticated \
--set-env-vars MONGODB_URI="your-uri",JWT_SECRET="your-secret"
fly launch --name rock-spotter-api && \
fly secrets set MONGODB_URI="your-uri" JWT_SECRET="your-secret" && \
fly deploy
# On your VPS
git clone https://github.com/jmenichole/Rock-Spotter.git && \
cd Rock-Spotter/backend && \
npm install && \
npm install -g pm2 && \
cp .env.example .env && \
# Edit .env with your settings
pm2 start src/server.js --name rock-spotter && \
pm2 startup && \
pm2 save
cd Rock-Spotter/backend && \
npm install && \
cp .env.example .env && \
npm start
./verify-deployment.sh https://your-api-url.com
| Your Need | Platform | Why |
|---|---|---|
| Quick test | Docker | Instant local setup |
| Free forever | Render | 750 hrs/month free |
| Easiest | Railway | MongoDB included, $5 credit |
| Production | DigitalOcean | $200 credit, professional |
| Enterprise | AWS/Azure/GCP | Scalable, full control |
| Hobby | Heroku | Classic, reliable |
docker-compose up -d # Start locally
# Railway (easiest with MongoDB)
npm i -g railway && railway login && railway up
Before deploying:
# Generate secure JWT secret
openssl rand -hex 32
# Or with Node.js
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
Set this as JWT_SECRET in your deployment platform!
./deploy-setup.sh./verify-deployment.sh YOUR_URLAlready have Docker? Just run:
curl -s https://raw.githubusercontent.com/jmenichole/Rock-Spotter/main/docker-compose.yml | docker-compose -f - up -d
Want Railway? Just run:
npx railway login && npx railway up
Pick a platform, copy-paste, deploy! π
Most platforms take 2-5 minutes to get your API live!