Create your instance¶
You'll create the server from a prepared image — a snapshot of an instance that already has Docker, nginx, the deployment tooling and the Deploy My Dashboard desktop application installed and tested. Starting from that image is what turns this from a systems-administration exercise into a few clicks.
1. Start the Create Instance flow¶
In Exosphere, open your allocation (click its card on the home page), then click Create (top right) → Instance.
You'll land on the image chooser.
2. Choose the Dashboard Deploy image¶
Look under By Image and search for the image name your group published.
Ask your group for the exact image name
The Dashboard Deploy image is created and shared by your project, not by Jetstream2, so its name and visibility depend on how it was published. It is usually one of:
- listed under Public if it was shared with everyone, or
- listed under Shared with me / your project's own images, or
- given to you as an image ID to paste into the search box.
If you can't find it, ask whoever pointed you at this guide. Don't substitute a plain Ubuntu image — it won't have the desktop application on it, and Part 3 will not work.
What's actually on this image
So you know what you're getting, and what to re-create if you ever have to build one yourself:
- Ubuntu 22.04 with a graphical desktop and web-desktop access
- Docker, plus a swapfile so a big build doesn't run out of memory
- nginx, configured as a reverse proxy in front of your dashboard
- The
autohealwatchdog, which restarts your dashboard if it wedges - The deployment tooling, cloned to
~/Jetstream2_Dashboard_Deploy - The Deploy My Dashboard desktop icon
- The base images for all four frameworks, pre-downloaded — this alone saves 10 minutes on your first publish
It is built by deploy/desktop/setup_image.sh in the repository. See
Building the researcher image.
3. Fill in the instance settings¶
Work down the form:
- Name
- Something you'll recognise in six months.
salmon-dashboard, notinstance-3. - Flavor (the size of the server)
-
Start with
m3.small(2 vCPU, 6 GB RAM). This is enough for almost every dashboard, and you can resize later.Choose
m3.medium(8 vCPU, 30 GB RAM) up front if your dashboard is an R geospatial project, loads more than about 2 GB into memory at once, or you expect many people using it simultaneously. R Shiny builds in particular are much faster with more cores. - Instance count
- Leave at 1. One instance runs one dashboard.
- Enable web desktop
- Turn this ON. This is the setting that lets you reach the graphical desktop from your browser in Part 3. Without it you'd be limited to SSH, and the Deploy My Dashboard icon would be unreachable.
- Choose a root disk size
-
The default that comes with your flavor is fine if your data is going on a volume, which it should be.
Building a container image needs working space, and R geospatial images are large. If the slider lets you, give it at least 60 GB — the deployment tooling warns you below 15 GB free, and running out during a build produces a genuinely baffling error.
- SSH public key
- Optional. Add one if you already have a key and want to use
rsyncorsshlater. You can skip it entirely and still complete this guide. - Advanced options
- Leave alone. In particular, do not change the network settings.
4. Create it, then wait¶
Click Create. Exosphere returns you to the instance list with your instance in state Building.
This takes 5–10 minutes. The Dashboard Deploy image is large, so be patient — a plain Ubuntu instance would be quicker. Exosphere shows what it's doing underneath the status.
You're finished with this step when the instance shows Ready and has an IP address listed.
Write down the IP address
Something like 149.165.170.42. This is your dashboard's permanent web
address — http://149.165.170.42/ — once you publish in Part 3. Put it
somewhere you'll find it.
5. Confirm the web desktop works¶
Don't wait until Part 3 to discover this is off. Click your instance's name, then look for Web Desktop in the actions.
Clicking it opens a Linux desktop in a new browser tab. If you see one — with a Deploy My Dashboard icon on it — Part 1's hardest step is behind you. Close the tab for now; you'll come back to it in Part 3.
Web Desktop isn't offered
You almost certainly left Enable web desktop off when creating the instance. It cannot be switched on afterwards from Exosphere.
The quickest fix is to delete this instance and create a new one with the box ticked — you've lost nothing but the build time. See the Jetstream2 web desktop documentation for the alternative.
Common problems¶
The instance is stuck in Building for more than 20 minutes
Check the status message beneath it. If it mentions quota, you've hit a limit on your allocation — Exosphere shows your quota usage on the allocation page. Delete any instances you're not using and try again.
Otherwise, delete it and retry once. If it fails a second time, email help@jetstream-cloud.org with the instance name and time.
It says Ready but has no IP address
Give it another minute and refresh. If there's still no address, the floating-IP pool may be exhausted; see Jetstream2's IP address documentation.
Can I resize the instance later?
Yes — Exosphere has a Resize action on the instance. It reboots the instance, and your dashboard comes back automatically afterwards. Resizing up is straightforward; resizing down is sometimes refused if the root disk doesn't fit the smaller flavor.
Next → Create a storage volume