> Build identity is per-release โ check grove version or /api/version.
The portal is Grove's browser interface โ no installation, no terminal, no technical knowledge required. It serves two distinct audiences:
You need an invite link from the person who runs the Grove cell. When you open that link in a browser you'll land on a sign-up page. Choose a username (letters and numbers only) and a password (4+ characters), then click Join. That's it โ no installation.
Bookmark the portal's base URL so you can get back to it. The login page is always at:
https://<gateway-host>/portal/login
Go to the URL above, enter your username and password, and you're in. Sessions last 30 days; come back any time.
The portal has five tabs, always visible across the top:
| Tab | What it's for |
|---|---|
Dashboard (/portal/settings) |
Storage usage, friends, appearance, password change |
Files (/portal/files) |
Browse, upload, download, organize your files |
Feed (/portal/feed) |
Files shared to you and files you've shared out |
Chat (/portal/chat) |
Messages with other portal users (and peer cells, for admin/owner) |
AI (/portal/ai) |
Ask questions to the grove's local AI (if the admin enables it for friends) |
When a folder holds mostly audio or video files (โฅ3 of a kind and โฅ50% of the folder), the portal renders it as a library with a built-in player โ exactly the same experience as the owner's dashboard. There is no separate "Music" or "Media" tab; it appears right here in Files.
The compact player bar gives you play/pause, previous/next, a seek/scrub slider, shuffle, and auto-advance to the next track. Video adds a โถ fullscreen button. Playback streams over the web (seeking works mid-file), so you don't have to download a whole album or episode to start.
If a file is in a container the browser can't play (MKV, AVI, HEVC), you'll see "Can't play this format ยท Download" and can grab the file instead.
When someone shares media with you, the portal shows the real filenames and the real nested folders โ e.g. Radiohead/OK Computer/โฆ or The Office/Season 1/โฆ โ so the media library/player kicks in automatically just like for your own uploads.
The Feed shows two sections:
You can preview, dismiss, or add incoming shared items to your own grove from here.
To unshare something you sent, open Feed, find it under My Shares, and tap Unshare.
Cell users (people running a full Grove cell) appear in the Cell Chat section at the bottom of the tab if the admin has enabled it.
If the cell admin has enabled AI for friends (peer_model_policy = friends or broader), you'll see a text box here. Type a question and send it. The response comes from a local language model running on the grove โ it is not sent to the internet.
Friends get a single fixed tier (whatever the cell's default is set to). If AI isn't enabled for friends, this tab will show an unavailable message.
Shows:
From the Dashboard tab:
| Problem | Fix |
|---|---|
| Can't sign in | Double-check your username and password. Ask the admin to reset it if you've forgotten. |
| File won't upload | You may have hit your storage cap. The error message will show your current usage. |
| Shared file not appearing | The other person's device may be offline; files sync when both sides are reachable. |
| Page won't load | The grove host may be restarting. Wait a minute and refresh. |
| "Storage cap exceeded" | You've used all your space. Delete files or ask the admin for a larger cap. |
| AI unavailable | The admin hasn't enabled AI for friends on this cell, or no AI model is loaded. |
The portal also lets you reach your own cell's files from anywhere on the web, without needing Tailscale. This is called Remote Access (Option B). Your identity keys never leave your cell; files are surfaced selectively.
1. You provision your own portal account on a WAN-facing gateway cell (one of your peers with a public URL).
2. The gateway creates an admin-role account for you โ it does NOT import your identity keys and does NOT expose the gateway's own drive to this account.
3. You use Show in Portal (or the ~/GroveHome/Remote auto-folder) to push specific files to your remote account.
4. When you're away from home and need access, go to https:// and sign in with the username/password you chose during setup.
From your cell's dashboard (must be accessed over Tailscale or LAN):
1. Go to Settings tab โ Advanced Settings โ Portal section
2. Find the Remote Access panel
3. Pick your WAN gateway from the dropdown, choose a username and password, then click Set up
This calls /api/portal/remote/setup on your cell, which creates the account on the gateway via /api/portal/users. The gateway automatically sets up ~/GroveHome/Remote on your local cell as a watched folder.
To remove remote access later, click Forget remote access in the same panel. You can optionally delete the account on the gateway at the same time.
Two ways:
Show in Portal (manual, per-file or per-folder)
From the dashboard Files tab, open the 3-dot menu on any file or folder and tap Show in Portal / Show in Portal. The button label reflects the current state ("Show in Portal" vs "In Portal โ remove"). This re-encrypts the file key for your remote account and pushes the chunks to the gateway.
Show in Portal on a folder is recursive โ it covers all files you own under that folder.
Remote folder (automatic)
Drop files into ~/GroveHome/Remote (the default; configurable via remote_portal_folder in grove config). Any file ingested from that folder is automatically shared to your remote portal account.
Only files you have explicitly shared to it. The gateway's own drive, other users' files, and any files you have not Show-in-Portal'd are invisible. This is enforced server-side by the grant system.
Navigate to https://. Sign in with the username and password you set up. You'll land in the standard portal UI with your Files, Feed, Chat, and AI tabs.
As an admin/owner-role account you get full AI tier selection (Low/Mid/High/Auto) and peer-cell chat access, unlike a plain friend account.
The admin manages users and hosting from the dashboard Settings โ Advanced Settings โ Portal section.
| Role | Who it's for | What they can access |
|---|---|---|
portal |
Friends and family | Their own files + files shared to them; fixed AI tier if enabled |
admin |
Trusted admins | Same as portal + can manage users, set folder roles; gets AI tier selector + peer-cell chat over Tailscale |
owner |
The cell owner's own remote account | Treated as admin for capabilities (AI tier selector, peer-cell chat); sees only files explicitly shared to it (not the whole gateway drive) |
observer |
Auto-provisioned for friended peer cells | Auth via signed token handshake (no password); sees shared files only |
From Settings โ Advanced Settings โ Portal:
This calls POST /api/portal/users. Usernames must be 2โ32 alphanumeric characters; passwords must be at least 4 characters.
Toggle Enable Portal Host in the same section. This allows other cells on the network to use this cell as their portal gateway. Approve or reject pending requests as they come in.
From the dashboard, create an invite link with type portal. The recipient opens the link, chooses a username/password, and their account is created automatically. Any invite type can be used to sign up for a portal account โ plain install invites work too on phones and tablets.
/dashboard) is not reachable over the public internet edge. Nginx tags public-edge requests with X-Grove-Public-Edge: 1; the auth middleware rejects dashboard sessions and admin API calls over that header. The full drive is only accessible via Tailscale or LAN./portal/* and a defined set of public API prefixes are served to the open internet.