Installation
This guide covers installing SkyBox and its dependencies.
Prerequisites
SkyBox requires:
| Software | Version | Purpose |
|---|---|---|
| Docker | 20.10+ | Running development containers |
| Devcontainer CLI | 0.50+ | Building and managing dev containers |
| SSH | - | Remote server connection |
Note
The devcontainer CLI requires Node.js. Make sure Node.js is installed before installing the devcontainer CLI.
Installing Prerequisites
Install the following tools from their official sources before continuing:
- Docker Desktop (20.10+) — Get Docker
- Devcontainer CLI (0.50+) — Installation instructions
- SSH — Pre-installed on macOS and Linux. Windows users need WSL 2. SkyBox supports both passwordless and passphrase-protected SSH keys. If your key has a passphrase, SkyBox will prompt you to load it into
ssh-agentduring setup.
Install SkyBox
brew install noorxlabs/tap/skybox# Install with one command (auto-detects architecture)
curl -fsSL https://install.noorxlabs.com/skybox | bashVerify Installation
Check that SkyBox and its dependencies are installed correctly:
# Check SkyBox
skybox --version
# Check Docker is installed and running
docker --version
docker ps
# Check devcontainer CLI
devcontainer --versionYou should see version numbers for all three tools. If docker ps fails, make sure Docker Desktop is running.
Initial Setup
Run the interactive setup wizard:
skybox initThe wizard will:
- Check dependencies - Verify Docker and devcontainer CLI are installed
- Install Mutagen - Extract the bundled file sync tool automatically
- Configure remote server - Set up SSH connection to your backup server
- Choose editor - Select your preferred code editor
Example Setup Session
Welcome to skybox setup!
Checking dependencies...
Docker installed
Devcontainer CLI available
Installing mutagen...
Mutagen installed
Configure remote server
Select SSH host:
1) my-server (192.168.1.100)
2) work-vps (work.example.com)
3) + Add new server
Testing SSH connection...
SSH connection successful
Remote code directory: ~/code
Remote directory exists
Configure editor
Preferred editor:
1) Cursor
2) VS Code
3) VS Code Insiders
4) Zed
5) Other (specify command)
Setting up skybox...
Created ~/.skybox
Saved configuration
skybox is ready!
Next steps:
Push a local project: skybox push ./my-project
Clone from remote: skybox clone <project-name>
Browse remote projects: skybox browseConfiguration Location
SkyBox stores its configuration and projects in ~/.skybox/:
~/.skybox/
├── config.yaml # Main configuration file
├── Projects/ # Local synced project copies
├── bin/ # Bundled tools (mutagen)
└── logs/ # Log filesYou can override this location with the SKYBOX_HOME environment variable:
export SKYBOX_HOME=/custom/path/.skyboxTroubleshooting
Quick Diagnosis
Run skybox doctor to automatically check all dependencies, connectivity, and configuration in one command. It will identify most problems and suggest fixes.
Docker Not Found
If skybox init reports Docker is not found:
- Ensure Docker is installed:
docker --version - Check Docker is running:
docker ps - On macOS, make sure Docker Desktop is running (check the menu bar icon)
- On Linux, ensure your user is in the docker group:
sudo usermod -aG docker $USER(then log out and back in)
Devcontainer CLI Not Found
If devcontainer --version fails:
- Ensure Node.js is installed first
- Install the devcontainer CLI from the official instructions
SSH Connection Failed
If the SSH connection test fails:
- Verify you can connect manually:
ssh your-server - Check your SSH key is added:
ssh-add -l - Ensure the server is reachable:
ping your-server - If you see "Could not open a connection to your authentication agent", start the agent first:bash
eval $(ssh-agent)
Mutagen Installation Failed
If Mutagen fails to install automatically:
- Run
skybox doctorto diagnose and automatically re-extract the bundled Mutagen binary - If running from source (dev mode), SkyBox falls back to downloading from GitHub — check your internet connection
- Try manual installation: Mutagen
Permission Denied Errors
If you encounter permission issues:
# Fix ownership of skybox directory
sudo chown -R $USER:$USER ~/.skybox
# Ensure SSH key has correct permissions
chmod 600 ~/.ssh/id_ed25519
chmod 700 ~/.sshNext Steps
Once installation is complete, follow the Quick Start to set up your first project and start developing in a container.
Want to learn more first?
- Core Concepts - Understand how projects, containers, and sync work together
- Workflows - Day-to-day development patterns