balenaCodeServer
balenaCodeServer is a free Visual Studio Code based IDE that runs in your browser, served from your Raspberry Pi!
Equipment Needed
-
Raspberry Pi or x86_64 based PC (tested on Pi3 B+, Pi4, and Generic x86_64 (Lenovo M910q))
Install
[!IMPORTANT]
On an undervolted Raspberry Pi 3B+ the first boot takes a really long time... I'm talking several minutes! So watch the logs (balena.io dashboard) and be patient.
Running this project is as simple as deploying it to a balenaCloud application. You can deploy it in one click by using the button below:
![balena deploy button](https://www.balena.io/deploy.svg)
Using balenaCodeServer
-
Type <device-ip>:8080
in a browser window (You can find your device IP address in the Balena Console)
-
The default password for servers deployed with the balena deploy button is b@13n4!
-
The default sudo password is b@13n4!sudo
-
else the password for both is password
-
The GitHub and Balena CLIs are pre-installed. Authentication instructions here.
---
### Device Variables
|Env Variable|Default Value|Function|
|---|---|---|
|PORT|8080|code-server port. Default is 8080. The service does not run as 'root'. You cannot set host port <= 1024.|
|PUID|1000|for UserID|
|PGID|1000|for GroupID|
|GH_TOKEN|ghp_dPk94F...|Populate with GitHub token from [tokens](https://github.com/settings/tokens) page to automate GitHub CLI authentication.|
|SHELL|/usr/bin/zsh|Sets the default terminal shell to ZSH. To use BASH change to '/bin/bash'
|TZ|America/New_York| Specify a timezone to use EG... Europe/London, America/Los_Angeles|
|PASSWORD|password|Optional web gui password, if PASSWORD or HASHED_PASSWORD is not provided, there will be no auth.|
|HASHED_PASSWORD| |Optional web gui password, overrides PASSWORD, instructions on how to create it is below.|
|SUDO_PASSWORD|password|If this optional variable is set, user will have sudo access in the code-server terminal with the specified password.|
|SUDO_PASSWORD_HASH| |Optionally set sudo password via hash (takes priority over SUDO_PASSWORD var). Format is $type$salt$hashed.|
|PROXY_DOMAIN|code-server.my.domain|If this optional variable is set, this domain will be proxied for subdomain proxying.|
|DEFAULT_WORKSPACE|/config/workspace|If this optional variable is set, code-server will open this directory by default|