> ## Documentation Index
> Fetch the complete documentation index at: https://gomodel-feat-guardrails.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# FAQ

> Updating, pinning, and uninstalling GoModel; where the gateway stores its data, and why part of the project is commercial.

## How do I update GoModel?

Back up your database first — [Updating GoModel](/guides/updating) has the
backup commands for each storage backend, plus verification and rollback. Then:

<Tabs>
  <Tab title="macOS / Linux">
    Re-run the installer — it always fetches the latest release and replaces
    the binary in place:

    ```bash theme={null}
    curl -fsSL https://gomodel.enterpilot.io/install.sh | sh
    ```
  </Tab>

  <Tab title="Windows">
    ```powershell theme={null}
    irm https://gomodel.enterpilot.io/install.ps1 | iex
    ```
  </Tab>

  <Tab title="Docker">
    ```bash theme={null}
    docker pull enterpilot/gomodel
    ```

    Then recreate the container. With Docker Compose:

    ```bash theme={null}
    docker compose pull && docker compose up -d
    ```
  </Tab>
</Tabs>

Restart the gateway after updating; there is no in-place hot upgrade.

## How do I check which version I'm running?

```bash theme={null}
gomodel --version
```

The version is also printed on the first line of the startup log.

## Can I install a specific version, or roll back?

Yes — set `GOMODEL_VERSION` before running the installer:

```bash theme={null}
curl -fsSL https://gomodel.enterpilot.io/install.sh | GOMODEL_VERSION=vX.Y.Z sh
```

On Windows set `$env:GOMODEL_VERSION` first. With Docker, use a version tag
(`enterpilot/gomodel:X.Y.Z`) instead of `latest`. Replace `X.Y.Z` with a
[published GoModel release](https://github.com/ENTERPILOT/GoModel/releases).

## Is updating safe for my data?

Yes, updating is. The schema is migrated on startup, and an update never moves
or deletes your database, configuration, or cache.

Rolling back needs care. Most migrations are additive, and an older binary
ignores what it does not know about — but some releases rebuild storage into a
new shape, as scoped budgets and rate limits did, and the older binary will not
find what it expects. Restore a backup taken before the update instead. GoModel
ships fast, so take one every update:
[Updating GoModel](/guides/updating#1-back-up-the-database) has the commands.

## Where does GoModel store its data?

When a `./data` directory exists next to where you launch GoModel (existing
deployments, the Docker image), the database stays at `./data/gomodel.db`.
Otherwise the binary uses your OS's conventional per-user directories:

|         | Database                                 | Model cache                     |
| ------- | ---------------------------------------- | ------------------------------- |
| Linux   | `~/.local/share/gomodel/`                | `~/.cache/gomodel/`             |
| macOS   | `~/Library/Application Support/gomodel/` | `~/Library/Caches/gomodel/`     |
| Windows | `%LocalAppData%\gomodel\`                | `%LocalAppData%\gomodel\cache\` |

The resolved database path is printed at startup (`storage configured`).
`SQLITE_PATH` overrides the database path, and `GOMODEL_CACHE_DIR` overrides the
model cache directory. Available from
v0.1.54; older binaries always use `./data` relative to the working
directory.

## How do I uninstall?

Remove the binary and, if you want a clean slate, the data directories:

```bash theme={null}
rm "$(command -v gomodel)"
rm -rf ~/.local/share/gomodel ~/.cache/gomodel   # Linux
rm -rf ~/Library/"Application Support"/gomodel ~/Library/Caches/gomodel   # macOS
```

On Windows, delete `%LOCALAPPDATA%\Programs\gomodel` (and
`%LOCALAPPDATA%\gomodel` for data), then remove the folder from your user
PATH. For Docker, remove the container and image as usual.

## Why isn't GoModel 100% open source?

Almost all of it is. The gateway is MIT-licensed and stays that way. A small
commercial distribution — [GoModel Pro](/pro/overview), adding OIDC SSO and a
couple of other extensions — is coming; it accounts for roughly 3% of the
codebase.

**It may still end up fully open.** A dual license, or something like the BSL,
would keep the whole codebase readable, auditable, and forkable while still
protecting it commercially. Opening the project is fairer than closing it, so
that is the direction we lean.

**But the project has to pay for itself.** After nine months of work, GoModel
had earned \$90 in total (August 2026). That is not a living. Keeping a small
part commercial asks the companies that profit from a well-built AI gateway to
pay for it, and leaves it free for everyone else. That seems like the fairest
trade available.

**Individual features are negotiable.** If something planned for Pro is a
feature you need as a developer and paying for Pro doesn't make sense for you,
say so. A cheaper personal-use license — or open-sourcing that particular
feature — is on the table. Ask on [Discord](https://discord.gg/gaEB9BQSPH) or
[GitHub](https://github.com/ENTERPILOT/GoModel/issues).
