This guide walks you through setting up CubeOS for the first time -- from flashing the image to installing your first app.
- What You Need
- Download CubeOS
- Flash the Image
- First Boot
- Connect to CubeOS
- Setup Wizard
- Dashboard Overview
- Install Your First App
- Next Steps
Before you start, make sure you have the following:
| Item | Details |
|---|---|
| Raspberry Pi | Pi 4 or Pi 5 (64-bit). Minimum 2 GB RAM, 4 GB recommended. |
| microSD Card | 16 GB minimum, 32 GB recommended. Class 10 or faster. |
| Power Supply | USB-C: 5V 3A for Pi 4, 5V 5A for Pi 5. Use the official power supply. |
| Ethernet Cable | Optional. Required only if you want internet via Ethernet (ONLINE_ETH mode). |
| A Device with WiFi | Phone, tablet, or computer to connect to the CubeOS WiFi network. |
Optional but useful:
- USB SSD for better performance and reliability than a microSD card
- HDMI monitor to see boot progress (not required)
- USB WiFi adapter for ONLINE_WIFI mode (RTL8812AU chipset recommended)
There are two ways to get the CubeOS image:
- Download and install Raspberry Pi Imager.
- Open Raspberry Pi Imager.
- Click "Choose OS" and scroll to "Other general-purpose OS".
- Select "CubeOS".
- Choose the variant:
- CubeOS Full -- All features, recommended for 4 GB+ RAM
- CubeOS Lite -- Core platform only, for 2 GB RAM boards
- Continue to the flashing step below.
- Go to cubeos.app/download.
- Download the
.img.xzfile for your board. - Continue to the flashing step below.
- In Raspberry Pi Imager, click "Choose Storage" and select your microSD card.
- Before flashing, click the gear icon to customize settings:
- Hostname: Leave as default or set a custom name
- SSH: Enable if you want remote terminal access (optional)
- WiFi: These settings configure the client WiFi, not the CubeOS access point. Leave blank for now.
- Click "Write" and wait for the process to complete.
- Safely eject the SD card.
- Download and install balenaEtcher.
- Click "Flash from file" and select the downloaded
.img.xzfile. - Select your microSD card as the target.
- Click "Flash!" and wait for completion.
- Safely eject the SD card.
Important: Flashing will erase everything on the SD card. Make sure you select the correct drive.
- Insert the microSD card into your Raspberry Pi.
- If you want internet access, plug in an Ethernet cable now.
- Connect the power supply. The Pi will start automatically.
- Wait approximately 90 seconds for the first boot to complete.
During first boot, CubeOS:
- Initializes the file system
- Enables the hardware watchdog
- Starts Docker and Docker Swarm
- Deploys core infrastructure (DNS, reverse proxy, local registry)
- Creates the WiFi access point
- Starts the API and dashboard
- Presents the setup wizard
If you have a monitor connected, you'll see boot progress on screen. A monitor is not required -- everything works headless.
Once boot completes (about 90 seconds), CubeOS creates a WiFi access point:
- On your phone, tablet, or computer, open WiFi settings.
- Look for a network named CubeOS (or CubeOS-Setup on first boot).
- Connect using the default password: cubeos1234
- Open a web browser and navigate to one of:
- http://cubeos.cube (recommended)
- http://10.42.24.1 (use this if the domain doesn't resolve)
The setup wizard loads automatically on first boot.
Tip: If cubeos.cube doesn't resolve immediately, wait 10-15 seconds for DNS to initialize, or use the IP address directly.
The setup wizard guides you through initial configuration in five steps.
Set your admin password. This is used to log in to the dashboard and API.
Write this password down. There is no password recovery without a factory reset.
Configure the WiFi network that CubeOS broadcasts:
- Network Name (SSID): Choose a name for your CubeOS WiFi (default: CubeOS)
- Password: Set a WiFi password (minimum 8 characters)
After this step, your device will disconnect briefly as the access point restarts with the new name and password. Reconnect to the new network to continue.
Choose how CubeOS connects to the internet:
| Mode | When to Use |
|---|---|
| OFFLINE | No internet needed. Fully air-gapped. Best for field deployments, secure environments, or when you just want a local server. |
| ONLINE via Ethernet | You have an Ethernet cable plugged into a router or switch. Internet is shared with all WiFi clients. Best for home or office use. |
| ONLINE via WiFi | You have a USB WiFi adapter and want to connect to an existing WiFi network for internet. The Pi's built-in WiFi stays as the access point. |
If you choose ONLINE via WiFi, the wizard scans for available networks and lets you select one to connect to.
You can change the network mode at any time from the dashboard. See Network Modes for full details.
Choose a pre-configured set of apps:
| Profile | Description |
|---|---|
| Full | All features enabled. Dashboard, app store, file browser, log viewer, monitoring, and more. |
| Minimal | Core platform only. Dashboard and essential services. Add apps later as needed. |
| Offline | Optimized for air-gapped operation. Includes apps pre-loaded in the local registry. |
You can customize which apps are enabled at any time after setup.
Review your settings and confirm. CubeOS applies the configuration and loads the dashboard. This takes about 15-30 seconds.
After setup, the dashboard is your home base for managing CubeOS.
The sidebar (or bottom navigation on phones) gives you access to:
| Section | What You Can Do |
|---|---|
| Home | System status at a glance -- CPU, memory, temperature, storage, uptime |
| Apps | View and manage installed apps. Start, stop, restart, or uninstall. |
| App Store | Browse and install new apps with one click. |
| Network | View current network mode, connected WiFi clients, DNS status. Switch modes. |
| Storage | Manage storage, USB drives, network mounts (SMB/NFS). |
| Settings | System configuration, updates, backups, user management. |
Once CubeOS is running, these addresses work from any device connected to the CubeOS WiFi:
| Service | URL |
|---|---|
| Dashboard | http://cubeos.cube |
| Pi-hole Admin | http://pihole.cubeos.cube/admin |
| Log Viewer (Dozzle) | http://logs.cubeos.cube |
| Nginx Proxy Manager | http://npm.cubeos.cube |
| API Swagger Docs | http://api.cubeos.cube/swagger/index.html |
Every installed app gets its own subdomain under cubeos.cube, automatically configured.
Let's install an app to see how the App Store works:
- Open the dashboard at http://cubeos.cube.
- Navigate to App Store in the sidebar.
- Browse the available apps or use the search bar.
- Find an app you want to install (for example, a file browser or media server).
- Click Install.
- A progress indicator shows the installation steps in real time:
- Port allocation
- Directory creation
- Docker image pull (if online) or local registry pull (if offline)
- Stack deployment
- DNS and proxy configuration
- Once complete, the app appears in your Apps page.
- Click the app to open it, or visit its FQDN (e.g.,
http://files.cubeos.cube).
Installation typically takes 10-30 seconds for cached images, or up to a few minutes if the image needs to be downloaded.
Now that CubeOS is up and running, here are some things to explore:
- Network Modes -- Learn about OFFLINE, Ethernet, and WiFi modes in detail, and how to switch between them.
- Backup and Restore -- Set up scheduled backups to protect your data and configuration.
- FAQ -- Answers to common questions about CubeOS.
- System Updates -- Check for updates in Settings to keep your system current.
- Troubleshooting -- Solutions to common issues.
- API Reference -- For advanced users who want to automate tasks via the REST API.
