# Docker Support

Docker is only supported for use in development/local environments to emulate a production environment with scaled-out infrastructure. The Docker environment is defined and described in `docker-compose.yml`

The host services worker is required to be operating on each host. And, we tend to think of a Docker container as a "host" - but it's not. And, they can easily map a path to a path on the host's file system. So, we map /tmp/dtp on the host into each DTP container, and we point all DTP processes at one container running the host services worker. Do not emulate that topology in a production environment, it would defeat the purpose of the host services worker as an edge cache.

## Initialize the Environment
```sh
docker-compose run sites-host-services node dtp-sites-cli.js --action=create-domain shing.tv
```

## Grand Admin Access
```sh
docker-compose run sites-host-services node dtp-sites-cli.js --action=grant --permission=admin [email address]
```

## Start the Environment

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

## Stop the Environment
```sh
docker-compose down
```