Move from dockerhub to quay.io

See https://github.com/jupyterhub/team-compass/issues/688
for context.

I've also added `QUAY_USERNAME` and `QUAY_PASSWORD` to environment
secrets, but *not* `env.REGISTRY`. I will do so once this gets
merged.
This commit is contained in:
YuviPanda
2023-10-22 10:26:11 +05:30
parent 26a744456b
commit f366b785a3
11 changed files with 28 additions and 32 deletions

View File

@@ -119,17 +119,13 @@ jobs:
- name: Setup push rights to Docker Hub - name: Setup push rights to Docker Hub
# This was setup by... # This was setup by...
# 1. Creating a Docker Hub service account "jupyterhubbot" # 1. Creating a [Robot Account](https://quay.io/organization/jupyterhub?tab=robots) in the JupyterHub
# 2. Creating a access token for the service account specific to this # . quay.io org
# repository: https://hub.docker.com/settings/security # 2. Giving it enough permissions to push to the jupyterhub and singleuser images
# 3. Making the account part of the "bots" team, and granting that team # 3. Putting the robot account's username and password in GitHub actions environment
# permissions to push to the relevant images:
# https://hub.docker.com/orgs/jupyterhub/teams/bots/permissions
# 4. Registering the username and token as a secret for this repo:
# https://github.com/jupyterhub/jupyterhub/settings/secrets/actions
if: env.REGISTRY != 'localhost:5000/' if: env.REGISTRY != 'localhost:5000/'
run: | run: |
docker login -u "${{ secrets.DOCKERHUB_USERNAME }}" -p "${{ secrets.DOCKERHUB_TOKEN }}" docker login -u "${{ secrets.QUAY_USERNAME }}" -p "${{ secrets.QUAY_PASSWORD }}" "${{ env.REGISTRY }}"
# image: jupyterhub/jupyterhub # image: jupyterhub/jupyterhub
# #

View File

@@ -6,7 +6,7 @@
# #
# Option 1: # Option 1:
# #
# FROM jupyterhub/jupyterhub:latest # FROM quay.io/jupyterhub/jupyterhub:latest
# #
# And put your configuration file jupyterhub_config.py in /srv/jupyterhub/jupyterhub_config.py. # And put your configuration file jupyterhub_config.py in /srv/jupyterhub/jupyterhub_config.py.
# #
@@ -14,10 +14,10 @@
# #
# Or you can create your jupyterhub config and database on the host machine, and mount it with: # Or you can create your jupyterhub config and database on the host machine, and mount it with:
# #
# docker run -v $PWD:/srv/jupyterhub -t jupyterhub/jupyterhub # docker run -v $PWD:/srv/jupyterhub -t quay.io/jupyterhub/jupyterhub
# #
# NOTE # NOTE
# If you base on jupyterhub/jupyterhub-onbuild # If you base on quay.io/jupyterhub/jupyterhub-onbuild
# your jupyterhub_config.py will be added automatically # your jupyterhub_config.py will be added automatically
# from your docker directory. # from your docker directory.

View File

@@ -14,7 +14,7 @@
[![Latest conda-forge version](https://img.shields.io/conda/vn/conda-forge/jupyterhub?logo=conda-forge)](https://anaconda.org/conda-forge/jupyterhub) [![Latest conda-forge version](https://img.shields.io/conda/vn/conda-forge/jupyterhub?logo=conda-forge)](https://anaconda.org/conda-forge/jupyterhub)
[![Documentation build status](https://img.shields.io/readthedocs/jupyterhub?logo=read-the-docs)](https://jupyterhub.readthedocs.org/en/latest/) [![Documentation build status](https://img.shields.io/readthedocs/jupyterhub?logo=read-the-docs)](https://jupyterhub.readthedocs.org/en/latest/)
[![GitHub Workflow Status - Test](https://img.shields.io/github/workflow/status/jupyterhub/jupyterhub/Test?logo=github&label=tests)](https://github.com/jupyterhub/jupyterhub/actions) [![GitHub Workflow Status - Test](https://img.shields.io/github/workflow/status/jupyterhub/jupyterhub/Test?logo=github&label=tests)](https://github.com/jupyterhub/jupyterhub/actions)
[![DockerHub build status](https://img.shields.io/docker/build/jupyterhub/jupyterhub?logo=docker&label=build)](https://hub.docker.com/r/jupyterhub/jupyterhub/tags) [![Docker Repository on Quay](https://quay.io/repository/jupyterhub/jupyterhub/status "Docker Repository on Quay")](https://quay.io/repository/jupyterhub/jupyterhub)
[![Test coverage of code](https://codecov.io/gh/jupyterhub/jupyterhub/branch/main/graph/badge.svg)](https://codecov.io/gh/jupyterhub/jupyterhub) [![Test coverage of code](https://codecov.io/gh/jupyterhub/jupyterhub/branch/main/graph/badge.svg)](https://codecov.io/gh/jupyterhub/jupyterhub)
[![GitHub](https://img.shields.io/badge/issue_tracking-github-blue?logo=github)](https://github.com/jupyterhub/jupyterhub/issues) [![GitHub](https://img.shields.io/badge/issue_tracking-github-blue?logo=github)](https://github.com/jupyterhub/jupyterhub/issues)
[![Discourse](https://img.shields.io/badge/help_forum-discourse-blue?logo=discourse)](https://discourse.jupyter.org/c/jupyterhub) [![Discourse](https://img.shields.io/badge/help_forum-discourse-blue?logo=discourse)](https://discourse.jupyter.org/c/jupyterhub)
@@ -160,10 +160,10 @@ To start the Hub on a specific url and port `10.0.1.2:443` with **https**:
## Docker ## Docker
A starter [**docker image for JupyterHub**](https://hub.docker.com/r/jupyterhub/jupyterhub/) A starter [**docker image for JupyterHub**](https://quay.io/repository/jupyterhub/jupyterhub)
gives a baseline deployment of JupyterHub using Docker. gives a baseline deployment of JupyterHub using Docker.
**Important:** This `jupyterhub/jupyterhub` image contains only the Hub itself, **Important:** This `quay.io/jupyterhub/jupyterhub` image contains only the Hub itself,
with no configuration. In general, one needs to make a derivative image, with with no configuration. In general, one needs to make a derivative image, with
at least a `jupyterhub_config.py` setting up an Authenticator and/or a Spawner. at least a `jupyterhub_config.py` setting up an Authenticator and/or a Spawner.
To run the single-user servers, which may be on the same system as the Hub or To run the single-user servers, which may be on the same system as the Hub or
@@ -171,7 +171,7 @@ not, Jupyter Notebook version 4 or greater must be installed.
The JupyterHub docker image can be started with the following command: The JupyterHub docker image can be started with the following command:
docker run -p 8000:8000 -d --name jupyterhub jupyterhub/jupyterhub jupyterhub docker run -p 8000:8000 -d --name jupyterhub quay.io/jupyterhub/jupyterhub jupyterhub
This command will create a container named `jupyterhub` that you can This command will create a container named `jupyterhub` that you can
**stop and resume** with `docker stop/start`. **stop and resume** with `docker stop/start`.

View File

@@ -3,7 +3,7 @@
# This should only be used for demo or testing and not as a base image to build on. # This should only be used for demo or testing and not as a base image to build on.
# #
# It includes the notebook package and it uses the DummyAuthenticator and the SimpleLocalProcessSpawner. # It includes the notebook package and it uses the DummyAuthenticator and the SimpleLocalProcessSpawner.
ARG BASE_IMAGE=jupyterhub/jupyterhub-onbuild ARG BASE_IMAGE=quay.io/jupyterhub/jupyterhub-onbuild
FROM ${BASE_IMAGE} FROM ${BASE_IMAGE}
# Install the notebook package # Install the notebook package

View File

@@ -46,13 +46,13 @@ things like inspect other users' servers or modify the user list at runtime).
### JupyterHub Docker container is not accessible at localhost ### JupyterHub Docker container is not accessible at localhost
Even though the command to start your Docker container exposes port 8000 Even though the command to start your Docker container exposes port 8000
(`docker run -p 8000:8000 -d --name jupyterhub jupyterhub/jupyterhub jupyterhub`), (`docker run -p 8000:8000 -d --name jupyterhub quay.io/jupyterhub/jupyterhub jupyterhub`),
it is possible that the IP address itself is not accessible/visible. As a result, it is possible that the IP address itself is not accessible/visible. As a result,
when you try http://localhost:8000 in your browser, you are unable to connect when you try http://localhost:8000 in your browser, you are unable to connect
even though the container is running properly. One workaround is to explicitly even though the container is running properly. One workaround is to explicitly
tell Jupyterhub to start at `0.0.0.0` which is visible to everyone. Try this tell Jupyterhub to start at `0.0.0.0` which is visible to everyone. Try this
command: command:
`docker run -p 8000:8000 -d --name jupyterhub jupyterhub/jupyterhub jupyterhub --ip 0.0.0.0 --port 8000` `docker run -p 8000:8000 -d --name jupyterhub quay.io/jupyterhub/jupyterhub jupyterhub --ip 0.0.0.0 --port 8000`
### How can I kill ports from JupyterHub-managed services that have been orphaned? ### How can I kill ports from JupyterHub-managed services that have been orphaned?
@@ -347,12 +347,12 @@ In order to resolve this issue, there are two potential options.
### Where do I find Docker images and Dockerfiles related to JupyterHub? ### Where do I find Docker images and Dockerfiles related to JupyterHub?
Docker images can be found at the [JupyterHub organization on DockerHub](https://hub.docker.com/u/jupyterhub/). Docker images can be found at the [JupyterHub organization on quay.io](https://quay.io/organization/jupyterhub).
The Docker image [jupyterhub/singleuser](https://hub.docker.com/r/jupyterhub/singleuser/) The Docker image [jupyterhub/singleuser](https://quay.io/repository/jupyterhub/singleuser)
provides an example single-user notebook server for use with DockerSpawner. provides an example single-user notebook server for use with DockerSpawner.
Additional single-user notebook server images can be found at the [Jupyter Additional single-user notebook server images can be found at the [Jupyter
organization on DockerHub](https://hub.docker.com/r/jupyter/) and information organization on quay.io](https://quay.io/organization/jupyter) and information
about each image at the [jupyter/docker-stacks repo](https://github.com/jupyter/docker-stacks). about each image at the [jupyter/docker-stacks repo](https://github.com/jupyter/docker-stacks).
### How can I view the logs for JupyterHub or the user's Notebook servers when using the DockerSpawner? ### How can I view the logs for JupyterHub or the user's Notebook servers when using the DockerSpawner?

View File

@@ -70,7 +70,7 @@ need to configure the options there.
## Docker image ## Docker image
You can use [jupyterhub configurable-http-proxy docker You can use [jupyterhub configurable-http-proxy docker
image](https://hub.docker.com/r/jupyterhub/configurable-http-proxy/) image](https://quay.io/repository/jupyterhub/configurable-http-proxy)
to run the proxy. to run the proxy.
## See also ## See also

View File

@@ -1,9 +1,9 @@
# Install JupyterHub with Docker # Install JupyterHub with Docker
The JupyterHub [docker image](https://hub.docker.com/r/jupyterhub/jupyterhub/) is the fastest way to set up Jupyterhub in your local development environment. The JupyterHub [docker image](https://quay.io/repository/jupyterhub/jupyterhub) is the fastest way to set up Jupyterhub in your local development environment.
:::{note} :::{note}
This `jupyterhub/jupyterhub` docker image is only an image for running This `quay.io/jupyterhub/jupyterhub` docker image is only an image for running
the Hub service itself. It does not provide the other Jupyter components, the Hub service itself. It does not provide the other Jupyter components,
such as Notebook installation, which are needed by the single-user servers. such as Notebook installation, which are needed by the single-user servers.
To run the single-user servers, which may be on the same system as the Hub or To run the single-user servers, which may be on the same system as the Hub or
@@ -24,7 +24,7 @@ You should have [Docker] installed on a Linux/Unix based system.
To pull the latest JupyterHub image and start the `jupyterhub` container, run this command in your terminal. To pull the latest JupyterHub image and start the `jupyterhub` container, run this command in your terminal.
``` ```
docker run -d -p 8000:8000 --name jupyterhub jupyterhub/jupyterhub jupyterhub docker run -d -p 8000:8000 --name jupyterhub quay.io/jupyterhub/jupyterhub jupyterhub
``` ```
This command exposes the Jupyter container on port:8000. Navigate to `http://localhost:8000` in a web browser to access the JupyterHub console. This command exposes the Jupyter container on port:8000. Navigate to `http://localhost:8000` in a web browser to access the JupyterHub console.

View File

@@ -1,9 +1,9 @@
FROM jupyterhub/jupyterhub FROM quay.io/jupyterhub/jupyterhub
# Create test user (PAM auth) and install single-user Jupyter # Create test user (PAM auth) and install single-user Jupyter
RUN useradd testuser --create-home --shell /bin/bash RUN useradd testuser --create-home --shell /bin/bash
RUN echo 'testuser:passwd' | chpasswd RUN echo 'testuser:passwd' | chpasswd
RUN pip install jupyter RUN pip install jupyter
COPY app ./app COPY app ./app
COPY jupyterhub_config.py . COPY jupyterhub_config.py .

View File

@@ -4,7 +4,7 @@
# #
# Derivative images must have jupyterhub_config.py next to the Dockerfile. # Derivative images must have jupyterhub_config.py next to the Dockerfile.
ARG BASE_IMAGE=jupyterhub/jupyterhub:latest ARG BASE_IMAGE=quay.io/jupyterhub/jupyterhub:latest
FROM $BASE_IMAGE FROM $BASE_IMAGE
ONBUILD COPY jupyterhub_config.py /srv/jupyterhub/jupyterhub_config.py ONBUILD COPY jupyterhub_config.py /srv/jupyterhub/jupyterhub_config.py

View File

@@ -2,7 +2,7 @@
If you base a Dockerfile on this image: If you base a Dockerfile on this image:
FROM jupyterhub/jupyterhub-onbuild:1.4.0 FROM quay.io/jupyterhub/jupyterhub-onbuild:1.4.0
... ...
then your `jupyterhub_config.py` adjacent to your Dockerfile will be loaded into the image and used by JupyterHub. then your `jupyterhub_config.py` adjacent to your Dockerfile will be loaded into the image and used by JupyterHub.

View File

@@ -1,7 +1,7 @@
# Build as jupyterhub/singleuser # Build as jupyterhub/singleuser
# Run with the DockerSpawner in JupyterHub # Run with the DockerSpawner in JupyterHub
ARG BASE_IMAGE=jupyter/base-notebook ARG BASE_IMAGE=quay.io/jupyter/base-notebook
FROM $BASE_IMAGE FROM $BASE_IMAGE
MAINTAINER Project Jupyter <jupyter@googlegroups.com> MAINTAINER Project Jupyter <jupyter@googlegroups.com>