58 lines
1.9 KiB
Markdown
58 lines
1.9 KiB
Markdown
# Codex Docker Image
|
|
|
|
Codex provides pre-built docker images and they are stored in the [codexstorage/nim-codex](https://hub.docker.com/repository/docker/codexstorage/nim-codex) repository.
|
|
|
|
|
|
## Run
|
|
|
|
We can run Codex Docker image using CLI
|
|
```shell
|
|
# Default run
|
|
docker run --rm codexstorage/nim-codex
|
|
|
|
# Mount local datadir
|
|
docker run -v ./datadir:/datadir --rm codexstorage/nim-codex codex --data-dir=/datadir
|
|
```
|
|
|
|
And Docker Compose
|
|
```shell
|
|
# Run in detached mode
|
|
docker-compose up -d
|
|
```
|
|
|
|
|
|
## Arguments
|
|
|
|
Docker image is based on the [codex.Dockerfile](codex.Dockerfile) and there is
|
|
```
|
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
|
CMD ["codex"]
|
|
```
|
|
|
|
It means that at the image run it will just run `codex` application without any arguments and we can pass them as a regular arguments, by overriding command
|
|
```shell
|
|
docker run codexstorage/nim-codex codex --api-bindaddr=0.0.0.0 --api-port=8080
|
|
```
|
|
|
|
|
|
## Environment variables
|
|
|
|
We can configure Codex using [Environment variables](../README#environment-variables) and [docker-compose.yaml](docker-compose.yaml) file can be useful as an example.
|
|
|
|
We also added a temporary environment variable `NAT_IP_AUTO` to the entrypoint which is set as `false` for releases and ` true` for regular builds. That approach is useful for Dist-Tests.
|
|
```shell
|
|
# Disable NAT_IP_AUTO for regular builds
|
|
docker run -e NAT_IP_AUTO=false codexstorage/nim-codex
|
|
```
|
|
|
|
|
|
## Slim
|
|
1. Build the image using `docker build -t codexstorage/codexsetup:latest -f codex.Dockerfile ..`
|
|
2. The docker image can then be minified using [slim](https://github.com/slimtoolkit/slim). Install slim on your path and then run:
|
|
```shell
|
|
slim # brings up interactive prompt
|
|
>>> build --target status-im/codexsetup --http-probe-off true
|
|
```
|
|
3. This should output an image with name `status-im/codexsetup.slim`
|
|
4. We can then bring up the image using `docker-compose up -d`.
|