Docker
Section titled “Docker”We’ve deployed thousands of containerized applications at scale and have optimized the sherpa.sh infrastructure for maximum Docker performance. When deploying Docker containers to sherpa.sh you get additional performance and scalability benefits you wouldn’t get when self-hosting - with zero-configuration - thanks to our container-optimized architecture.
Supported Frameworks
Section titled “Supported Frameworks”If it works in a Docker container on your machine, it works on sherpa.sh. Full stop. No magic tricks, no obscure configuration requirements – just containers doing what containers do best: containing things.
Popular frameworks we’ve seen deployed (but certainly not limited to):
- Django
- Rails
- Laravel
- Express.js
- Flask
- Spring Boot
- FastAPI
- Phoenix
- ASP.NET Core
- Strapi
- NestJS
We’ve even seen people containerize legacy Yesod (Haskell) applications. We didn’t ask why, and neither should you.
Supported Features
Section titled “Supported Features”Feature | Support |
---|---|
Custom Dockerfile | ✅ |
Multistage builds | ✅ |
Custom port configuration | ✅ |
Environment variables | ✅ |
Secrets management | ✅ |
Autoscaling scale | ✅ |
Multi region deployment | Enterprise Only |
Blue/green deployment | ✅ |
Health checks | ✅ |
Container logs | ✅ |
Custom resource allocation | ✅ |
Docker Quickstart
Section titled “Docker Quickstart”To deploy your first Docker container, follow our quick start guide. Your container will be live in ~2 minutes.
What you get out of the box:
- Zero-configuration deployments that just work
- Automatic HTTPS and custom domain support
- Built-in performance optimization
- Global, production-ready infrastructure that can scale
- Never pay for idle instances. Only pay for what you use
Architecture
Section titled “Architecture”To maximize performance - and savings - we build and deploy your Docker containers using our optimized infrastructure. When you push your code, we:
- Detect your Dockerfile in your repository
- Build your container image in the same directory as your Dockerfile
- Deploy to your configured region(s)
- Auto-scale horizontally based on traffic patterns. Has traffic increases we spend up more containers. As traffic decreases we spin down those containers.
Configuration
Section titled “Configuration”We believe in convention over configuration. Your existing Dockerfile works immediately - no additional setup required. When you need customization, our platform stays flexible.
Dockerfile Requirements
Section titled “Dockerfile Requirements”- Your Docker file can use any name. It doesn’t have to be
Dockerfile
. Just specify it in the settings. - Must expose a port via the
EXPOSE
instruction. You must set this value inside of the application settings. - Should follow Docker best practices for layer caching and image size. This is not necessary. It will just help speed up your build time.
CDN Integration
Section titled “CDN Integration”All Docker container deployments are automatically placed behind our global CDN. This provides:
-
Automatic static asset caching: The CDN respects any cache-control headers returned by your application
-
Framework-specific optimizations: Our CDN will automatically cache the static assets the application you are using as long as they are served over HTTP from the Docker container. This will work out the box for most frameworks.
Django Example:
For Django applications, static files served from your/static/
directory will automatically be cached by the CDN according to your cache headers. For optimal performance, set:pythonCopy# settings.pySTATIC_URL = '/static/'STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.ManifestStaticFilesStorage'
Rails Example:
For Rails applications, assets compiled with the asset pipeline will be cached by the CDN. Configure your production environment with:rubyCopy# config/environments/production.rbconfig.public_file_server.headers = {'Cache-Control' => 'public, max-age=31536000'}config.assets.compile = falseconfig.assets.digest = true
Auto-scaling
Section titled “Auto-scaling”Your containers automatically scale based on traffic patterns:
- Scale up: New container instances are provisioned when traffic increases
- Scale down: Unused containers are gracefully terminated when traffic decreases
Enterprise Features
Section titled “Enterprise Features”Have a unique need? Our enterprise features deliver additional capabilities:
- Multi-region deployments: Deploy your containers to multiple geographic regions for global performance
- Custom build configurations: Have a special need? We can customize our platform
- Advanced security features: If you need SOC II, HIPAA, or FedRamp certified deployments
- Dedicated support staff: Dedicated account manager and support engineers for your company’s unique needs