> For the complete documentation index, see [llms.txt](https://docs.wproofreader.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wproofreader.com/v6.10.0.0/deployment/installation/docker/build-without-internet-connection.md).

# Build without internet connection

Use this workflow if the production host has no Internet access.

Build (or pull) the Docker image on a machine with Internet access. Then transfer it to the isolated host.

### What you need

* Docker installed on the build machine and the production host.
* An image already built locally.

### Save the image to a tar archive

```bash
docker save -o wsc_app.tar local/wsc_app
```

### Transfer the tar file to the production host

Use `scp` (or `rsync`) over SSH:

```bash
scp wsc_app.tar REMOTE_USER@xx.xx.xx.xx:/path/on/remote
```

### Load the image on the production host

```bash
docker load -i /path/on/remote/wsc_app.tar
```

### Run the container on the production host

Use `--env` flags.\nThis avoids rebuilding images for environment-specific values.

Example (HTTP):

```bash
docker run -d \
  -p 80:8080 \
  --env WPR_PROTOCOL=2 \
  --env WPR_DOMAIN_NAME=localhost \
  --env WPR_WEB_PORT=80 \
  --env WPR_VIRTUAL_DIR=wscservice \
  local/wsc_app
```

### Verify

* Status endpoint: `http://<host>/<virtual_dir>/api?cmd=status`
* Version endpoint: `http://<host>/<virtual_dir>/api?cmd=ver`

If you use the defaults above:

* `http://localhost/wscservice/api?cmd=status`
* `http://localhost/wscservice/api?cmd=ver`
