FAQ
What is Hadoken?
Hosting for Rails apps. You run hadoken in your project
directory and get a live HTTPS URL. No config files, no Dockerfile,
no infrastructure to manage.
Do I need a Dockerfile?
No. Hadoken reads your Gemfile.lock and builds a container automatically using Cloud Native Buildpacks. No Dockerfile, no Procfile, no YAML.
What does the bare hadoken command do?
It deploys. hadoken is an alias for
hadoken deploy. On first run it detects your app, creates a
project, builds, deploys, and prints the URL. After that, it just deploys.
What gets packaged?
Files tracked by git (git ls-files). Your
.gitignore is respected. Use --include-untracked
to add untracked files.
Can I use SQLite?
Yes. Each app gets a persistent volume. SQLite databases survive across deploys.
What about PostgreSQL or MySQL?
Hadoken detects your database from the gems in your Gemfile.lock
(pg or mysql2). You'll need to set
DATABASE_URL via hadoken env set to point
at your database host.
Do migrations run automatically?
Yes. rails db:prepare runs on every deploy. For manual
migrations, use hadoken run -- rails db:migrate.
How do I set environment variables?
hadoken env set KEY=VALUE. Each change triggers a rolling
restart. Values are encrypted at rest and masked in output by default.
Is the CLI a Ruby gem?
No. It's a standalone Go binary. No Ruby dependency. It talks to the Hadoken API over HTTPS.
How is this different from Kamal?
Hadoken replaces Kamal, it doesn't wrap it. There's no
config/deploy.yml. Hadoken handles the full pipeline:
build, deploy, TLS, env vars, logs, console. You don't manage servers.
How is this different from Heroku?
Similar developer experience, but Hadoken is built specifically for Rails. It detects your stack from Gemfile.lock, runs migrations automatically, and gives you Rails console access out of the box.