# Operation

Check health, apply edits, stop and update the Docker seller while preserving its identity.

Source: https://docs.gyblos.com/en/sellers/operate

Use these commands for the invitation's free Docker seller. If you chose another installation folder,
replace `~/gyblos-seller` consistently. Keep the Compose project and its existing volumes together.

## Health and activity

```sh
cd ~/gyblos-seller
docker compose ps
docker compose exec seller gyblos seller status
```

Expect `RUNNING`. The receipt summary shows completed, failed and cancelled requests and **output
tokens** over a rolling 24-hour window of retained receipts. It is not the remaining free quota, total
input-plus-output usage, earnings or proof of all past activity. Free quotas use a UTC-day boundary.

Use `docker compose exec seller gyblos seller status --online` to check discovery separately.
For a container that will not stay up, run `docker compose run --rm seller gyblos doctor` and
follow the code in [troubleshooting](/en/help/troubleshooting).

## Stop and start

```sh
cd ~/gyblos-seller
docker compose stop seller
```

Presence withdraws within two minutes. Ollama remains running. To start the services again:

```sh
docker compose up -d
```

`docker compose down` removes containers while preserving named volumes. **Never add `-v` to an
ordinary stop or repair**: it deletes the persistent volumes, including keys and the downloaded model.

## Apply changes

Edit `gyblos.toml` on the host. Validate it as shown in the
[configuration reference](/en/reference/configuration), then recreate the seller:

```sh
cd ~/gyblos-seller
docker compose up -d --force-recreate seller
docker compose exec seller gyblos seller status
```

Recreation is also needed after changing `seller.env`; a simple container restart does not load a
changed Compose environment file. Never display that file in logs, screenshots or a shared terminal.

## Update the seller

Each update is a new signed release in the installer. When one exists, `gyblos seller status` ends with an
`Update:` line naming it. Record the installed image, then run the update from where you saved
`install.sh` (with the same `GYBLOS_DIR`, if you set one):

```sh
cd ~/gyblos-seller
docker compose images seller
sh install.sh update
```

`update` downloads the latest release's installer with its checksum and signature bundle, checks the
checksum and, with cosign installed, the release signature (`GYBLOS_REQUIRE_SIGNATURE=1` makes that
mandatory), replaces your `install.sh` with it and runs it. When your installer already pins the latest release, it runs it again, which also completes an update that stopped halfway. An `install.sh` from before this command does not know `update`: download the
current one with `curl -fsSL https://gyblos.com/install.sh -o install.sh` and run `sh install.sh`.
`GYBLOS_UPDATE_CHECK=0` in `seller.env` turns off the status check, which only asks GitHub for the latest
release.

It keeps `gyblos.toml`, `seller.env`, the keys and your other Compose edits. It changes only the Gyblos
seller `image:` line in `compose.yaml` to the new release, checks its signature when cosign is installed
and restarts the seller. A seller image from another image repository is treated as your own build and is left
unchanged. It does not migrate the TOML or the environment file.

After the update, run status and, if publishing, status with `--online`. If it fails, preserve the
volumes and report the image and error code. Do not keep restarting to clear a lock or bypass a refusal.

## Private logs

```sh
cd ~/gyblos-seller
docker compose logs -f seller
```

Stop following logs with Ctrl+C; that does not stop the service. Review logs privately before extracting
an error code. Do not publish raw logs, buyer messages or provider URLs. If Ollama restarted and the
seller lost its engine connection, run `docker compose restart seller`, then check status.

**Next:** [Protect identity and data](/en/sellers/identity), or [resolve a problem](/en/help/troubleshooting).
