For maintainers
One button in your README.
Let your users deploy your project to a server in their own cloud account, in a few clicks, without writing a deploy guide for every platform.
01 / the button
Create your button.
Paste your repository URL. The link opens Railyard's new-app form with your repository filled in, and your user picks a server they own.
02 / detection
What Railyard reads from your repo.
For a GitHub repository, Railyard inspects the files at the branch you link to before anything is built. Try it on the homepage with your own repo to see what it finds.
How it builds
A Dockerfile if there is one. Otherwise the language and framework from files like Gemfile, package.json, pyproject.toml, composer.json, mix.exs, go.mod or pom.xml, and the runtime version from .ruby-version, .nvmrc or .tool-versions.
Its processes
Web and worker commands from a Procfile, app.json or render.yaml, plus common workers such as Sidekiq, Solid Queue or Celery found in the dependencies.
What it needs
Postgres, MySQL, Redis, MongoDB, Elasticsearch, RabbitMQ, Memcached, ClickHouse or InfluxDB, from the client libraries it depends on. Railyard adds them and wires the connection strings.
Its settings
Variable names documented in .env.example, compose files, app.json and your README, so the deploy form asks for the ones that matter.
A published image
If you already publish your project to GitHub Container Registry or Docker Hub, Railyard can run that image instead of building.
03 / railyard.yml
Override detection with railyard.yml.
Put a railyard.yml at the root of your repository and Railyard uses it over what it detected:
the build method, the port, a release command that runs before each release, a seed command, your processes,
default variables and add-ons. Every key is optional. An app.json or render.yaml is read too.
build: dockerfile # auto, dockerfile, railpack, nixpacks or cnb
runtime:
container_port: 3000
release_command: bin/rails db:migrate
seed_command: bin/rails db:seed
processes:
web: bin/rails server
worker: bundle exec sidekiq
env:
RAILS_LOG_TO_STDOUT: "1"
addons: [postgres, redis] Deploy your first app on a server you own.
Attach a machine with a host, a user and an SSH key, or let Railyard create one in your cloud account. It installs the rest and watches it come online.
Free plan, no card, and 14 days of Pro for every new team. One flat price per team.