DAPS in a Container
DAPS is OpenSUSE’s “DocBook Authoring and Publishing Suite” that is used to build documentation for SUSE and OpenSUSE. It actually requires A LOT of dependencies when being installed and for that reason alone, it’s actually better to run it in a container. This is my image and how I use it.
docker run -v ~/myproject/:/home/user jsevans/daps:latest daps -d DC-project epub
Command Breakdown:
docker run
- Run the command in the container:
-v ~/myproject/:/home/user
- Maps a local directory called ~/myproject to a directory in the container called /home/user. /home/user is the default directory that is used by the daps command, so it is best to map this directory rather than needing any extra command line components.
jsevans/daps:latest
- This is the image that I’ve created. It is based on OpenSUSE Tumbleweed but it is stable enough for this use. However, it is a large image ~1.2GB due to the number of dependencies.
daps -d DC-project epub
- This is the actual command line argument for creating an EPUB ebook using DAPS. I use Asciidoc as my markup language since I don’t really want to learn docbook.
My Dockerfile:
FROM opensuse/tumbleweed
MAINTAINER Jason Evans jsevans@opensuse.com
RUN zypper refresh
RUN zypper –non-interactive in daps git
ENV HOME /home/user
RUN useradd –create-home –home-dir $HOME user \
&& chown -R user $HOME
WORKDIR $HOME
USER user
CMD [ “/usr/bin/daps” ]