1- FROM jupyter/base-notebook:latest
2- RUN pip install -U mapwidget && \
3- fix-permissions "${CONDA_DIR}" && \
4- fix-permissions "/home/${NB_USER}"
1+ # ------------------------------
2+ # Base image from Jupyter stack
3+ # ------------------------------
4+ FROM quay.io/jupyter/base-notebook:latest
55
6- RUN mkdir ./examples
7- COPY docs/examples ./examples
6+ # # ------------------------------
7+ # # 1. Switch to root to install system packages
8+ # # ------------------------------
9+ # USER root
810
9- USER root
10- RUN chown -R ${NB_UID} ${HOME}
11- USER ${NB_USER}
11+ # RUN apt-get update && \
12+ # apt-get install -y --no-install-recommends \
13+ # git \
14+ # && apt-get clean && rm -rf /var/lib/apt/lists/*
15+
16+ # # ------------------------------
17+ # # 2. Install conda packages into base env
18+ # # ------------------------------
19+ # RUN mamba install -n base -c conda-forge -y \
20+ # gdal \
21+ # proj \
22+ # geos \
23+ # rasterio \
24+ # pyproj \
25+ # fiona \
26+ # geopandas \
27+ # rioxarray \
28+ # maplibre \
29+ # pmtiles \
30+ # flask \
31+ # flask-cors \
32+ # localtileserver \
33+ # jupyter-server-proxy \
34+ # leafmap \
35+ # && mamba clean --all --yes \
36+ # && fix-permissions $CONDA_DIR
37+
38+ # # ------------------------------
39+ # # 3. Set geospatial environment variables
40+ # # ------------------------------
41+ # ENV PROJ_LIB=$CONDA_DIR/share/proj \
42+ # GDAL_DATA=$CONDA_DIR/share/gdal \
43+ # LOCALTILESERVER_CLIENT_PREFIX='proxy/{port}'
44+
45+ # ------------------------------
46+ # 4. Copy source code after env setup
47+ # ------------------------------
48+ USER root
49+ COPY . /home/jovyan/mapwidget
50+ RUN chown -R $NB_UID:$NB_GID /home/jovyan/mapwidget
51+ WORKDIR /home/jovyan/mapwidget
52+
53+ # ------------------------------
54+ # 5. Install leafmap from source
55+ # ------------------------------
56+ # Prevent version resolution errors in CI
57+ ENV SETUPTOOLS_SCM_PRETEND_VERSION_FOR_MAPWIDGET=0.0.0
58+
59+ USER $NB_UID
60+
61+ RUN pip install . && \
62+ rm -rf ./build ./dist *.egg-info && \
63+ mkdir -p /home/jovyan/work && \
64+ fix-permissions /home/jovyan
65+
66+ # ------------------------------
67+ # 6. Switch back to default user
68+ # ------------------------------
69+
70+ WORKDIR /home/jovyan
71+
72+ # ------------------------------
73+ # Usage:
74+ # docker run -it -p 8888:8888 -v $(pwd):/home/jovyan/work ghcr.io/opengeos/mapwidget:latest
75+ # ------------------------------
0 commit comments