Using rdev

Teams

Manage who works on your Team plan servers: invite developers, give them a role and an environment of their own.

Inviting people

Open Your team in the dashboard. Enter a developer's email address, pick a role and send the invitation. They receive an email with a link that is valid for 7 days; they accept it by signing in, or creating an account, with that same address.

Every member and every pending invitation takes a seat. When all seats are taken, add seats by changing your plan on the dashboard first. Revoking a pending invitation frees its seat at once.

Roles

Role Can
Owner Everything: pays for the license and cannot be removed
Administrator Invite, resend and revoke invitations, change roles, remove members
Member Use the team's servers; can leave the team

An environment for each member

Each member saves their SSH public key on the Your team page (the contents of ~/.ssh/id_ed25519.pub, for example). The page shows the name of their environment, such as rdev-alice; members without a key are marked.

On the team server, run this once as root, with a reusable auth key from your Tailscale account:

sudo rdev host member sync --tailscale-key tskey-auth-…

It creates an environment for every member who has saved a key, and from then on repeats itself every 15 minutes: new members get their environment, changed keys are updated and the environments of people who left the team are removed. Their data stays on the server; delete it with sudo rdev host member remove <name> --delete-data.

Each member gets a separate container with their own code, databases, services and shell; members do not see each other's work. It joins your tailnet as <server name>-<name>, and the member connects with ssh dev@<server name>-<name> or the rdev laptop app. The owner keeps using the server's main environment.

  • sudo rdev host status lists the members and whether their environments are running.
  • sudo rdev host update updates every environment on the server together.
  • sudo rdev host member add <name> --ssh-key "…" adds an environment by hand, but the next sync removes it if that person is not in the team.

Team channel

Owners and administrators can add a Slack or Discord incoming webhook as the Team channel on the Your team page. At the next sync every environment on the team servers, the owner's included, also sends its agent notifications (finished, waiting for approval, error) there, next to the channels each member set up with rdev notify. Clear the field to stop.

If the license stops

When the Team license is no longer active, no one new can join the team and every environment on the server becomes read-only for new projects, just like a single server.