# Hetzner Cloud vs Kamal

| Attribute | Hetzner Cloud | Kamal |
|---|---|---|
| **vioscaleAI score** | 41.4 (53% (medium)) | 49.9 (24% (low)) |
| activity.commits_last_30d | - | 29 |
| adoption.dependent_repos | - | 3 |
| adoption.github_stars | - | 14,634 |
| content.faq | - | `[{"answer":"A containerized application deployment tool that enables web apps to run across any infrastructure—bare metal, cloud, or hybrid—while maintaining complete freedom to change or combine providers without vendor dependency. It is indexed under Hosting Infrastructure.","source":"https://kamal-deploy.org","question":"What is Kamal?","confidence":0.6},{"answer":"Kamal is open source, so it can be self-hosted and used at no licence cost. It is released under the MIT licence. Pricing changes often, so verify at source before relying on it.","source":"https://kamal-deploy.org","question":"Is Kamal free to use?","confidence":0.6},{"answer":"Kamal supports macOS, Linux and a command-line interface. Platforms we have not confirmed are simply not listed here rather than ruled out.","source":"https://kamal-deploy.org","question":"What platforms does Kamal support?","confidence":0.6},{"answer":"Yes. Kamal can be deployed cloud / SaaS and self-hosted, so it does not have to run on the vendor's infrastructure.","source":"https://kamal-deploy.org","question":"Can Kamal be self-hosted?","confidence":0.6},{"answer":"Yes. Kamal is published under the MIT licence, a permissive licence that generally allows commercial use and modification. Licence terms can change between releases, so verify against the repository for the version you intend to use.","source":"https://github.com/basecamp/kamal","question":"Is Kamal open source?","confidence":0.95}]` |
| deployment.options | `{"cloud":true}` | `{"cloud":true,"on_prem":true}` |
| description.long | A cloud hosting service offering shared and flexible computing resources for development, testing, and small-to-medium workloads, with API and CLI access for automation and infrastructure management. | An open-source deployment tool that enables zero-downtime releases of containerized web applications, supporting deployment from physical servers to cloud VMs with multi-server orchestration via SSH. |
| integrations.count | 5 | - |
| integrations.list | `[{"name":"Python","native":true},{"name":"Go","native":true},{"name":"Ansible","native":true},{"name":"Terraform","native":true},{"name":"Kubernetes","native":true}]` | - |
| language.primary | - | Ruby |
| license.spdx | - | MIT |
| market.availability | `{"hqCountry":"DE","primaryMarkets":["DE"],"availabilityScope":"global","availableCountries":[],"notAvailableCountries":[]}` | - |
| platform.support | `{"cli":true,"web":true}` | `{"cli":true,"mac":true,"linux":true}` |
| pricing | `{"type":"subscription","currency":"USD","sourceUrl":"https://www.hetzner.com/cloud","retrievedAt":"2026-10-15T21:09:22.951Z"}` | `{"type":"open_source","sourceUrl":"https://kamal-deploy.org","retrievedAt":"2026-08-31T14:00:34.347Z"}` |
| pricing.model | commercial | commercial |
| pricing.price_level | unknown | free |
| pricing.transparent | yes | - |
| release.cadence_days | - | 19 |
| release.history | - | `[{"url":"https://github.com/basecamp/kamal/releases/tag/v2.12.0","date":"2026-06-18T07:58:33Z","type":"stable","version":"v2.12.0"},{"url":"https://github.com/basecamp/kamal/releases/tag/v2.11.0","date":"2026-03-18T14:02:17Z","type":"stable","version":"v2.11.0"},{"url":"https://github.com/basecamp/kamal/releases/tag/v2.10.1","date":"2025-12-16T08:50:04Z","type":"stable","version":"v2.10.1"},{"url":"https://github.com/basecamp/kamal/releases/tag/v2.10.0","date":"2025-12-15T12:53:08Z","type":"stable","version":"v2.10.0"},{"url":"https://github.com/basecamp/kamal/releases/tag/v2.9.0","date":"2025-11-26T11:45:04Z","type":"stable","version":"v2.9.0"},{"url":"https://github.com/basecamp/kamal/releases/tag/v2.8.2","date":"2025-10-27T09:14:15Z","type":"stable","version":"v2.8.2"},{"url":"https://github.com/basecamp/kamal/releases/tag/v2.8.1","date":"2025-10-20T21:43:17Z","type":"stable","version":"v2.8.1"},{"url":"https://github.com/basecamp/kamal/releases/tag/v2.8.0","date":"2025-10-19T14:11:46Z","type":"stable","version":"v2.8.0"},{"url":"https://github.com/basecamp/kamal/releases/tag/v1.9.3","date":"2025-06-25T07:30:22Z","type":"stable","version":"v1.9.3"},{"url":"https://github.com/basecamp/kamal/releases/tag/v2.7.0","date":"2025-06-18T09:45:28Z","type":"stable","version":"v2.7.0"},{"url":"https://github.com/basecamp/kamal/releases/tag/v2.6.1","date":"2025-05-15T14:25:18Z","type":"stable","version":"v2.6.1"},{"url":"https://github.com/basecamp/kamal/releases/tag/v2.6.0","date":"2025-05-13T09:27:34Z","type":"stable","version":"v2.6.0"},{"url":"https://github.com/basecamp/kamal/releases/tag/v2.5.3","date":"2025-02-27T10:37:01Z","type":"stable","version":"v2.5.3"},{"url":"https://github.com/basecamp/kamal/releases/tag/v2.5.2","date":"2025-02-07T15:31:39Z","type":"stable","version":"v2.5.2"},{"url":"https://github.com/basecamp/kamal/releases/tag/v2.5.1","date":"2025-02-06T13:57:48Z","type":"stable","version":"v2.5.1"},{"url":"https://github.com/basecamp/kamal/releases/tag/v2.5.0","date":"2025-02-04T11:21:18Z","type":"stable","version":"v2.5.0"},{"url":"https://github.com/basecamp/kamal/releases/tag/v2.4.0","date":"2024-12-13T12:39:24Z","type":"stable","version":"v2.4.0"},{"url":"https://github.com/basecamp/kamal/releases/tag/v2.3.0","date":"2024-10-31T09:22:51Z","type":"stable","version":"v2.3.0"},{"url":"https://github.com/basecamp/kamal/releases/tag/v2.2.2","date":"2024-10-10T17:30:20Z","type":"stable","version":"v2.2.2"},{"url":"https://github.com/basecamp/kamal/releases/tag/v2.2.1","date":"2024-10-09T18:49:03Z","type":"stable","version":"v2.2.1"}]` |
| reliability.sla_pct | 99.9 | - |
| security.certifications | `[{"name":"C5 (BSI)","level":"C5","status":"active"}]` | - |
| security.gdpr | yes | - |
| security.iso27001 | yes | - |
| security.vulnerabilities | - | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=rubygems&package_name=kamal&per_page=100","last_12m":0,"max_severity":null}` |

*Source: vioscaleAI. Generated 2026-10-20T11:59:45.091Z. "-" = undocumented, not absent.*
