You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Access the [CryoCloud powerpoint](https://docs.google.com/presentation/d/1sj5oSAnHQ5Le0zMNqy55T-esZqro-WjVOPJdv_BR08M/edit?usp=sharing) whenever you need to reference it
37
+
## Access the [CryoCloud powerpoint](https://docs.google.com/presentation/d/1BRWaZUEfBJlKA9WL7jIdL_4jlQ24wohS_GNjYJCFliw/edit?usp=sharing) whenever you need to reference it
38
38
39
-
Open the powerpoint by directly clicking on the hyperlink above or to open it in the CryoCloud Linux Desktop web browser as follows:
40
-
41
-
- Copy this hyperlink: `https://docs.google.com/presentation/d/1sj5oSAnHQ5Le0zMNqy55T-esZqro-WjVOPJdv_BR08M/edit?usp=sharing`
42
-
- Click on the plus (`+`) sign in the `File Browser` to the left to open a `Launcher` window
43
-
- Under Notebooks, click on `Desktop` to access the Linux Desktop. This will open a new tab.
44
-
- Click on the `Web Browser` tool (globe) at the bottom of the screen
45
-
- Paste the url into the search bar
39
+
Open the powerpoint by directly clicking on the hyperlink above.
46
40
47
41

48
42
43
+
---
49
44
50
45
## Open CryoCloud
51
46
@@ -63,18 +58,157 @@ server and having to rerun your analysis.**
63
58
:::
64
59
65
60
3) Sit back and learn about each of the tools!
61
+
- How to bring your own environment
66
62
- JupyterHub options and viewing setup
67
63
- Github
68
64
- Virtual Linux desktop
69
65
- SyncThing
70
66
- Viewing and editing of different files
71
67
72
-
Now after the demo...
68
+
---
69
+
70
+
## Bring Your Own environment (custom Docker image)
71
+
72
+
CryoCloud allows you to launch your server using different software environments. Each environment corresponds to a Docker image, which defines the libraries, tools, and versions available to you. Switching Docker images is similar to switching between computers that have different applications installed.
73
+
74
+
Using a custom Docker image is useful when you want:
75
+
- A different software stack than the defaults
76
+
- An older or reproducible version of CryoCloud’s environment
77
+
- A specialized environment from an external registry (e.g., Pangeo, Rocker)
78
+
79
+
This feature is called **Bring Your Own Image (BYOI)**.
80
+
81
+
82
+
### 1. Selecting an environment when launching CryoCloud
83
+
84
+
When you open CryoCloud, the **Environment** dropdown provides:
85
+
86
+
- Python
87
+
- R
88
+
- Matlab
89
+
- Other
90
+
- Build Your Own
91
+
92
+
To use a custom Docker image, select **Other**.
93
+
A field labeled **Custom image** will appear. This is where you will paste the Docker tag for the environment you want.
94
+
95
+

96
+
97
+
98
+
### 2. Finding a Docker tag
99
+
100
+
A Docker tag tells CryoCloud which exact environment to use. You can choose tags from CryoCloud’s maintained images or from Docker Hub.
101
+
102
+
103
+
### Option A: Use an older or alternate CryoCloud environment
104
+
105
+
CryoCloud publishes its Python environment image to Quay.io.
Paste the tag into the **Custom image** field on CryoCloud. For reference, this image is built from the code in: https://github.com/CryoInTheCloud/hub-image.
121
+
122
+
```{image} ./image_tags.png
123
+
:width: 60%
124
+
:align: center
125
+
```
126
+
127
+
### Option B: Use an image from Docker Hub
128
+
129
+
You may also use any public Docker image from Docker Hub.
130
+
131
+
1. Search for images at:
132
+
https://hub.docker.com/
133
+
134
+
2. Tags typically follow this format: `account/image:tag`
135
+
136
+
Example:
137
+
```
138
+
pangeo/ml-notebook:latest
139
+
rocker/geospatial:4.4
140
+
```
141
+
142
+
Paste any valid tag into the **Custom image** field.
143
+
73
144
145
+
### Example: Using a machine learning environment
146
+
147
+
If you want a Pangeo machine learning environment, enter:
148
+
```
149
+
pangeo/ml-notebook:latest
150
+
```
151
+
152
+
CryoCloud will launch your session using that environment.
153
+
154
+
155
+
### Tips
156
+
157
+
- If an image does not launch, ensure it includes a Jupyter-compatible single-user interface.
158
+
- Private images requiring authentication are not currently supported through the UI.
159
+
- Images must be Linux-based and appropriate for JupyterHub.
160
+
- Use explicit tags (not `latest`) when reproducibility is important.
161
+
162
+
---
163
+
164
+
## Build Your Own image
165
+
166
+
CryoCloud also supports creating a fully customized environment using your own `environment.yml` file. This option is useful when you want complete control over the software stack and only want the packages you specify.
167
+
168
+
When launching CryoCloud, select **Build Your Own** from the **Environment** dropdown.
169
+
A field labeled **Repository** will appear. This is where you will paste the URL of a GitHub repository that contains an `environment.yml` file.
170
+
171
+

172
+
173
+
174
+
### Example: Using a minimal template repository
175
+
176
+
You can start with a simple example environment from the following template repository:
To copy the correct link from your own repository:
183
+
184
+
1. Open your GitHub repository.
185
+
2. Click the blue **Code** button.
186
+
3. Copy the HTTPS URL (it should end in `.git`).
187
+
188
+
CryoCloud will use the `environment.yml` found in that repository to build your image.
189
+
190
+
191
+
### Building the Image
192
+
193
+
1. Paste the repository URL into the **Repository** field.
194
+
2. Click **Build image**.
195
+
196
+
CryoCloud will begin building a Docker image based on your `environment.yml`. Build times vary depending on the number of packages:
197
+
198
+
- Simple environments: ~30 seconds
199
+
- Large or complex environments: up to ~1 hour
200
+
201
+
If the build process encounters an issue, an error message will appear in the log so you can revise your `environment.yml`.
202
+
203
+
After the image is built once, you can easily select it again in future sessions.
204
+
205
+
**Tip:** Test your `environment.yml` locally using Mamba before using Build Your Own to speed up the build process and avoid waiting through repeated failures.
206
+
207
+
---
74
208
75
209
## Task: Clone the CryoCloud jupyterbook
76
210
77
-
We will import the [CryoCloud Website Github repository](https://github.com/CryoInTheCloud/CryoCloudWebsite.git).
211
+
We will import the [workshop repository](https://github.com/geojupyter/workshop-open-source-geospatial.git).
78
212
79
213
To do this:
80
214
1. Select the plus (`+`) sign above the `File Browser` to the left, which will bring up a `Launcher` window.
@@ -94,17 +228,22 @@ To do this:
94
228
3. Now clone the hackweek code into your current directory:
0 commit comments