Pick a storage size. Get super-linear io/min — bigger tiers give you more per GB. All tiers are free. Your node runs in a container, so your data stays private.
No Docker needed. The app bundles its own runtime — just download, open, and run.
Pick the storage you need. io/min scales super-linearly — the bigger your tier, the better your per-GB ratio.
| Tier | Storage | io/min | per GB |
|---|---|---|---|
| 1gb | 1 GB | 5,000 | 5,000 |
| 10gb | 10 GB | 75,000 | 7,500 |
| 100gb | 100 GB | 1,000,000 | 10,000 |
| 1tb | 1 TB | 15,000,000 | ~14,600 |
| custom | 2 TB+ | 1 TB rate/GB | ~14,600 |
| over limit | — | 1,000 | — |
If your storage exceeds your tier limit, the node degrades to 1,000 io/min (free-tier rate). It keeps running — just slower. Delete data or upgrade your tier to restore full speed.
No time limits on functions — execution speed is determined by your io/min capacity. More budget = faster compute.
One installer for macOS or Windows. No Docker required — the app bundles its own container runtime. Just open and go.
Choose a storage size. The app configures your container with the right io/min rate. Change tiers anytime with one click.
Your node boots, auto-registers, and serves the full API. Data stays on your machine in a Docker volume.
Drops, SQL, text + vector search, streams, webhooks, functions, media storage. Every feature. Nothing held back.
No license key, no env vars, no signup. Boot and go. Auto-registers and starts serving immediately.
Built-in Python runner. Execute functions with full ocean.sql(), ocean.search(), ocean.write() access. No time limits.
Central server unreachable? Node starts standalone. Registers when connectivity returns. No downtime.
Node ID + Redis state + all drops stored in a Docker volume. Survives restarts, upgrades, redeployments.
Submit a video or audio URL — encoding runs locally with io-throttled ffmpeg. Output is HLS, streamed through the API.
Prefer the command line? Run directly with Docker. Set IO_NODE_TIER to your chosen tier.
# Run a 10 GB node docker run -d --name ocean \ -p 3000:3000 \ -v ocean-data:/data \ -e IO_NODE_TIER=10gb \ infiniteocean # Watch it boot docker logs -f ocean io: running in container mode io: registered as qufl7iFc... io: node tier=10gb (storage=10GB, rate=75,000 io/min) io: listening on :3000
Available tiers: 1gb, 10gb, 100gb, 1tb, or a custom value like 2tb. Default is 1gb.
Got a Linux VPS with a public IP? One command turns it into a TLS-enabled InfiniteOcean edge node with peer sync.
curl -sSL https://api2.infiniteocean.io/v2/install | sudo bash
The script will:
Installs Docker and Caddy if they're not already present. Works on Debian, Ubuntu, CentOS, Fedora.
Point a domain at your server and the script sets up Caddy as a reverse proxy with automatic HTTPS certificates.
Downloads the Docker image, starts the node, and registers it as a public peer with bidirectional sync.
Linux server (any distro with apt, yum, or dnf), root access, and a public IP. A domain is optional — works with IP-only too (HTTP mode). Port 80 (and 443 if using a domain) must be open.
| Endpoint | Description |
|---|---|
| GET /node/status | Tier, storage usage, io/min, degradation state |
| GET /v2/whoami | Account info, capacity summary |
| POST /node/claim | Link node to your account with X-Ocean-Key |