Your data. Your speed.

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.


Storage tiers

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 —

Soft storage limit

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.


How it works

1

Download the app

One installer for macOS or Windows. No Docker required — the app bundles its own container runtime. Just open and go.

2

Pick your tier

Choose a storage size. The app configures your container with the right io/min rate. Change tiers anytime with one click.

3

Running in seconds

Your node boots, auto-registers, and serves the full API. Data stays on your machine in a Docker volume.


What every node includes

Full API

Drops, SQL, text + vector search, streams, webhooks, functions, media storage. Every feature. Nothing held back.

Zero Config

No license key, no env vars, no signup. Boot and go. Auto-registers and starts serving immediately.

Functions

Built-in Python runner. Execute functions with full ocean.sql(), ocean.search(), ocean.write() access. No time limits.

Offline Resilient

Central server unreachable? Node starts standalone. Registers when connectivity returns. No downtime.

Persistent

Node ID + Redis state + all drops stored in a Docker volume. Survives restarts, upgrades, redeployments.

Video & Audio Encoding

Submit a video or audio URL — encoding runs locally with io-throttled ffmpeg. Output is HLS, streamed through the API.


Docker alternative

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.


Server install

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:

Install Dependencies

Installs Docker and Caddy if they're not already present. Works on Debian, Ubuntu, CentOS, Fedora.

Configure TLS

Point a domain at your server and the script sets up Caddy as a reverse proxy with automatic HTTPS certificates.

Start & Register

Downloads the Docker image, starts the node, and registers it as a public peer with bidirectional sync.

Requirements

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.


Node API

EndpointDescription
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