Commit f646d2b2 authored by Peter Parente's avatar Peter Parente Committed by GitHub

Merge pull request #844 from parente/transifex

Try RTD+Transifex workflow
parents 58e2a02d c6bee395
dist: xenial
language: python language: python
python: python:
- 3.6 - 3.7
sudo: required sudo: required
services: services:
- docker - docker
install: install:
- pip install --upgrade pip
- make dev-env - make dev-env
script: script:
- set -e - set -e
- make test/docs docs - make docs
- make build-test-all DARGS="--build-arg TEST_ONLY_BUILD=1" - make build-test-all DARGS="--build-arg TEST_ONLY_BUILD=1"
...@@ -60,9 +60,6 @@ dev-env: ## install libraries required to build docs and run tests ...@@ -60,9 +60,6 @@ dev-env: ## install libraries required to build docs and run tests
docs: ## build HTML documentation docs: ## build HTML documentation
make -C docs html make -C docs html
test/docs: ## check links in Sphinx documentation
make -C docs
test/%: ## run tests against a stack test/%: ## run tests against a stack
@TEST_IMAGE="$(OWNER)/$(notdir $@)" pytest test @TEST_IMAGE="$(OWNER)/$(notdir $@)" pytest test
......
[main]
host = https://www.transifex.com
[jupyter-docker-stacks-1.using]
file_filter = locale/<lang>/LC_MESSAGES/using.po
source_file = _build/gettext/using.pot
source_lang = en
type = PO
[jupyter-docker-stacks-1.maintaining]
file_filter = locale/<lang>/LC_MESSAGES/maintaining.po
source_file = _build/gettext/maintaining.pot
source_lang = en
type = PO
[jupyter-docker-stacks-1.index]
file_filter = locale/<lang>/LC_MESSAGES/index.po
source_file = _build/gettext/index.pot
source_lang = en
type = PO
[jupyter-docker-stacks-1.contributing]
file_filter = locale/<lang>/LC_MESSAGES/contributing.po
source_file = _build/gettext/contributing.pot
source_lang = en
type = PO
...@@ -52,7 +52,7 @@ master_doc = 'index' ...@@ -52,7 +52,7 @@ master_doc = 'index'
# General information about the project. # General information about the project.
project = 'docker-stacks' project = 'docker-stacks'
copyright = '2018, Project Jupyter' copyright = '2018- Project Jupyter'
author = 'Project Jupyter' author = 'Project Jupyter'
# The version info for the project you're documenting, acts as replacement for # The version info for the project you're documenting, acts as replacement for
...@@ -191,7 +191,12 @@ texinfo_documents = [ ...@@ -191,7 +191,12 @@ texinfo_documents = [
'Miscellaneous'), 'Miscellaneous'),
] ]
# -- Extension configuration ------------------------------------------------- # -- Extension configuration ----------------------------------------------
# Anchors are often dynamic # Anchors are often dynamic
linkcheck_anchors = False linkcheck_anchors = False
\ No newline at end of file
# -- Translation ----------------------------------------------------------
gettext_uuid = True
locale_dirs = ['locale/']
\ No newline at end of file
...@@ -7,7 +7,7 @@ Thank you for contributing to the Jupyter Docker Stacks! We review pull requests ...@@ -7,7 +7,7 @@ Thank you for contributing to the Jupyter Docker Stacks! We review pull requests
Please follow the process below to suggest a new feature for inclusion in one of the core stacks: Please follow the process below to suggest a new feature for inclusion in one of the core stacks:
1. [Open a GitHub issue](https://github.com/jupyter/docker-stacks/issues) describing the feature you'd like to contribute. 1. [Open a GitHub issue](https://github.com/jupyter/docker-stacks/issues) describing the feature you'd like to contribute.
2. Discuss with the maintainers whether the addition makes sense in [one of the core stacks](../using/selecting.html#Core-Stacks), as a [recipe in the documentation](recipes.html), as a [community stack](stacks.html), or as something else entirely. 2. Discuss with the maintainers whether the addition makes sense in [one of the core stacks](../using/selecting.md#Core-Stacks), as a [recipe in the documentation](recipes.md), as a [community stack](stacks.md), or as something else entirely.
## Selection Criteria ## Selection Criteria
......
# New Recipes # New Recipes
We welcome contributions of [recipes](../using/recipes.html), short examples of using, configuring, or extending the Docker Stacks, for inclusion in the documentation site. Follow the process below to add a new recipe: We welcome contributions of [recipes](../using/recipes.md), short examples of using, configuring, or extending the Docker Stacks, for inclusion in the documentation site. Follow the process below to add a new recipe:
1. Open the `docs/using/recipes.md` source file. 1. Open the `docs/using/recipes.md` source file.
2. Add a second-level Markdown heading naming your recipe at the bottom of the file (e.g., `## Add the RISE extension``) 2. Add a second-level Markdown heading naming your recipe at the bottom of the file (e.g., `## Add the RISE extension`)
3. Write the body of your recipe under the heading, including whatever command line, Dockerfile, links, etc. you need. 3. Write the body of your recipe under the heading, including whatever command line, Dockerfile, links, etc. you need.
4. [Submit a pull request](https://github.com/PointCloudLibrary/pcl/wiki/A-step-by-step-guide-on-preparing-and-submitting-a-pull-request) (PR) with your changes. Maintainers will respond and work with you to address any formatting or content issues. 4. [Submit a pull request](https://github.com/PointCloudLibrary/pcl/wiki/A-step-by-step-guide-on-preparing-and-submitting-a-pull-request) (PR) with your changes. Maintainers will respond and work with you to address any formatting or content issues.
This diff is collapsed.
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2018- Project Jupyter
# This file is distributed under the same license as the docker-stacks package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: docker-stacks latest\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-04-21 17:25-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
# 85291a2c92d440a089cf156fba58b86a
#: ../../index.rst:32 ../../index.rst:32
msgid "User Guide"
msgstr "User Guide"
# e4a3fd32059d4486b6b0f3a6fb5065b5
#: ../../index.rst:42 ../../index.rst:42
msgid "Contributor Guide"
msgstr "Contributor Guide"
# 45de48c8617d4ebe83b7ff7141295836
#: ../../index.rst:53 ../../index.rst:53
msgid "Maintainer Guide"
msgstr "Maintainer Guide"
# aa99c4562d8d4cb3abfea375470e8af3
#: ../../index.rst:59 ../../index.rst:59
msgid "Getting Help"
msgstr "Getting Help"
# 76df09037a6147c8a85be8ef14c15532
#: ../../index.rst:2
msgid "Jupyter Docker Stacks"
msgstr "Jupyter Docker Stacks"
# b3fb253184e64174b26a2da73f221cc1
#: ../../index.rst:4
msgid ""
"Jupyter Docker Stacks are a set of ready-to-run Docker images containing "
"Jupyter applications and interactive computing tools. You can use a stack "
"image to do any of the following (and more):"
msgstr ""
"Jupyter Docker Stacks are a set of ready-to-run Docker images containing "
"Jupyter applications and interactive computing tools. You can use a stack "
"image to do any of the following (and more):"
# 8cd55fb113a049e7be445b21084df7ea
#: ../../index.rst:6
msgid "Start a personal Jupyter Notebook server in a local Docker container"
msgstr "Start a personal Jupyter Notebook server in a local Docker container"
# 285fa13bed8547b4af0cfc480adf4861
#: ../../index.rst:7
msgid "Run JupyterLab servers for a team using JupyterHub"
msgstr "Run JupyterLab servers for a team using JupyterHub"
# a49d31cedd4946ea98d7a4c720340d84
#: ../../index.rst:8
msgid "Write your own project Dockerfile"
msgstr "Write your own project Dockerfile"
# 0aff0df2e46a44b4bc8070545e83c42c
#: ../../index.rst:11
msgid "Quick Start"
msgstr "Quick Start"
# 3262accd283140058db73005072be200
#: ../../index.rst:13
msgid ""
"You can try a `recent build of the jupyter/base-notebook image on "
"mybinder.org <https://mybinder.org/v2/gh/jupyter/docker-"
"stacks/master?filepath=README.ipynb>`_ by simply clicking the preceding "
"link. Otherwise, the two examples below may help you get started if you "
"`have Docker installed <https://docs.docker.com/install/>`_, know "
":doc:`which Docker image <using/selecting>` you want to use, and want to "
"launch a single Jupyter Notebook server in a container."
msgstr ""
"You can try a `recent build of the jupyter/base-notebook image on "
"mybinder.org <https://mybinder.org/v2/gh/jupyter/docker-"
"stacks/master?filepath=README.ipynb>`_ by simply clicking the preceding "
"link. Otherwise, the two examples below may help you get started if you "
"`have Docker installed <https://docs.docker.com/install/>`_, know "
":doc:`which Docker image <using/selecting>` you want to use, and want to "
"launch a single Jupyter Notebook server in a container."
# 9e4094e8de264e20bca0af8f6cf888b7
#: ../../index.rst:15
msgid ""
"The other pages in this documentation describe additional uses and features "
"in detail."
msgstr ""
"The other pages in this documentation describe additional uses and features "
"in detail."
# 8b75310f2eaa4aac95d9387e0a4db9e8
#: ../../index.rst:17
msgid ""
"**Example 1:** This command pulls the ``jupyter/scipy-notebook`` image "
"tagged ``17aba6048f44`` from Docker Hub if it is not already present on the "
"local host. It then starts a container running a Jupyter Notebook server and"
" exposes the server on host port 8888. The server logs appear in the "
"terminal. Visiting ``http://<hostname>:8888/?token=<token>`` in a browser "
"loads the Jupyter Notebook dashboard page, where ``hostname`` is the name of"
" the computer running docker and ``token`` is the secret token printed in "
"the console. The container remains intact for restart after the notebook "
"server exits.::"
msgstr ""
"**Example 1:** This command pulls the ``jupyter/scipy-notebook`` image "
"tagged ``17aba6048f44`` from Docker Hub if it is not already present on the "
"local host. It then starts a container running a Jupyter Notebook server and"
" exposes the server on host port 8888. The server logs appear in the "
"terminal. Visiting ``http://<hostname>:8888/?token=<token>`` in a browser "
"loads the Jupyter Notebook dashboard page, where ``hostname`` is the name of"
" the computer running docker and ``token`` is the secret token printed in "
"the console. The container remains intact for restart after the notebook "
"server exits.::"
# 9e0229c99f404aceb7e517387ae88365
#: ../../index.rst:21
msgid ""
"**Example 2:** This command performs the same operations as **Example 1**, "
"but it exposes the server on host port 10000 instead of port 8888. Visiting "
"``http://<hostname>:10000/?token=<token>`` in a browser loads JupyterLab, "
"where ``hostname`` is the name of the computer running docker and ``token`` "
"is the secret token printed in the console.::"
msgstr ""
"**Example 2:** This command performs the same operations as **Example 1**, "
"but it exposes the server on host port 10000 instead of port 8888. Visiting "
"``http://<hostname>:10000/?token=<token>`` in a browser loads JupyterLab, "
"where ``hostname`` is the name of the computer running docker and ``token`` "
"is the secret token printed in the console.::"
# 02c25d3f0abe48348100dd878c243a75
#: ../../index.rst:25
msgid ""
"**Example 3:** This command pulls the ``jupyter/datascience-notebook`` image"
" tagged ``9b06df75e445`` from Docker Hub if it is not already present on the"
" local host. It then starts an *ephemeral* container running a Jupyter "
"Notebook server and exposes the server on host port 10000. The command "
"mounts the current working directory on the host as ``/home/jovyan/work`` in"
" the container. The server logs appear in the terminal. Visiting "
"``http://<hostname>:10000/?token=<token>`` in a browser loads JupyterLab, "
"where ``hostname`` is the name of the computer running docker and ``token`` "
"is the secret token printed in the console. Docker destroys the container "
"after notebook server exit, but any files written to ``~/work`` in the "
"container remain intact on the host.::"
msgstr ""
"**Example 3:** This command pulls the ``jupyter/datascience-notebook`` image"
" tagged ``9b06df75e445`` from Docker Hub if it is not already present on the"
" local host. It then starts an *ephemeral* container running a Jupyter "
"Notebook server and exposes the server on host port 10000. The command "
"mounts the current working directory on the host as ``/home/jovyan/work`` in"
" the container. The server logs appear in the terminal. Visiting "
"``http://<hostname>:10000/?token=<token>`` in a browser loads JupyterLab, "
"where ``hostname`` is the name of the computer running docker and ``token`` "
"is the secret token printed in the console. Docker destroys the container "
"after notebook server exit, but any files written to ``~/work`` in the "
"container remain intact on the host.::"
# 1bc0c7d54cd343d689362047c0b00122
#: ../../index.rst:30
msgid "Table of Contents"
msgstr "Table of Contents"
This diff is collapsed.
This diff is collapsed.
...@@ -75,7 +75,7 @@ In either case, Jupyter Notebook expects the key and certificate to be a base64 ...@@ -75,7 +75,7 @@ In either case, Jupyter Notebook expects the key and certificate to be a base64
For additional information about using SSL, see the following: For additional information about using SSL, see the following:
* The [docker-stacks/examples](https://github.com/jupyter/docker-stacks/tree/master/examples) for information about how to use [Let's Encrypt](https://letsencrypt.org/) certificates when you run these stacks on a publicly visible domain. * The [docker-stacks/examples](https://github.com/jupyter/docker-stacks/tree/master/examples) for information about how to use [Let's Encrypt](https://letsencrypt.org/) certificates when you run these stacks on a publicly visible domain.
* The [jupyter_notebook_config.py](jupyter_notebook_config.py) file for how this Docker image generates a self-signed certificate. * The [jupyter_notebook_config.py](https://github.com/jupyter/docker-stacks/blob/master/base-notebook/jupyter_notebook_config.py) file for how this Docker image generates a self-signed certificate.
* The [Jupyter Notebook documentation](https://jupyter-notebook.readthedocs.io/en/latest/public_server.html#securing-a-notebook-server) for best practices about securing a public notebook server in general. * The [Jupyter Notebook documentation](https://jupyter-notebook.readthedocs.io/en/latest/public_server.html#securing-a-notebook-server) for best practices about securing a public notebook server in general.
## Alternative Commands ## Alternative Commands
......
# Contributed Recipes # Contributed Recipes
Users sometimes share interesting ways of using the Jupyter Docker Stacks. We encourage users to [contribute these recipes](../contributing/recipes.html) to the documentation in case they prove useful to other members of the community by submitting a pull request to `docs/using/recipes.md`. The sections below capture this knowledge. Users sometimes share interesting ways of using the Jupyter Docker Stacks. We encourage users to [contribute these recipes](../contributing/recipes.md) to the documentation in case they prove useful to other members of the community by submitting a pull request to `docs/using/recipes.md`. The sections below capture this knowledge.
## Using `pip install` or `conda install` in a Child Docker image ## Using `pip install` or `conda install` in a Child Docker image
......
...@@ -21,7 +21,7 @@ The Jupyter team maintains a set of Docker image definitions in the [https://git ...@@ -21,7 +21,7 @@ The Jupyter team maintains a set of Docker image definitions in the [https://git
| [Dockerfile commit history](https://github.com/jupyter/docker-stacks/commits/master/base-notebook/Dockerfile) | [Dockerfile commit history](https://github.com/jupyter/docker-stacks/commits/master/base-notebook/Dockerfile)
| [Docker Hub image tags](https://hub.docker.com/r/jupyter/base-notebook/tags/) | [Docker Hub image tags](https://hub.docker.com/r/jupyter/base-notebook/tags/)
`jupyter/base-notebook` is a small image supporting the [options common across all core stacks](common.html). It is the basis for all other stacks. `jupyter/base-notebook` is a small image supporting the [options common across all core stacks](common.md). It is the basis for all other stacks.
* Minimally-functional Jupyter Notebook server (e.g., no [pandoc](https://pandoc.org/) for saving notebooks as PDFs) * Minimally-functional Jupyter Notebook server (e.g., no [pandoc](https://pandoc.org/) for saving notebooks as PDFs)
* [Miniconda](https://conda.io/miniconda.html) Python 3.x in `/opt/conda` * [Miniconda](https://conda.io/miniconda.html) Python 3.x in `/opt/conda`
...@@ -148,4 +148,4 @@ The core stacks are just a tiny sample of what's possible when combining Jupyter ...@@ -148,4 +148,4 @@ The core stacks are just a tiny sample of what's possible when combining Jupyter
* [education-notebook is a community Jupyter Docker Stack image](https://github.com/umsi-mads/education-notebook). The image includes nbgrader and RISE on top of the datascience-notebook image. Click here to launch it on [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/umsi-mads/education-notebook/master). * [education-notebook is a community Jupyter Docker Stack image](https://github.com/umsi-mads/education-notebook). The image includes nbgrader and RISE on top of the datascience-notebook image. Click here to launch it on [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/umsi-mads/education-notebook/master).
See the [contributing guide](../contributing/stacks.html) for information about how to create your own Jupyter Docker Stack. See the [contributing guide](../contributing/stacks.md) for information about how to create your own Jupyter Docker Stack.
docker docker
pytest pytest
recommonmark==0.4.0 recommonmark==0.5.0
requests requests
sphinx>=1.6 sphinx>=1.6
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment