# Mining on rented GPUs (vast.ai / RunPod / Clore) — no Docker-in-Docker Rental providers give you a **container**, and most don't let you run `docker` inside it — so the normal one-liner installer (which does `docker run`) won't work there. You have two options. --- ## Option A — use our image AS the instance image (recommended) Every provider lets you pick the **docker image the instance boots from**, plus environment variables. Our miner image is self-contained (it starts itself via supervisord), so you just point the instance at it — no nesting, no installer. **Image:** `bobponey/tensorcash-pool-miner:with-model` (the pool edition — pool endpoint, join token, GPU auto-sizing, **and the 16 GB model weights baked in**: the instance pulls once from Docker Hub, loads the model to VRAM in ~1-2 min, and mines. No hidden HuggingFace download.) If your provider charges by image size or you prefer a smaller pull, the thin variant `bobponey/tensorcash-pool-miner:latest` (17 GB) works identically but downloads the model from HuggingFace on first boot (10-40 min of quiet "nothing happening" in the logs — it is not stuck). **On-start / command:** leave **empty** — the image already launches mining. **Shared memory:** vLLM needs a real `/dev/shm`. Set `--shm-size=4g` (or the provider's "shared memory" field) to at least a few GB. **One instance = one GPU.** On a multi-GPU instance, either create one instance per GPU, or set `CUDA_VISIBLE_DEVICES=0` (then `1`, …) per instance. ### Environment variables — just one ``` WALLET=tc1qYOURADDRESS ``` Optional: ``` LABEL=my-rig # names this machine on the dashboard (default: hostname) CUDA_VISIBLE_DEVICES=0 # pin to one GPU on a multi-GPU instance ``` Everything else — pool endpoint, join token, broker mode, and the vLLM sizing for your card (3090/4090 vs 5090 presets, VRAM auto-detected at boot) — is built into the image. Any of it can still be overridden by setting the variable explicitly (if you override sizing, set the whole block, not one value). No comma-containing values are needed, so comma-stripping provider forms (Clore) are no longer an issue. > The card must have **≥ 24 GB** VRAM: the Qwen3-8B mining model is ~16.4 GB in > bf16 and can't be quantized (the proof commits to exact weights). 16 GB cards > (e.g. RTX 5080) cannot mine. > > It must also be **Ampere or newer** (compute capability ≥ 8.0). Turing cards > have no bf16 and fall back to fp16, which diverges from the checkpoint the > chain verifies against — every share is rejected. Watch for these on > marketplaces, since they pass a VRAM filter: **Titan RTX (24 GB)**, **Quadro > RTX 6000/8000**, and **22 GB modded RTX 2080 Ti** listings. The installer > refuses them, but you'd be paying for the instance by then. ### Per-provider notes - **vast.ai** — "Edit Image & Config": set the image, paste the env vars, leave the on-start script blank (or `sleep infinity` if it insists on one — mining runs regardless), set shared memory ≥ 4 GB. - **RunPod** — Custom template: Container Image = the image above, Container Start Command = empty, add the env vars, set a GPU with ≥ 24 GB. Logs show vLLM startup directly (the image logs to stdout). - **Clore.ai** — create an "on-demand" order with a custom image, paste the env vars, set shared memory. Once it's up, look up your wallet at https://tensorcash.boblabs.eu — shares appear within a minute or two of the model finishing loading. --- ## Option B — locked container you can't re-image? Run natively (no Docker) If you're stuck inside a container whose image you can't choose, run the miner **natively** with our helper. It downloads a flattened copy of the image and runs it under `proot` (userspace — no root, no Docker), reusing the exact same Python/vLLM environment. ``` curl -fsSL https://tensorcash.boblabs.eu/install_native.sh | bash -s -- --wallet tc1qYOURADDRESS --gpu 0 ``` Requirements inside the rented container: an NVIDIA GPU with the driver present (`nvidia-smi` works), `curl`, and ~20 GB of free disk. The download is resumable; installing `aria2` first makes it faster. Add `--service` to keep it running in the background with auto-restart.