From 2bfd8c63254f1a32f31be4f5512e95a8a921a9a4 Mon Sep 17 00:00:00 2001 From: Charmunks Date: Sat, 8 Nov 2025 15:17:11 -0500 Subject: [PATCH] in-space README file --- README.md | 9 ++++- code-server-setup.sh | 22 +++++++++++- in-space.md | 82 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 111 insertions(+), 2 deletions(-) create mode 100644 in-space.md diff --git a/README.md b/README.md index 8a1a20b..d018f9c 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Spaces -Spaces is a web app that allows access to visual studio code, kicad, and blender, inside of a web browser. It achieves this using container streaming. Spaces was developed by [Ivie Fonner](https://github.com/charmunks/) and [Hack Club](https://github.com/hackclub/) +Spaces is a web app that creates secure cloud based development enviorments, accessible through a web browser. The goal of this project is to allow people to create amazing projects no matter what hardware they have access to. Spaces was developed by [Ivie Fonner](https://github.com/charmunks/), [Arnav](https://github.com/arnavravinder) and [Hack Club](https://github.com/hackclub/) ## Setup: ### Manual Setup: @@ -312,3 +312,10 @@ Common HTTP status codes: - `409`: Conflict (duplicate email/username) - `500`: Internal Server Error +
+ + This project is part of Moonshot, a 4-day hackathon in Florida visiting Kennedy Space Center and Universal Studios! + +
\ No newline at end of file diff --git a/code-server-setup.sh b/code-server-setup.sh index c96d1e4..94e01a3 100644 --- a/code-server-setup.sh +++ b/code-server-setup.sh @@ -6,13 +6,16 @@ set -e echo "Starting development environment setup..." +sudo apt install -y wget +wget -O /config/workspace/README.md https://hc-cdn.hel1.your-objectstorage.com/s/v3/07ecba76556e3d58d3532ab237ea0aa3dfb6c18e_in-space.md + + echo "Updating package manager..." sudo apt update && sudo apt upgrade -y echo "Installing essential system tools..." sudo apt install -y \ curl \ - wget \ git \ nano \ unzip \ @@ -39,6 +42,17 @@ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list sudo apt update && sudo apt install -y yarn +echo "setting up gh cli" +(type -p wget >/dev/null || (sudo apt update && sudo apt install wget -y)) \ + && sudo mkdir -p -m 755 /etc/apt/keyrings \ + && out=$(mktemp) && wget -nv -O$out https://cli.github.com/packages/githubcli-archive-keyring.gpg \ + && cat $out | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \ + && sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \ + && sudo mkdir -p -m 755 /etc/apt/sources.list.d \ + && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \ + && sudo apt update \ + && sudo apt install gh -y + echo "☕ Setting up Java..." sudo apt install -y openjdk-17-jdk openjdk-17-jre @@ -77,6 +91,12 @@ sudo apt install -y \ postgresql-client \ mysql-client +# Extras +echo "Seting up extras" +curl -LsSf https://astral.sh/uv/install.sh | sh +sudo apt install crystal +gem install rails +sudo npm install pnpm # Final cleanup diff --git a/in-space.md b/in-space.md new file mode 100644 index 0000000..524ea81 --- /dev/null +++ b/in-space.md @@ -0,0 +1,82 @@ +### Hi! Welcome to your VS-Code Space! + +You can use this just like you would vs-code on your own computer! For security reasons, we can not give you root access to the container, but we have preinstalled a number of development tools for you! + +#### Pre-installed tools: +If a tool you need is not listed, attempt to install it using one of the package managers listed, and if that is not possible, ask in #spaces on slack and I can probably add the tool! + +If a tool listed here is not working, wait a few minutes and try again! The installation is ran in the background upon space creation to minimize space creation times, so you might have to wait a minute or two for all tools to become available + +##### General +``` +git +github-cli +curl +wget +nano +unzip +build-essentials +apt-transport-https +ca-certificates +gnupg +``` +##### Python: +``` +python3 +python3-pip +python3-venv +python3-dev +python3-setuptools +``` + +##### Javascript: +``` +nodejs +npm +yarn +pnpm +``` + +##### Java: +``` +openjdk-17-jdk +openjdk-17-jre +``` + +##### Rust: +``` +rust +cargo +``` + +##### PHP: +``` +php +php-cli +php-common +php-curl +php-json +php-mbstring +php-xml +php-zip +``` + +##### Database: +``` +sqlite3 +postgresql-client +mysql-client +``` + +##### Ruby: +``` +ruby +rails +``` + +###### Other: +``` +go +crystal +uv +``` \ No newline at end of file