Run the Grass Node in Docker (Linux, VPS & Home Server)
Headless Grass node setup: login via cookie, keep the connection alive through reboots, and stay inside ToS while your IP earns.
1. Prerequisites
- A registered Grass account (sign up here — referral supports future testing)
- Any Linux machine: home server, N100, Pi (64-bit OS), or VPS
- Docker installed (see our Pi playbook for base setup)
ToS note: one account per person. Multiple devices on one account are fine; multiple accounts are how people lose everything.
2. Grab your auth cookie
The Docker node authenticates with your session token rather than email/password directly. From any browser where you're logged into app.grass.io:
1. Press F12 → Application/Storage tab → Cookies → https://app.grass.io
2. Copy the value of the auth-related cookie (current name per community docs; if renamed, take the longest JWT-looking value)
3. Deploy the container
# ~/stack/docker-compose.yml (add to existing stack)
services:
grass:
image: gogol/grass-node:latest
container_name: grass
restart: unless-stopped
environment:
- USER_EMAIL=you@example.com
- USER_PASSWORD=yourpassword
# or cookie-based auth per image docs:
# - GRASS_TOKEN=paste_cookie_here
mem_limit: 400mcd ~/stack && docker compose up -d grass
docker compose logs -f grassHealthy logs show websocket connections and epoch/heartbeat messages. Unhealthy looks like endless reconnect loops — usually expired token or blocked networking.
4. VPS-specific notes
Grass accepts datacenter IPs but pays them a fraction of residential rates. VPS nodes make sense when:
- The VPS is otherwise idle (sunk cost already)
- You're accumulating referral-network volume legitimately
Expectations per datacenter node: roughly $1–3/month equivalent. Not rent money — satellite income.
5. Maintenance & troubleshooting
| Symptom | Fix |
|---|---|
| Auth failed loops | Refresh cookie/token from browser login |
| No epochs credited | Check platform status page; verify device shows online in dashboard |
| Container restarting | docker compose logs grass — usually OOM; raise mem_limit |
| Earnings dropped | Normal variance + token price movement; check network-wide announcements |
Monthly routine: confirm device online in dashboard, claim rewards when sensible, let Watchtower handle image updates.
Tools used in this playbook
- Grass — ★★★★½ 4.5/5