# Install

Install the published client, then check the version you have. The package name is `geoffrey`. The binary is `goff`. That binary name has been `goff` since version 0.8.0.

## Cargo registry

```bash
cargo install geoffrey --registry gitea --locked
goff --version
```

`--locked` uses the lockfile from the published crate. A version tag publishes `geoffrey-api`, then `geoffrey`. The server crate is not published.

From a clone of this repository:

```bash
cargo install --path crates/geoffrey
```

## Server image

The server image is `gitea.galiath.net/greg-hewett/geoffrey`. It contains `geoffrey-server` and `goff`, listens on port 3000, and reads client keys from `/etc/geoffrey.toml`. Change that key before anyone else can reach the server.

```bash
docker run --rm -p 3000:3000 \
  -e GEOFFREY_PUBLIC_URL=http://localhost:3000 \
  -v geoffrey-data:/data \
  gitea.galiath.net/greg-hewett/geoffrey:latest
```

The documentation site is a different image, `gitea.galiath.net/greg-hewett/geoffrey-docs`. It is this site. A `v*` tag publishes it and deploys `site/docker-compose.yml`, which routes `geoffrey.strand3.com`.

Server settings are on the [server](/features/server/) page. Client commands are on the [CLI](/cli/) page.

