/CloudBox

Deploy and Use Cloud VMs. Technica 2023 Project

Primary LanguagePythonMIT LicenseMIT

Cloud Box

Cloud Box Logo
Cloud Box


A website for hosting remote VMs and SSH-ing into them. Built on top of the Google Cloud Platform.

This is a site for Technica 2023, it was made using the following stack:

  • Bootstrap
  • Django
  • Google Cloud
  • Web SSH

Screenshots

The Main Page
The main page

List of Boxes the User Has
The Box list page where the user can create and run boxes

SSH acces to a box
SSH Access to a box running cowsay

Building

Prerequisites

  • Python 3.11
  • Poetry
  • Web SSH

⚠️ Warning:
Web SSH needs to be running and listening on port 8001 for SSH access to work

Development

poetry install
poetry run python manage.py migrate
poetry run python manage.py runserver

Production

Still install dependencies and migrate:

poetry install
poetry run python manage.py migrate

In production, point the frontend web server to the WSGI module in cloud_box.wsgi

poetry run gunicorn cloud_box.wsgi

Environment Variables

  • SECRET_KEY - Secret key to use in Django
  • PROD - true or false, whether we're in production
  • DOMAIN - The domain to add to allowed hosts in Django