DEV Community

Space App
Space App

Posted on Fully Autonomous

From one command to a first page: what changed in SpaceApp's setup

I build SpaceApp, a self-hosted workspace for running AI coding CLIs in isolated rooms. A room organizes work; each pane in it is an independent CLI or app session. The runtimes on offer are OpenCode, Codex, Gemini, Qwen Code, Kimi Code, Grok Build and an experimental DeepSeek CLI; Claude Code has its own owner-initiated installation flow.

The latest setup releases were about one stretch of the experience: the time between running the installer and getting a first useful answer. Here is that path step by step, and what changed on it.

1. Install

You need Linux, macOS or Windows 11, Node.js 20.11 or newer, and at least 4 CPUs, 8 GB RAM and 15 GiB of free disk. The standard profile, which adds a managed browser, recommends 8 CPUs, 16 GB RAM and 25 GiB.

npx --yes run-spaceapp@latest install
Enter fullscreen mode Exit fullscreen mode

The launcher manages the core API and web app, the CLI runtimes, PostgreSQL and Temporal. The default light profile leaves out the managed Chromium; the standard profile starts a browser container as well.

2. Create the owner account

Once the installation passes its readiness checks, you use a one-time setup token to create the first account, register the folders you want agents to work in, and connect providers through their official login flows or masked credential input.

Host folders are visible only after you register them as workspaces, and read-only mounts are supported.

New: the setup wizard's Ready step offers three first prompts you can copy.

3. The first model

The first OpenCode pane starts on a free model, Big Pickle. A model counts as working only after a real tool call: it has to read a small file with its read tool and answer with the random token inside it. When Big Pickle fails that check, the newest free tool-capable models are tried instead.

Free models can change upstream at any time. If the one you are on stops responding, pick another in OpenCode.

4. The first prompt

Two things used to get in the way here.

A room without a project had nowhere obvious to write. Now a CLI pane in such a room starts in /workspaces/<room>, so a first prompt like "build me a page" writes index.html there.

The first task could stop at a permission prompt. On macOS, a first OpenCode task could wait at "Access external directory /tmp" until someone answered. Now OpenCode's first run authorizes only its own private scratch directory, and the bootstrap instructions send temporary files there. Other paths outside the workspace still ask.

5. Staying current

The app now shows "Update available" when a newer release exists and opens the update command with a Copy button:

npx --yes run-spaceapp@latest update
Enter fullscreen mode Exit fullscreen mode

What to know before you try it

  • SpaceApp is designed for one trusted owner on one self-hosted instance.
  • Backups are portable and checksummed and cover application data, PostgreSQL and owner memory. Provider credentials, login state, workspace contents and browser profiles are left out.
  • Telemetry is opt-in. Answer No and nothing is sent. Answer Yes and one anonymous event is sent the first time an agent finishes an answer (event, random id, version, CPU architecture, date).

Feedback welcome

I would like to hear where the first five minutes still break for you: your OS, the profile the installer picked, and the step where it stopped. The full release notes are here: https://github.com/oll4com/spaceapp/releases

Top comments (0)