Skip to content

Installation

This guide covers installing SkyBox and its dependencies.

Prerequisites

SkyBox requires:

SoftwareVersionPurpose
Docker20.10+Running development containers
Devcontainer CLI0.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-agent during setup.

Install SkyBox

bash
brew install noorxlabs/tap/skybox
bash
# Install with one command (auto-detects architecture)
curl -fsSL https://install.noorxlabs.com/skybox | bash

Verify Installation

Check that SkyBox and its dependencies are installed correctly:

bash
# Check SkyBox
skybox --version

# Check Docker is installed and running
docker --version
docker ps

# Check devcontainer CLI
devcontainer --version

You 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:

bash
skybox init

The wizard will:

  1. Check dependencies - Verify Docker and devcontainer CLI are installed
  2. Install Mutagen - Extract the bundled file sync tool automatically
  3. Configure remote server - Set up SSH connection to your backup server
  4. 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 browse

Configuration 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 files

You can override this location with the SKYBOX_HOME environment variable:

bash
export SKYBOX_HOME=/custom/path/.skybox

Troubleshooting

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:

  1. Ensure Docker is installed: docker --version
  2. Check Docker is running: docker ps
  3. On macOS, make sure Docker Desktop is running (check the menu bar icon)
  4. 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:

  1. Ensure Node.js is installed first
  2. Install the devcontainer CLI from the official instructions

SSH Connection Failed

If the SSH connection test fails:

  1. Verify you can connect manually: ssh your-server
  2. Check your SSH key is added: ssh-add -l
  3. Ensure the server is reachable: ping your-server
  4. 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:

  1. Run skybox doctor to diagnose and automatically re-extract the bundled Mutagen binary
  2. If running from source (dev mode), SkyBox falls back to downloading from GitHub — check your internet connection
  3. Try manual installation: Mutagen

Permission Denied Errors

If you encounter permission issues:

bash
# Fix ownership of skybox directory
sudo chown -R $USER:$USER ~/.skybox

# Ensure SSH key has correct permissions
chmod 600 ~/.ssh/id_ed25519
chmod 700 ~/.ssh

Next 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

Released under the Apache License 2.0.