Skip to main content
Version: 0.1.123

GCP Marketplace

What you just deployed​

One Compute Engine instance running Repave, entirely inside your own project. Nothing phones home, and no credential of ours is on the instance.

First boot takes about 5–10 minutes. Until it finishes the site refuses connections — nginx does not start until the application is healthy. That is expected; you have not mis-deployed anything.

To watch it:

gcloud compute ssh DEPLOYMENT-vm --zone ZONE --project PROJECT \
--command 'sudo journalctl -u repave-firstboot -f'

Logging in over SSH also prints a status banner — "still setting up", "running at …", or a failure naming the step that failed.

Signing in​

First boot creates one administrator account and generates its password on the instance. The password is never in the image, never in our hands, and never leaves your project.

# From the instance's guest attributes:
gcloud compute instances get-guest-attributes DEPLOYMENT-vm --zone ZONE \
--project PROJECT --query-path=app-rewrite/

# Or from the credentials file, which is written whether or not guest
# attributes are enabled:
gcloud compute ssh DEPLOYMENT-vm --zone ZONE --project PROJECT \
--command 'sudo cat /root/app-rewrite-admin.txt'

The account is admin@repave.local. Change the password after your first sign-in, at /account/reset-password.

The certificate warning is expected​

Until you point your own domain at the instance, it serves a self-signed certificate generated on first boot for its own IP address. Your browser will warn once. The alternative — plain HTTP — would put that generated password on the wire in clear text at the very first sign-in.

You need a license before the product will do anything​

Repave is licensed software. Until a license is imported, every page redirects to /license. This is deliberate, and it is the one step you cannot complete on your own.

Request one from support@repave.ai, including:

  • the Google Cloud project ID you deployed into
  • the deployment name you chose
  • the site URL shown on the deployment page
  • your organisation name, and a contact for renewal

We issue a signed license file and send it back. Paste it into /license on your instance and the product unlocks. The first import needs no account, so you can do it before signing in.

If you are evaluating and do not have a commercial agreement yet, say so in the same message — that is the normal starting point, not a problem.

Accounts are by invitation​

A Marketplace instance sits on a public address, so open sign-up is turned off: whoever found the URL first would otherwise get an account.

To add a colleague:

  1. Sign in as the administrator and create a project.
  2. Invite their email address from the project's members.
  3. They visit the site, choose I have an invitation, and create an account with that address.

An address with no pending invitation is refused. If you would rather run with open sign-up — on an instance only your network can reach, for example — set REPAVE_SIGNUP_MODE=open in /opt/app-rewrite/current/.env and restart the application.

Using your own domain​

The instance follows its external IP automatically, so an ephemeral address that changes across a stop/start does not break the site. Once you point a real domain at it, take that over:

# 1. Reserve a static external IP and point your DNS at it.
# 2. Install your certificate.
sudo cp fullchain.pem privkey.pem /opt/app-rewrite/tls/live/app-rewrite/

# 3. Set the URL the application advertises.
sudo sed -i 's|^REPAVE_PUBLIC_URL=.*|REPAVE_PUBLIC_URL=https://repave.example.com|' \
/opt/app-rewrite/current/.env

# 4. Stop first boot managing the address on your behalf.
sudo rm /var/lib/repave/public-url.auto

# 5. Restart the web tier.
sudo docker compose --project-directory /opt/app-rewrite/current \
up -d --force-recreate app nginx

Step 4 matters: while that marker exists, a later boot will overwrite REPAVE_PUBLIC_URL with the instance's current IP.

Sizing​

Recommendede2-standard-8 (8 vCPU, 32 GB)
Minimume2-standard-4 (4 vCPU, 16 GB)
Boot disk150 GB, 120 GB minimum

Agent runs are containers alongside the application, its database and its memory service, so a smaller machine type starts fine and then fails on the first real agent job. The disk carries roughly 62 GB of container images before any of your work; the rest is room for your projects, workspaces, database and agent containers.

If a deployment goes wrong​

The site never comes up. Log in over SSH and read the banner. A failure names the step; sudo journalctl -u repave-firstboot has the detail. Setup retries from the beginning on reboot, and every step is safe to repeat — no secret is rotated and no password is reset by a retry.

You are locked out of the administrator account. There is no forgot-password-by-email flow. With SSH access:

printf '%s' 'a-new-password' | sudo docker compose \
--project-directory /opt/app-rewrite/current \
run --rm -T app npm run bootstrap-admin -- --reset

Anything else: support@repave.ai, with the output of sudo journalctl -u repave-firstboot.

Upgrading​

Upgrades use the standard Docker Compose upgrade path documented with the release, not a redeploy from Marketplace — redeploying creates a new instance with a new disk and leaves your projects behind.