> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bytebase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Deploy with Docker

## Installation

```bash theme={null}
docker run --rm --init \
  --name bytebase \
  --publish 8080:8080 --pull always \
  --volume ~/.bytebase/data:/var/opt/bytebase \
  bytebase/bytebase:latest
```

Bytebase is now accessible at [http://localhost:8080](http://localhost:8080).

## Troubleshooting

### Docker Compatibility

Docker version must be at least 20.10.24. We recommend using the [latest Docker version](https://docs.docker.com/engine/install/). If you cannot upgrade Docker, pass `--security-opt seccomp=unconfined` to `docker run` as a best effort to avoid the `pthread_create failed` error.

If you encounter a "manifest not found" error, this may be due to:

* **Architecture mismatch**: The docker image only supports `linux/amd64` and `linux/arm64` architectures. If it doesn't match your OS architecture, you may supply `--platform linux/amd64` as a best effort.
* **Outdated Docker version**: Your Docker version is too old and doesn't support manifest lists.

### Air-gapped Environment

If you need to transfer images to a completely air-gapped environment:

```bash theme={null}
# Save the image to a tar file
docker save bytebase/bytebase:latest > bytebase-latest.tar

# Transfer the tar file to your target environment
# Then load it on the target system
docker load < bytebase-latest.tar

# Tag and push as described above
docker tag bytebase/bytebase:latest your-registry.acme.com/library/bytebase:latest
docker push your-registry.acme.com/library/bytebase:latest
```

### Port Conflicts

If you see `bind: address already in use` error, it means the port 8080 is already in use on your host. You need to either stop the existing process using the port or configure Bytebase to use a different port via `--publish <<YOUR_PORT>>:8080`.

### Connect to Database on Same Host

* If you **run Bytebase inside Docker on Linux**, then you need to supply the additional `--network host` flags in `docker run` command. This allows Bytebase to connect to database instance running on the same host with `localhost`.
* If you **run Bytebase inside Docker Desktop on Mac** , then you need to use `host.docker.internal` to connect to database instance running on the same host.

### Colima Support

Due to the vm mechanism of [Colima](https://github.com/abiosoft/colima), try to use the `--mount` option when starting colima as shown below:

```bash theme={null}
mkdir ~/volumes
colima start --mount ~/volumes:w
```
