Giter VIP home page Giter VIP logo

keimlink / docker-sphinx-doc Goto Github PK

View Code? Open in Web Editor NEW
13.0 4.0 4.0 233 KB

:whale: :blue_book: A Docker image for Sphinx, a documentation tool written in Python.

Home Page: https://hub.docker.com/r/keimlink/sphinx-doc/

License: BSD 3-Clause "New" or "Revised" License

Makefile 25.07% Shell 48.34% JavaScript 9.67% Dockerfile 16.92%
docker-image sphinx-doc python alpine-image debian-image latex documentation

docker-sphinx-doc's Introduction

Sphinx Docker Image

CircleCI Build Docker Stars Docker Pulls Python Dependency Updates Renovate enabled License

A Docker image for Sphinx, a documentation tool written in Python.

Supported Tags and Respective Dockerfile Links

What Is Sphinx?

Sphinx is a tool that makes it easy to create intelligent and beautiful documentation. It has excellent facilities for the documentation of software projects in a range of languages. Output formats like HTML, LaTeX, ePub, Texinfo, manual pages and plain text are supported. More than 50 extensions contributed by users are available.

How to Use This Image

Use the Image for Your Sphinx Project

First run sphinx-quickstart to set up a source directory and a configuration:

docker run -it --rm -v "$(pwd)/docs":/home/python/docs keimlink/sphinx-doc:1.7.1 sphinx-quickstart docs

Then build the HTML documentation:

docker run -it --rm -v "$(pwd)/docs":/home/python/docs keimlink/sphinx-doc:1.7.1 make -C docs html

Create a Dockerfile for Your Sphinx Project

If you want to extend the image you can create a Dockerfile for your Sphinx project. In this example sphinx-autobuild will be used to rebuild the documentation when a change is detected.

Start with a requirements file called requirements.pip:

sphinx-autobuild==0.7.1

Then create the Dockerfile:

FROM keimlink/sphinx-doc:1.7.1

COPY --chown=1000:1000 requirements.pip ./

RUN . .venv/bin/activate \
    && python -m pip install --requirement requirements.pip

EXPOSE 8000

CMD ["sphinx-autobuild", "--host", "0.0.0.0", "--port", "8000", "/home/python/docs", "/home/python/docs/_build/html"]

Now build the image and run the container:

docker build -t sphinx-autobuild .
docker run -it -p 8000:8000 --rm -v "$(pwd)/docs":/home/python/docs sphinx-autobuild

The documentation should served at http://127.0.0.1:8000. It will be rebuild when a file is changed.

Image Variants

The sphinx-doc images come in many flavours, each designed for a specific use case.

All images have the enchant package installed. It is required by sphinxcontrib-spelling to spell check the documentation.

Processes inside the containers run as non-privileged user python to improve security.

Python packages are installed into a virtual environment to isolate them from the operating system.

sphinx-doc:<version>

This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of. This tag is based off of python:alpine, which is based on the popular Alpine Linux project, available in the alpine official image. Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general.

sphinx-doc:latex

This image is based off of python and contains all packages needed to build the LaTeX documentation. Because the python image is based on buildpack-deps and includes large number of common Debian packages the resulting image is much larger than the other variant.

Code of Conduct

Everyone interacting in the docker-sphinx-doc project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the PyPA Code of Conduct.

License

Distributed under the BSD 3-Clause license.

As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).

As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.

Copyright 2017-2019 Markus Zapke-Gründemann

docker-sphinx-doc's People

Contributors

greenkeeper[bot] avatar keimlink avatar pyup-bot avatar renovate-bot avatar renovate[bot] avatar zerok avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

docker-sphinx-doc's Issues

Permission denied

:# docker run -it -p 8000:8000 --rm -v "$(pwd)/docs":/home/python/docs sphinx-autobuild
Traceback (most recent call last):
File "/home/python/.venv/bin/sphinx-autobuild", line 11, in
load_entry_point('sphinx-autobuild==0.7.1', 'console_scripts', 'sphinx-autobuild')()
File "/home/python/.venv/lib/python3.6/site-packages/sphinx_autobuild/init.py", line 291, in main
os.makedirs(outdir)
File "/usr/local/lib/python3.6/os.py", line 210, in makedirs
makedirs(head, mode, exist_ok)
File "/usr/local/lib/python3.6/os.py", line 220, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/home/python/docs/_build'

Initial Update

Hi 👊

This is my first visit to this fine repo, but it seems you have been working hard to keep all dependencies updated so far.

Once you have closed this issue, I'll create separate pull requests for every update as soon as I find one.

That's it for now!

Happy merging! 🤖

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Rate-Limited

These updates are currently rate-limited. Click on a checkbox below to force their creation now.

  • chore(deps): update python:3.6.4-alpine3.7 docker digest to 343fa57
  • chore(deps): update dependency danger to v12
  • chore(deps): update dependency prettier to v3
  • chore(deps): update dependency sphinx to v7
  • chore(deps): update node.js to v17
  • chore(deps): update node.js to v20
  • 🔐 Create all rate-limited PRs at once 🔐

Edited/Blocked

These updates have been manually edited so Renovate will no longer make changes. To discard all commits and start over, click on a checkbox.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

circleci
.circleci/config.yml
  • docker 17.09.1-ce-git
  • circleci/node 8
  • koalaman/shellcheck-alpine v0.4.7
  • boiyaa/yamllint 1.8.1
docker-compose
docker-compose.yml
  • koalaman/shellcheck-alpine v0.4.7
  • boiyaa/yamllint 1.8.1
dockerfile
Dockerfile
  • python 3.6.4-alpine3.7@sha256:10bd7a59cfac2a784bedd1e6d89887995559f00b61f005a101845ed736bed779
Dockerfile.latex
  • python 3.6.4
Dockerfile.node
  • node 8.9.4-alpine
npm
package.json
  • danger 4.0.1
  • eclint 2.8.0
  • markdownlint-cli 0.13.0
  • prettier 1.11.1
  • prettier-check 2.0.0
  • xo 0.20.3
pip_requirements
requirements.pip
  • sphinx ==1.7.1

  • Check this box to trigger a request for Renovate to run again on this repository

Initial Update

Hi 👊

This is my first visit to this fine repo, but it seems you have been working hard to keep all dependencies updated so far.

Once you have closed this issue, I'll create separate pull requests for every update as soon as I find one.

That's it for now!

Happy merging! 🤖

An in-range update of greenkeeper-lockfile is breaking the build 🚨

Version 1.13.0 of greenkeeper-lockfile was just published.

Branch Build failing 🚨
Dependency greenkeeper-lockfile
Current Version 1.12.0
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

greenkeeper-lockfile is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • pyup.io/safety-ci No dependencies with known security vulnerabilities. Details
  • ci/circleci: shellcheck Your tests passed on CircleCI! Details
  • ci/circleci: checkout Your tests passed on CircleCI! Details
  • ci/circleci: yamllint Your tests passed on CircleCI! Details
  • ci/circleci: install Your tests passed on CircleCI! Details
  • ci/circleci: markdownlint Your tests passed on CircleCI! Details
  • ci/circleci: eslint Your tests passed on CircleCI! Details
  • ci/circleci: greenkeeper-lockfile-update Your tests passed on CircleCI! Details
  • ci/circleci: analyze-pull-request Your tests failed on CircleCI Details
  • ci/circleci: yarn-check Your tests failed on CircleCI Details
  • ci/circleci: eclint Your tests passed on CircleCI! Details
  • bitHound - Dependencies No failing dependencies. Details
  • bitHound - Code No failing files. Details

Release Notes v1.13.0

1.13.0 (2018-01-19)

Features

  • add basic Codeship CI Integration (258e9c0)
Commits

The new version differs by 3 commits.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.