added jupyterhub image
All checks were successful
CI / Build wildfly docker images (push) Successful in 3m15s
All checks were successful
CI / Build wildfly docker images (push) Successful in 3m15s
This commit is contained in:
37
.gitea/workflows/build-jupyterhub.yaml
Normal file
37
.gitea/workflows/build-jupyterhub.yaml
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
name: CI
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ master ]
|
||||||
|
paths:
|
||||||
|
- 'jupyterhub/**'
|
||||||
|
- '.gitea/workflows/build-jupyterhub.yaml'
|
||||||
|
jobs:
|
||||||
|
"Build wildfly docker images":
|
||||||
|
runs-on: hostinger
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3.4.0
|
||||||
|
with:
|
||||||
|
driver: docker-container
|
||||||
|
-
|
||||||
|
name: Login to Gitea container registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: gitea.woggioni.net
|
||||||
|
username: woggioni
|
||||||
|
password: ${{ secrets.PUBLISHER_TOKEN }}
|
||||||
|
-
|
||||||
|
name: Build and push jupyterhub images
|
||||||
|
uses: docker/build-push-action@v6
|
||||||
|
with:
|
||||||
|
context: "{{defaultContext}}:jupyterhub"
|
||||||
|
push: true
|
||||||
|
pull: true
|
||||||
|
tags: |
|
||||||
|
"gitea.woggioni.net/woggioni/jupyterhub:latest"
|
||||||
|
"gitea.woggioni.net/woggioni/jupyterhub:5.2.1"
|
||||||
|
build-args: "VERSION=5.2.1"
|
||||||
|
cache-from: type=registry,ref=gitea.woggioni.net/woggioni/jupyterhub:buildx
|
||||||
|
cache-to: type=registry,mode=max,compression=zstd,image-manifest=true,oci-mediatypes=true,ref=gitea.woggioni.net/woggioni/jupyterhub:buildx
|
||||||
|
|
31
jupyterhub/Dockerfile
Normal file
31
jupyterhub/Dockerfile
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
FROM alpine:latest AS base
|
||||||
|
|
||||||
|
ARG VERSION
|
||||||
|
|
||||||
|
RUN --mount=type=cache,target=/var/cache/apk apk update
|
||||||
|
RUN --mount=type=cache,target=/var/cache/apk apk add python3 nodejs libcurl
|
||||||
|
|
||||||
|
RUN adduser -D -u 1000 jupyterhub
|
||||||
|
RUN mkdir -p /var/lib/jupyterhub
|
||||||
|
RUN chown jupyterhub:jupyterhub /var/lib/jupyterhub
|
||||||
|
|
||||||
|
FROM base AS build
|
||||||
|
USER root
|
||||||
|
RUN --mount=type=cache,target=/var/cache/apk apk add npm curl-dev gcc musl-dev python3-dev
|
||||||
|
RUN --mount=type=cache,target=/home/jupyterhub/.cache/pip npm install -g configurable-http-proxy
|
||||||
|
USER jupyterhub
|
||||||
|
WORKDIR /var/lib/jupyterhub
|
||||||
|
RUN python3 -m venv .
|
||||||
|
RUN --mount=type=cache,target=/home/jupyterhub/.cache/pip ./bin/pip install "jupyterhub==${VERSION}" jupyterhub_idle_culler dockerspawner psycopg2-binary oauthenticator pycurl
|
||||||
|
|
||||||
|
|
||||||
|
FROM base AS release
|
||||||
|
USER root
|
||||||
|
COPY --from=build /usr/local/lib/node_modules /usr/local/lib/node_modules
|
||||||
|
RUN ln -s ../lib/node_modules/configurable-http-proxy/bin/configurable-http-proxy /usr/local/bin/configurable-http-proxy
|
||||||
|
COPY --from=build /var/lib/jupyterhub /var/lib/jupyterhub
|
||||||
|
USER jupyterhub
|
||||||
|
WORKDIR /home/jupyterhub
|
||||||
|
ENV PATH="/var/lib/jupyterhub/bin/:$PATH"
|
||||||
|
EXPOSE 43080
|
||||||
|
ENTRYPOINT ["jupyterhub"]
|
Reference in New Issue
Block a user