1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222
|
:orphan:
.. _docker:
Sphinx-Needs Docker Image
=========================
Status
------
======================================= ====================
Image Build Status
======================================= ====================
``danwos/sphinxneeds:latest`` |sphinxneeds-status|
``danwos/sphinxneeds-latexpdf:latest`` |sphinxneeds-status|
======================================= ====================
.. |sphinxneeds-status| image:: badge.svg
:target: https://github.com/useblocks/sphinx-needs/actions/workflows/docker.yaml
Image Variants
--------------
The Sphinx-Needs docker images come in two flavors, each designed for a specific
use case.
``sphinxneeds:<tag>``
~~~~~~~~~~~~~~~~~~~~~
.. _latest_version:
This is the defacto docker image (size ~ 350MB). If you are not sure about what
your requirements are, you probably want to use this one.
You can use it as a throw away container (mount your documentation and start
the container), as well as the base to build your own docker images.
.. note::
The docker image does not include latex packages and therefore does
not support PDF generation. Please use the latex-pdf version below for
such use cases.
Included Tools
^^^^^^^^^^^^^^
The image is based on `sphinx
image <https://hub.docker.com/r/sphinxdoc/sphinx>`__ and includes the
following tools.
+------------------------+
| Tools |
+========================+
| python-slim |
+------------------------+
| sphinx |
+------------------------+
| sphinx-needs |
+------------------------+
| sphinxcontrib-plantuml |
+------------------------+
| graphviz |
+------------------------+
| jre |
+------------------------+
``sphinxneeds-latexpdf:<tag>``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This docker image includes all the tools in the :ref:`sphinxneeds:latest <latest_version>` image
and additionally PDF generation tools. The image is ~ 1.5GB large.
Included Tools
^^^^^^^^^^^^^^
The docker image is based on the `sphinx latexpdf
image <https://hub.docker.com/r/sphinxdoc/sphinx-latexpdf>`__ and
includes the following tools.
+------------------------+
| Tools |
+========================+
| python-slim |
+------------------------+
| sphinx |
+------------------------+
| sphinx-needs |
+------------------------+
| sphinxcontrib-plantuml |
+------------------------+
| graphviz |
+------------------------+
| jre |
+------------------------+
| latexmk |
+------------------------+
| texlive |
+------------------------+
Getting Started
---------------
Prerequisites
~~~~~~~~~~~~~
To use the images, install and configure `Docker <https://www.docker.com/>`__.
Pulling the Image from Docker Hub
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The docker image can be pulled by
.. code:: bash
docker pull danwos/sphinxneeds:latest
or
.. code:: bash
docker pull danwos/sphinxneeds-latexpdf:latest
A specific version can be pulled with a version tag.
For example,
.. code:: bash
docker pull danwos/sphinxneeds:0.7.8
Build The Image Locally
~~~~~~~~~~~~~~~~~~~~~~~
To build the image locally, execute the following commands.
.. code:: bash
cd docker && ./build_docker.sh
.. note::
The script allows to choose between html and pdf version and
the Sphinx-Needs version to be installed.
Usage
-----
Linux
~~~~~
.. code:: bash
docker run --rm -it -v $(pwd):/sphinxneeds danwos/sphinxneeds:latest <build-command>
Windows (cmd)
~~~~~~~~~~~~~
.. code:: bash
docker run --rm -it -v %cd%:/sphinxneeds danwos/sphinxneeds:latest <build-command>
Windows (Powershell)
~~~~~~~~~~~~~~~~~~~~
.. code:: bash
docker run --rm -it -v ${PWD}:/sphinxneeds danwos/sphinxneeds:latest <build-command>
.. _build-command:
``<build-command>``\ s to be used are:
Generate HTML
~~~~~~~~~~~~~
.. code:: bash
make html
For example,
.. code:: bash
docker run --rm -it -v $(pwd):/sphinxneeds danwos/sphinxneeds:latest make html
Generate PDF
~~~~~~~~~~~~
.. code:: bash
make latexpdf
.. note:: Make sure ``danwos/sphinxneeds-latexpdf:latest`` is installed for PDF generation.
To enter a shell, execute:
Linux
~~~~~
.. code:: bash
docker run --rm -it -v $(pwd):/sphinxneeds danwos/sphinxneeds:latest bash
Windows (cmd)
~~~~~~~~~~~~~
.. code:: bash
docker run --rm -it -v %cd%:/sphinxneeds danwos/sphinxneeds:latest bash
Windows (Powershell)
~~~~~~~~~~~~~~~~~~~~
.. code:: bash
docker run --rm -it -v ${PWD}:/sphinxneeds danwos/sphinxneeds:latest bash
Once inside the docker container shell, you can execute :ref:`docs build command <build-command>`
|