Sign up and deploy
This walks through everything from a brand-new account to a deployed app serving HTTPS traffic at a real URL. Bring an app in any language: Node.js, Python, Go, Ruby, PHP, Java, Elixir, Rust, or .NET. About five minutes if your app builds cleanly.
1. Create an account
Head to velixir.net/account/register. Email and password, or one-click sign-in with GitHub or Google. We send a verification link; click it to activate.
Every new account gets €3.49 of starter credit with no card needed, about a month of a Hobby app. The Free plan costs nothing at all: one app per team that sleeps when it's idle. When you add a card we grant €14.99 of first-month credit in place of the starter credit (once per card), enough for a Starter app, a Postgres database, and a Valkey cache for a month. Both credits last 30 days.
Without a card a team can run one app, one database, and one cache. Adding a card raises that to ten of each.
2. Top up (when you're ready)
From the dashboard, open Billing and click Add credit. Payments go through Stripe, so you never see a card form on a velixir page. Top-ups are non-refundable but never expire. Turn on Auto top-up on the same page if you'd rather never watch the balance.
3. Your project
Projects group the apps, databases, and caches that belong together, usually one project per product. Your account starts with one called Default, so you can go straight to creating an app. Add more projects from the dashboard when you want to keep something separate.
4. Create an app
Click New app. You'll choose:
- A name (it becomes your URL:
<your-app>.velixir.run) - A plan (CPU and memory; you can change it later, and the new size applies on your next deploy)
- The language and runtime version your app targets (for example Node.js 22, Python 3.12, Go 1.23, or .NET 10)
- Deploys arrive through the CLI: run it yourself, or have a GitHub Actions workflow run it on every push
The URL works immediately. Until your first deploy it serves a "not deployed yet" placeholder page, so you always have a live address to hand out while you get your code ready.
5. Deploy your code
Your app needs to listen on 0.0.0.0 at the port in the PORT environment variable (8080 unless you change it).
Path A - Use the CLI (recommended)
# Inside your project directory
velixir login
velixir deploy --app <your-app-id>
velixir login opens your browser to approve the sign-in. velixir deploy packages your project source and uploads it in one shot, and velixir builds it server-side and rolls it out. Run velixir init --app <your-app-id> once to remember the app for this folder, and plain velixir deploy works from then on. Your app's Deploys tab shows these commands with the ID filled in, and the full walkthrough is on the Deploying page.
Path B - Upload from the dashboard
On the app's Overview page, click Upload source. Pick a .tar.gz or .zip of your project source. The upload goes straight to object storage and the build and deploy start as soon as it lands.
Or start from a template
Want something running first and your own code later? Templates deploy a ready-made app, database included, in one step.
6. Watch it deploy
The app's Overview tab updates live: build output, deployment status, replica count, request rate. The first deploy spends a little time building your image (how long depends on your language and dependencies); later deploys are quicker as the build cache warms up.
Open the URL in the header (<your-app>.velixir.run) and you should see your app responding.
Turn on the health check. It's off by default, so a deploy counts as healthy as soon as the container starts, even if your app never answers. Switch on HTTP health probe under Scaling → Runtime (the default path is
/health) and a broken deploy fails instead of going live.
Next
- Environment variables - Wire up
DATABASE_URL, secrets, feature flags. - Custom domains - Replace the
*.velixir.runURL with your own. - Scaling and HA - Turn on autoscaling, add a warm-standby replica.