Exosphere: the User-Friendliest Interface for Non-proprietary Cloud Infrastructure

  • Empowers researchers and other non-IT professionals to deploy code and run services on OpenStack-based cloud systems, without advanced virtualization or networking knowledge
  • Fills the gap between OpenStack interfaces built for system administrators (like Horizon), and intuitive-but-proprietary services like DigitalOcean and Amazon Lightsail
  • Enables cloud operators to deliver a friendly, powerful interface to their community with customized branding, nomenclature, and single sign-on integration

screenshot of Exosphere

Watch a video presentation and demo:

Exosphere: A researcher-friendly GUI for OpenStack

Try Exosphere

Overview and Features

Wait, what is OpenStack? OpenStack is the operating system and APIs that power public research clouds like Jetstream2 and Chameleon, private clouds at organizations like Wikimedia and CERN, and public commercial clouds like OVH, Fuga, Vexxhost, and Leafcloud. Any organization can run OpenStack on its own hardware to provide a cloud service for its own community, or for the world.

What can I do with Exosphere?

  • Create instances to run your code, and volumes to manage your data
    • Works great for containers, intensive compute jobs, disposable experiments, and persistent web services
  • Get one-click, browser-based shell and graphical desktop access to cloud instances (via Apache Guacamole)
  • Pretty graphs show an instance's resource usage at a glance
  • If you're a cloud operator, deliver a customized interface with white-labeling, localization, and single sign-on
  • 100% self-hostable, 99% standalone client application
    • Two small proxy servers secure web browser connections to OpenStack APIs, and interactive services running on cloud instances
  • On the roadmap:
  • Free, open source, and open development process -- come hack with us!

Documentation Index

For Users and Anyone Else

For Cloud Operators

For Exosphere Contributors

For Exosphere Project Maintainers

Collaborate With Us

Talk to us in real-time on Matrix / Element - #exosphere:matrix.org. You can also browse an archive of the chat history.

There's also a developer-focused Matrix / Element - #exosphere-dev:matrix.org chat with a browsable archive.

We use GitLab to track issues and contributions. To request a new feature or report a bug, create a new issue on our GitLab project.

We have a weekly community video call Wednesdays at 15:30 UTC (note the new day and time). Join by clicking on the Jitsi widget in our Element chat. (agenda, and previous meeting notes)

Contributors

:memo: :abcd: (ordered by stated family name)

:key: a legend for contribution emojis appears in ./contributing.md

  • Rodolfo Aramayo (@raramayo1): πŸ’‘πŸ”
  • Jenn Armstrong (@jlrobiso): πŸ’‘πŸ”
  • aszen (@aszenz): πŸ”πŸ’»βœ…
  • Ryan Bartelme (@rbartelme): πŸ”
  • austin baum (@abaumer): πŸ”πŸ’»
  • Devin Bayly (@debyly): πŸ”
  • Brian Beck (@beckbw): πŸ”
  • Blair Bethwaite (@blair-bethwaite): πŸ”
  • Alex Bigelow (@alex-r-bigelow): πŸ”πŸ’»
  • Patrick Bills (@billspat): πŸ”
  • Stephen Bird (@stebird): πŸ’‘πŸ”πŸ’»
  • Darren Boss (@netscruff): πŸ”
  • GitLab Support Bot (@support-bot): πŸ’‘πŸ”
  • emre brookes (@ehb54): πŸ’‘πŸ”
  • James Carlson (@jxxcarlson): πŸ’‘πŸ”πŸ’»βœ…
  • carrieganote (@carrieganote): πŸ’‘πŸ”
  • cartoloupe (@cartoloupe): πŸ’‘πŸ”πŸ’»
  • Tom Crowe (@thcrowe): πŸ’‘πŸ”
  • Coury Ditch (@cmditch): πŸ”
  • Andrey Fedorov (@andreyfedorov): πŸ”
  • Justin Fernandez (@justinfernz): πŸ”
  • Jean-Christophe Fillion-Robin (@jcfr): πŸ”
  • Jeremy Fischer (@jlf599): πŸ’‘πŸ”βœ…
  • John Fonner (@johnfonner): πŸ”
  • FΓ©lix-Antoine Fortin (@CmdNtrf): πŸ”
  • Brian Ginsburg (@bgins): πŸ”πŸ’»
  • Ariella Gladstein (@agladstein): πŸ’‘πŸ”
  • Andrew Gould (@garyguitar): πŸ”
  • Zach Graber (@zacharygraber): πŸ’‘πŸ”πŸ’»
  • Mike Griffith (@mgriffith): πŸ”
  • Francois Halbach (@fwhalbach): πŸ”
  • David Hancock (@dyhancoc): πŸ”
  • Danny Havert (@djhavert): πŸ’‘πŸ”
  • Mike Helmuth (@kilgoretrout1001): πŸ”πŸ’»
  • Caleb Hughes (@hughescd): πŸ’‘πŸ”
  • Blake J (@bjoyce3): πŸ’‘πŸ”
  • JiazhengHuang (@JiazhengHuang): πŸ’‘πŸ”
  • JonathanHWood (@JonathanHWood): πŸ’‘πŸ”
  • jrcolby (@jrcolby): πŸ’‘πŸ”
  • Romina Karim (@rokarim): πŸ’‘πŸ”πŸ’»βœ…
  • Ketchup (@pascal.lazaridis): πŸ’‘πŸ”
  • Marnee Dearman (KG7SIO) (@MarneeDear): πŸ’‘πŸ”
  • Jesse L (@jyssy): πŸ”
  • Nathan Lavender (@nblavend): πŸ”
  • David LeBauer (@dlebauer): πŸ’‘πŸ”πŸ’»
  • Steven Lee (@shl1cornell): πŸ’‘πŸ”
  • Andrew J Lenards (@lenards): πŸ’‘πŸ”πŸ’»βœ…
  • Lane Robert Lewis (@lanerobertlewis): πŸ”πŸ’»
  • Paul Lewis (@paul0lewis): πŸ’‘πŸ”
  • Burkhard Linke (@blinke76): πŸ’‘πŸ”
  • Mike Lowe (@j.michael.lowe): πŸ’‘πŸ”
  • John Lowe (@jomlowe): πŸ’‘πŸ”
  • Rafael Madrid (@rmadrid24): πŸ”
  • Abdul Mahdi (@b-m-0): πŸ’‘πŸ”πŸ’»
  • Tom Marcais (@tmarcais): πŸ”
  • Suresh Marru (@smarru): πŸ”
  • Chris Martin (@cmart): πŸ’‘πŸ”πŸ’»βœ…
  • Chris Martin (@cmart-testing): πŸ’»
  • Kyle Mohr (@kylefmohr): πŸ’»
  • muratmaga (@muratmaga): πŸ’‘πŸ”
  • Alastair Neil (@ajneil): πŸ’‘πŸ”
  • Connor Osborn (@cdosborn): πŸ’»
  • Sebastian P. (@proksch): πŸ’‘πŸ”
  • Alex Papaioannou (@apapaioannou92): πŸ’‘πŸ”
  • Julian Parsert (@julianp): πŸ”
  • Steve Pieper (@pieper): πŸ’‘πŸ”
  • Robert Ping (@robping): πŸ’‘πŸ”
  • J Pistorius (@jpistorius): πŸ’»
  • Julian Pistorius (@julianpistorius): πŸ’‘πŸ”πŸ’»βœ…
  • SlicerMorph Project (@SlicerMorph): πŸ’‘πŸ”πŸ’»
  • Ben Reynwar (@benreynwar): πŸ”πŸ’»
  • Kristina Riemer (@kriemer): πŸ”πŸ’»
  • heath ritchie (@heathritchie): πŸ”πŸ’»
  • John-Paul Robinson (@jprorama): πŸ”
  • Hari Roshan (@hariroshan): πŸ”πŸ’»
  • rspfau (@rspfau): πŸ’‘πŸ”
  • Mats Rynge (@rynge): πŸ’‘πŸ”
  • Wasswa Samuel (@latimerscope): πŸ”πŸ’»
  • David Schanzenbach (@davidls1): πŸ”
  • Alec Scott (@alecbcs): πŸ”πŸ’»
  • Lena Duplechin Seymour (@LenaEDS): πŸ’‘πŸ”
  • Jaladh Singhal (@jaladh-singhal): πŸ’‘πŸ”πŸ’»βœ…
  • Nicholas Skaggs (@nskaggs): πŸ”
  • Jared M. Smith (@absynce): πŸ”
  • Dennis Snell (@dmsnell): πŸ’‘πŸ”πŸ’»βœ…
  • Matt Standish (@matt1232939): πŸ”
  • Sanjana Sudarshan (@ssudarsh): πŸ’‘πŸ”
  • Tyson L. Swetnam (@tyson-swetnam): πŸ’‘πŸ”πŸ«ŽπŸ–
  • Frank Tackitt (@kageurufu): πŸ’‘πŸ”πŸ’»βœ…
  • Kyle Tee (@LordParsley): πŸ’‘πŸ”πŸ’»βœ…
  • Ghost User (@ghost1): πŸ”πŸ’»
  • vsoch (@vsoch): πŸ”πŸ’»
  • Mariah Wall (@mgwall17): πŸ”
  • Le Mai Weakley (@lemaiw): πŸ”
  • Ben Weber (@aussieben): πŸ”πŸ’»
  • Aaron Wells (@wellsaar): πŸ’‘πŸ”
  • Michael White (@mpmwhite): πŸ’‘πŸ”πŸ’»βœ…
  • Sarah Williams (@saewill): πŸ’»
  • Hai Wu (@haiwu.us): πŸ’‘πŸ”
  • Derek Young (@youngdjn): πŸ”

NOTE: See a contribution missing or want to acknowledge one? Please submit an issue to let us know. More information on acknowledging contributions here.

Exosphere's Impact


This material is based upon work supported by the National Science Foundation under Grant No. 2229642. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.