Runs Grid on your machine: the HTTP API behind the console, GitOps sync for desired-state JSON, releases with live logs, and the install packaging (Docker Compose / install.sh).
When you click plan or apply in the UI, core calls grid-cli to turn JSON into Terraform, then runs Terraform itself.
Self-host: install/ · grid-docs → Install
cp install/.env.example install/.env # set GRID_AUTH_ADMIN_PASSWORD + GRID_TF_*
docker compose -f install/docker-compose.yml --env-file install/.env up -d --build
bash install/verify.shUbuntu one-liner:
export GRID_AUTH_ADMIN_PASSWORD='choose-a-strong-password'
curl -fsSL https://raw.githubusercontent.com/gridplatform/grid-core/main/install/install.sh | sudo -E bashCreate remote Terraform state before real applies. Prefer an instance role / service account on the host over long-lived cloud keys.
cp -n .env.example .env
npm install
npm run devAPI default: http://localhost:3000.
| Variable | Purpose |
|---|---|
GRID_GITOPS_REPO_URL |
Your desired-state GitHub repository (not a fork of the public example) |
GRID_CONFIG_ROOT |
Working tree for that JSON (GitOps checkout or local path) |
GRID_MODULE_BANK |
grid-terraform — git URL or local path |
GRID_MODULE_BANK_REF |
Tag/branch when the bank is a git URL (prefer a release tag in production) |
GRID_CLI_ROOT |
Path to grid-cli |
GRID_TF_BACKEND / GRID_TF_STATE_* |
Remote state (required for production) |
grid-config is a sample layout only. For real use, create your own repository and point GRID_GITOPS_REPO_URL at it.
Full env list: grid-docs → Configuration · install/.env.example
| Repository | What it’s for |
|---|---|
| grid-ui | Browser console |
| grid-cli | Command-line tool (also used by this API) |
| grid-terraform | Terraform modules |
| grid-docs | Guides |
MIT — see LICENSE.