Merge pull request #4 from hackclub/dev

in-space README file
This commit is contained in:
Charmunk 2025-11-08 15:17:46 -05:00 committed by GitHub
commit 53392f0ea6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 111 additions and 2 deletions

View file

@ -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
<div align="center">
<a href="https://moonshot.hackclub.com" target="_blank">
<img src="https://hc-cdn.hel1.your-objectstorage.com/s/v3/35ad2be8c916670f3e1ac63c1df04d76a4b337d1_moonshot.png"
alt="This project is part of Moonshot, a 4-day hackathon in Florida visiting Kennedy Space Center and Universal Studios!"
style="width: 100%;">
</a>
</div>

View file

@ -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

82
in-space.md Normal file
View file

@ -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
```