Why We're Building Hop3: Autonomy and Simplicity¶
There are dozens of ways to deploy a web application. Managed platforms like Heroku and Render. Container orchestrators like Kubernetes. DIY setups with Ansible and bare metal. So why build another tool?
The Problem We're Solving¶
Modern deployment has drifted toward two extremes:
Managed platforms (Heroku, Render, Railway, Vercel) are wonderfully simple. Push your code, get a URL. But they come with trade-offs:
- Your code runs on someone else's infrastructure
- Your data lives in jurisdictions you don't control
- Costs scale unpredictably
- You're locked into their ecosystem
Container orchestrators (Kubernetes, Nomad, Docker Swarm) give you control. But they come with complexity:
- Steep learning curve
- Dedicated operations teams
- Infrastructure overhead
- Overkill for most applications
Most web applications don't need Kubernetes. They need a server, a database, and a way to deploy code reliably. That's what Hop3 provides.
Strategic Autonomy¶
We believe organizations should control their own digital destiny.
For businesses, non-profits, and public administrations, this means:
- Provider independence: No vendor lock-in. Switch hosting providers without rewriting your deployment
- Cost predictability: Escape hyperscaler pricing surprises. A $10/month VPS can run many applications
- Data governance: Know exactly where your data physically resides and which laws govern it
- Full auditability: Open source code means complete transparency. No black boxes
- Interoperability: Standard configurations (Procfile, TOML) that work across platforms
This isn't about ideology—it's practical risk management. When your cloud provider changes terms, raises prices, or discontinues a service, you need options. When regulations require data residency, you need control.
Hop3 runs on your server. Your code, your data, your rules.
Simplicity Without Containers¶
Docker is great for development consistency. Kubernetes is great for massive scale. But for most applications, containers in production add complexity without proportional benefit.
Without containers:
- Fewer moving parts
- Direct debugging access
- Native performance
- Simpler security model
Hop3 deploys applications using virtualenvs, native binaries, and process managers. No container runtime required. (We do support Docker when you need it—but it's optional, not mandatory.)
The piku Heritage¶
Hop3 builds on piku, a tiny PaaS that proves deployment doesn't need to be complicated. piku showed that a single Python script could do 80% of what Heroku does.
We took piku's philosophy and added:
- Client-server architecture: Manage remote servers from your laptop
- Plugin system: Extensibility without monolithic code
- Multi-distribution support: Ubuntu, Debian, Fedora, Rocky, and more
- Modern tooling: Async server, proper testing, type hints
The result is piku's simplicity with production-ready features.
Who Hop3 Is For¶
Small teams who want Heroku-like convenience without vendor lock-in.
Agencies who deploy client projects and need consistent, reproducible deployments.
Enterprises with data residency requirements or compliance constraints on cloud providers.
Educators who want to teach deployment without Kubernetes complexity.
Hobbyists who want to self-host without becoming sysadmins.
Who Hop3 Isn't For¶
Teams that need massive scale: If you're running thousands of containers, use Kubernetes.
Teams that need zero operations: If you truly want to never think about servers, use a managed platform.
Teams with dedicated platform engineers: If you have people whose job is infrastructure, build what you need.
Our Design Principles¶
1. Convention Over Configuration¶
Sensible defaults mean most apps deploy without configuration:
Hop3 detects your language, installs dependencies, and starts your app. Configuration is there when you need it, invisible when you don't.
2. Explicit is Better Than Implicit¶
When you do configure things, configuration is clear and portable:
No magic environment variables. No hidden behaviors.
3. Fail Fast, Fail Clearly¶
When things go wrong, you get actionable errors:
Not "deployment failed" with a stack trace.
4. Batteries Included, Batteries Removable¶
Everything you need works out of the box:
- Nginx reverse proxy
- Let's Encrypt SSL
- PostgreSQL, MySQL, Redis
- Process management
But everything is pluggable. Want Caddy instead of Nginx? Swap the plugin.
Open Source and Sustainability¶
Hop3 is open source under the Apache 2.0 license. We believe infrastructure software should be:
- Auditable: You can read every line of code
- Modifiable: You can fork and customize
- Escaping: You're never locked in
Our development is supported by NGI Zero through the European Commission's Next Generation Internet program. This allows us to focus on the software without chasing venture capital.
The Road Ahead¶
Hop3 is beta software. It works, but it's not finished. Here's what we're working on:
Near term:
- Web dashboard improvements
- More language toolchains
- Better monitoring and observability
- Backup and restore automation
Medium term:
- Nix integration for reproducible builds
- Multi-server support
- Plugin marketplace
- High availability options
Long term:
- Managed Hop3 offering (for those who want simplicity without server management)
- Enterprise features (SSO, audit logging, compliance)
Try It¶
The best way to understand Hop3 is to use it:
# Install on your server
curl -LsSf https://hop3.cloud/install-server.py | sudo python3 -
# Deploy an app
git push hop3 main
See for yourself whether simple deployment is possible.
Get Involved¶
Hop3 is built in the open:
- GitHub: github.com/abilian/hop3
- Documentation: hop3.cloud
- Issues: Report bugs and request features
We'd love your feedback, contributions, and criticism. Building infrastructure software is hard—we can't do it alone.
Ready to get started? Follow our first deployment tutorial to deploy your first app. For configuration details, see the hop3.toml reference.