Persistent, autoscaled machines
Pay for the CPU, RAM, and disk your machines use at any point in time.
Adolph Menzel, The Iron Rolling Mill, 1875. Public domain.
SDK
Idiomatic bindings for your language.
TypeScript Python Elixir Rust Wasm
Boot, exec, and converge machines from your own code. The TypeScript package is web compatible: its wasm build runs in the browser, no server in between. Start with the docs, or see it drive a UI from the browser.
❯ bun add @indexable/sdk
# node 22+ and bun
# wasm build included: runs in the browser too
Pricing
An idle machine costs about 14 cents a day.
Metered each second on what the machine uses, not what it could.
$0.000008 per vCPU-second
$0.000003 per GiB-second, memory
$0.000002 per TiB-second, disk
14¢/day $0.00000158/s · metered each second on use
Underneath
Real bare metal.
Each machine is a VM on dedicated AMD EPYC hosts, with no cloud layer underneath. 25 Gbps public and 50 Gbps internal networking, IPv6 + IPv4.
dev-02
on main bare metal · 41d up
❯ lscpu
Architecture: x86_64
Model name: AMD EPYC (Zen 5)
CPU(s): 64
Thread(s) per core: 2
L3 cache: 256 MiB
Declarative
The whole machine, declared.
The machine is code.
ix apply steps it from one declared state
to the next, in place, data intact.
1// JavaScript syntax, Nix semantics.
2// `ix apply` converges the machine to this file.
3export default ({ index }) => ({
4 packages: [index.rustc, index.cargo, index.rg],
5 services: {
6 postgres: { enable: true },
7 redis: { enable: true },
8 },
9 modules: [import("./modules/web.ix")],
10});
1# generated from default.ix by `ix apply`; do not edit.
2{
3 inputs.index.url = "github:indexable-inc/index";
4 outputs = { index, ... }: {
5 nixosConfigurations.dev =
6 index.lib.fromIx ./default.ix;
7 };
8}