User GuideDeployment
Deployment
TinyShip deployment guide
TinyShip supports multiple deployment methods. Choose the one that fits your needs.
Deployment Methods Comparison
| Method | Use Case | Pros | Cons | Difficulty |
|---|---|---|---|---|
| Cloud Platform | Production | Auto-scaling, no maintenance | Possible vendor lock-in | Easy |
| Dokploy | Production | Self-hosted, Git-based deploy | Requires server maintenance | Medium |
| Docker | Containerized | Consistent environment, scalable | Requires Docker knowledge | Medium |
| Traditional | Dev/Test | Simple, direct version control | Requires dev environment, slow builds | Complex |
Recommended Approaches
- For Production: Cloud Platform, Dokploy Deployment, or Docker Deployment
- For Dev/Test: Traditional Deployment
- Quick Validation: Traditional Deployment
Pre-deployment Preparation
Regardless of deployment method, complete the following:
- Configure production environment variables
- Set up production database
- Configure domain and SSL certificate
- Update callback URLs to production domain
Environment Variables Checklist
# Required
DATABASE_URL="postgresql://..."
BETTER_AUTH_SECRET="your-32-char-secret"
BETTER_AUTH_URL="https://yourdomain.com"
# Configure based on features needed
STRIPE_SECRET_KEY="sk_live_..."
STRIPE_WEBHOOK_SECRET="whsec_..."
OPENAI_API_KEY="sk-..."General Preparation
-
Environment Variables Configuration
# Copy environment variables template cp .env.example .env # Edit to configure actual production environment variables -
Database Preparation
pnpm db:generate pnpm db:migrate pnpm db:check -
Health Check
- Next.js:
http://your-domain/api/health - Nuxt.js:
http://your-domain/api/health
- Next.js:
Choose Deployment Method
Cloud Platform
Vercel, Netlify, Railway one-click deploy
Dokploy Deployment
Self-hosted platform with Git-based deployments
Docker Deployment
Docker Compose containerized deployment
Traditional Deployment
VPS server PM2 deployment
Quick Commands Comparison
| Operation | Traditional | Docker | Dokploy | Cloud Platform |
|---|---|---|---|---|
| Build | pnpm build:next | docker build -t tinyship-next . | Auto build | Auto build |
| Start | pnpm start:next | docker compose --profile next up -d | Auto deploy | Auto deploy |
| View Logs | pm2 logs tinyship-next | docker compose logs -f | Dashboard logs | Platform console |
| Restart | pm2 restart tinyship-next | docker compose restart | Dashboard restart | Platform console |
Feature Support Comparison
| Feature | Traditional | Docker | Dokploy | Cloud Platform |
|---|---|---|---|---|
| Environment Isolation | No | Yes | Yes | Yes |
| Auto Restart | Yes (PM2) | Yes | Yes | Yes |
| Horizontal Scaling | No | Manual | Manual | Yes |
| Zero Downtime Deploy | No | Manual | Manual | Yes |
| Auto Backup | No | No | No | Yes |
| Monitoring & Alerts | Manual | Manual | Manual | Yes |
Deployment Checklist
Pre-deployment Checks
- Environment variables configured (
.env) - Database connection working (
pnpm db:check) - All dependencies installed (
pnpm install) - Application builds successfully (
pnpm build:nextorpnpm build:nuxt)
Post-deployment Verification
- Application is accessible
- Health check endpoint working (
/api/health) - Database operations working
- Static assets loading correctly
- Authentication working
Production Environment Extra Checks
- HTTPS certificate valid
- Logging working correctly
- Monitoring and alerting configured
- Backup strategy implemented
- Performance optimization completed
Getting Help
Having issues? Check the troubleshooting section for your deployment method: