58 lines
2.1 KiB
Markdown
58 lines
2.1 KiB
Markdown
# Docker building instructions
|
|
|
|
This image can be build with just `docker`, but it is highly recommend to use
|
|
`docker-compose` as this greatly simplifies and improves the process.
|
|
|
|
## Quick start
|
|
|
|
To start with the container hosted by the repo maintainer, run
|
|
|
|
`docker run -it --rm --name openface algebr/openface:latest`
|
|
|
|
This will drop you into a shell with binaries such as FaceLandmarkImg. For example,
|
|
try this code (in the container):
|
|
|
|
```bash
|
|
curl -o tesla.jpg https://upload.wikimedia.org/wikipedia/commons/thumb/b/b7/Nicola_Tesla_LCCN2014684845.jpg/559px-Nicola_Tesla_LCCN2014684845.jpg
|
|
FaceLandmarkImg -f tesla.jpg
|
|
```
|
|
|
|
Then, copy the output to the host system (from host terminal):
|
|
|
|
```bash
|
|
docker cp openface:/root/processed /tmp/
|
|
cd /tmp/processed
|
|
```
|
|
|
|
Tip: On Ubuntu and other *nixes with X running, you can open a file directly
|
|
like this:
|
|
```bash
|
|
xdg-open /tmp/processed/tesla.jpg
|
|
```
|
|
|
|
## Building
|
|
|
|
In repo root, run `docker-compose build` to automatically build and tag.
|
|
There are two variables which can be used to modify the tag, `$DOCKERUSER` and
|
|
`$DOCKERTAG`. DC will automatically tag image as
|
|
`${DOCKERUSER}/openface:${DOCKERTAG}`
|
|
|
|
## OpenFace service (in progress)
|
|
|
|
To run OpenFace like a service, you can start the container with bind mounts
|
|
in order to pass data into and out of the container easily.
|
|
`$DATA_MOUNT` by default is set to `/tmp/openface`. This can be overridden by
|
|
modifying `.env` file, setting it in your shell environment, or passing in
|
|
before `docker-compose` at runtime. Note: output will be `root` owner.
|
|
|
|
```bash
|
|
export DATA_MOUNT=/tmp/openface
|
|
mkdir -p $DATA_MOUNT/tesla # this is just to ensure this is writable by user
|
|
docker-compose up -d openface && sync # sync is to wait till service starts
|
|
curl -o $DATA_MOUNT/tesla.jpg \
|
|
https://upload.wikimedia.org/wikipedia/commons/thumb/b/b7/Nicola_Tesla_LCCN2014684845.jpg/559px-Nicola_Tesla_LCCN2014684845.jpg
|
|
docker exec -it openface FaceLandmarkImg -f $DATA_MOUNT/tesla.jpg -out_dir $DATA_MOUNT/tesla
|
|
docker exec -it openface chown -R $UID:$UID $DATA_MOUNT # chown to current user
|
|
docker-compose down # stop service if you wish
|
|
```
|