Skip to content

Commit

Permalink
Add Dockerfile for sequence diagram generation
Browse files Browse the repository at this point in the history
  • Loading branch information
jbeda committed Jan 26, 2015
1 parent b6e345c commit fab7636
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 0 deletions.
12 changes: 12 additions & 0 deletions docs/design/clustering/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
FROM debian:jessie

RUN apt-get update
RUN apt-get -qy install python-seqdiag make curl

WORKDIR /diagrams

RUN curl -sLo DroidSansMono.ttf https://googlefontdirectory.googlecode.com/hg/apache/droidsansmono/DroidSansMono.ttf

ADD . /diagrams

CMD bash -c 'make >/dev/stderr && tar cf - *.png'
13 changes: 13 additions & 0 deletions docs/design/clustering/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,16 @@ $(FONT):

%.png: %.seqdiag $(FONT)
seqdiag --no-transparency -a -f '$(FONT)' $<

# Build the stuff via a docker image
.PHONY: docker
docker:
docker build -t clustering-seqdiag .
docker run --rm clustering-seqdiag | tar xvf -

docker-clean:
docker rmi clustering-seqdiag || true
docker images -q --filter "dangling=true" | xargs docker rmi

fix-clock-skew:
boot2docker ssh sudo date -u -D "%Y%m%d%H%M.%S" --set "$(shell date -u +%Y%m%d%H%M.%S)"
17 changes: 17 additions & 0 deletions docs/design/clustering/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,20 @@ pip install seqdiag
```

Just call `make` to regenerate the diagrams.

## Building with Docker
If you are on a Mac or your pip install is messed up, you can easily build with docker.

```
make docker
```

The first run will be slow but things should be fast after that.

To clean up the docker containers that are created (and other cruft that is left around) you can run `make docker-clean`.

If you are using boot2docker and get warnings about clock skew (or if things aren't building for some reason) then you can fix that up with `make fix-clock-skew`.

## Automatically rebuild on file changes

If you have the fswatch utility installed, you can have it monitor the file system and automatically rebuild when files have changed. Just do a `make watch`.

0 comments on commit fab7636

Please sign in to comment.