> For the complete documentation index, see [llms.txt](https://allqueue.gitbook.io/allq/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://allqueue.gitbook.io/allq/advanced/docker-configuration-options.md).

# Docker Configuration Options

There are numerous ENV variable you can use to configure your AllQServer and Clients

## AllQueue Server

ENV variables you can set on your Docker container:

* SERVER\_PORT (Port to listen on, default = 5555)
* SERIALIZE (true or false to persist jobs locally for restartability, default = false)
* SERIALIZER\_DIR (location of serialized files, default = /tmp/allq)
* DEBUG (true or false to log more verbosely, default = false)
* CONFIG\_ONLY (true or false to only generate new keys, default = false)
* DEFAULT\_TTL (default time to live in seconds, default = 3600)
* PRIORITY\_SIZE (range of priorities 1 -> PRIORITY\_SIZE, default = 10)
* FQ\_SHARD\_COUNT (number of sub-queues to allow for sharding, default = 10)
* FQ\_PREFIX (prefix required to identify fair queue tubes, default = 'fq-')

## AllQueue Client

ENV variables you can set on your Docker container:

* HTTP\_SERVER\_PORT (Http REST API port, default = 8090)
* TCP\_CLIENT\_PORT (For TCP Clients, default = 7766)
* SERVER\_STRING (Comma separated list of AllQ Servers)
* ALLQ\_DEBUG (true or false to log more verbosely, default = false)

#### An example server docker run command might look like this

```bash
docker run --name=allq_server -d \
  -p 5555:5555 \
  --restart=unless-stopped \
  -e "A_CURVE_SECRETKEY=$A_CURVE_SECRETKEY" \
  -e "A_CURVE_PUBLICKEY=$A_CURVE_PUBLICKEY" \
  -e "SERIALIZE=true" \
  -e "DEBUG=true" \
  -v /tmp:/tmp \
  --init \
  --sysctl net.core.somaxconn=1028 \
  blitline/allq:server_latest
```

The above example would let you run a persistent storage docker server where your peristence files would live on your host machine at /tmp/allq.
