Skip to content

Spin up shared dev VM on GCP (collaborative coding environment) #17

@Forenly

Description

@Forenly

Shared dev VM on GCP

To speed up hackathon iteration, all three engineers will SSH into a single shared GCP VM. Each dev gets their own Linux user, clones the lawn repo into their home, and syncs through GitHub.

What we need from Mohnaa

  • Create GCP project under your $100 credit account
  • Provision a VM (recommended spec below)
  • Add 3 Linux user accounts with SSH access
  • Post connection details as a comment on this issue + pin in Discord #lawn-prs

Recommended VM spec

Parameter Value Why
Machine type e2-medium (2 vCPU, 4 GB RAM) Enough for Python + Node + agent prototype; ~$25/mo
OS Ubuntu 22.04 LTS Standard, broad package support
Disk 30 GB pd-balanced Repo + deps + logs fit comfortably
Region asia-south1 (Mumbai) Closest to Mohnaa; lower SSH latency for primary user
Firewall SSH only (port 22, IAP or IP allow-list) Closed by default
External IP Ephemeral OK Free; OS Login or hostname avoids IP churn issue

Cost estimate: ~$25/mo always-on, ~$10/mo if stopped overnight. For 21 days: ~$15-20 burn → leaves $80+ of credit for Cloud Run deploy + Gemini calls.

Linux users (3 separate accounts — not a shared user)

Each engineer keeps their own git config, history, and clone. No "who pushed this?" confusion.

User Public key source
forenly I (Forenly) will paste my public key as a comment below
mohnaa Your own key
macb macb-cilson will paste their public key as a comment below

Add all three to the sudo group (apt installs) and docker group (for Cloud Run image builds later).

Setup checklist for Mohnaa (post-creation)

  • apt update && apt upgrade
  • Install: Python 3.11 + venv, Node 20 + npm, git, build-essential
  • Install Google Cloud SDK (gcloud CLI) — needed for Gemini + MongoDB MCP later
  • Install Docker (for Cloud Run image build)
  • Install tmux (in case we want a shared session)
  • Enable OS Login if you prefer Google-managed SSH, otherwise drop our public keys into ~/.ssh/authorized_keys for each user

Info to send back (comment on this issue)

  1. VM hostname or external IP
  2. Example SSH commandssh forenly@<host>
  3. Auth method — OS Login or classic SSH keys
  4. GCP project ID (needed for gcloud configuration)
  5. Billing dashboard link (so we can monitor credit burn together)

What Forenly + macb-cilson will do

Post our SSH public keys as comments on this issue. If we don't have a key yet:

ssh-keygen -t ed25519 -C "<github-handle>@lawn-dev"
cat ~/.ssh/id_ed25519.pub

How GitHub sync will work on the VM

Each user, once SSH'd in:

gh auth login                                          # authenticate to GitHub
git clone https://github.com/forenly-ai-systems/lawn.git
cd lawn
git config user.name "<github-display-name>"
git config user.email "<email>"

Two engineers editing the same branch at the same time → coordinate via tmux or just stagger via branches. The branch + PR pattern from CONTRIBUTING.md still applies — GitHub remains the source of truth.

Discord pin

Once VM is live, the connection details will be pinned in #lawn-prs so the team can rejoin anytime.


Priority: high — blocking real coding work. Aim to have this up within 24 hours.

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions