Bloom setup
A step-by-step guide to running Bloom privately on your own machine — no technical background needed.
Docker is the free program that runs Bloom — and the Bloom installer in Step 2 will offer to set it up for you: it downloads Docker Desktop, asks for your Mac password to install it, and waits for it to start. (Docker still shows a short first-run welcome screen to click through.) You can skip straight to Step 2 and let it do the work.
Prefer to install Docker yourself first? Download Docker Desktop for Mac (a .dmg file) from docker.com, open it, and drag Docker into your Applications folder.
brew install docker. The Homebrew version installs only the command-line tool without Docker Compose, which Bloom needs, and the install will stop with a "compose is not a docker command" error.
Open Docker once so it finishes setting up. To confirm it worked, open Terminal (see Step 3) and run:
docker --version && docker compose versionBoth lines should print a version number. If the second one errors, Docker Desktop may not be fully started yet (wait for the whale icon to say running), or an older command-line Docker may be getting in the way — see "It says unknown shorthand flag" in Troubleshooting below.
Open Terminal: press ⌘ + Space to open Spotlight, type Terminal, and press Return. Paste this one line and press Return — it downloads Bloom and starts it for you:
curl -fsSL https://bloomtocollege.com/install.sh | shThe first run downloads Bloom and takes several minutes; when it finishes it prints a link to open. Running it again later is safe — it just refreshes Bloom.
Prefer to do it by hand? Get the Bloom folder from your Bloom host, open Terminal, then run:
cd path/to/bloom/selfhost/familydocker compose up -dDocker is the free program that runs Bloom — and the Bloom installer in Step 2 will offer to set it up for you: it downloads Docker Desktop and runs its installer (Windows asks for permission, and Docker may need a restart to finish setting up WSL 2). You can skip straight to Step 2 and let it do the work.
Prefer to install Docker yourself first? Download the Docker Desktop installer from docker.com, then double-click it and follow the prompts.
Open Docker Desktop once so it finishes setting up. To confirm it worked, open PowerShell (see Step 3) and run:
docker --version; docker compose versionBoth lines should print a version — Docker Desktop includes Compose. If the second line errors, update Docker Desktop to the latest version and restart it.
Open PowerShell: click Start, type PowerShell, and open it. Paste this one line and press Enter — it downloads Bloom and starts it for you:
irm https://bloomtocollege.com/install.ps1 | iexThe first run downloads Bloom and takes several minutes; when it finishes it prints a link to open. Running it again later is safe — it just refreshes Bloom.
Prefer to do it by hand? Get the Bloom folder from your Bloom host, open PowerShell, then run:
cd path\to\bloom\selfhost\familydocker compose up -dThe Bloom installer in Step 2 will offer to install Docker for you using Docker's official install script (it uses sudo, so it asks for your password). You can skip straight to Step 2 and let it do the work.
Prefer to install Docker yourself first? Open your terminal and run Docker's official install script:
curl -fsSL https://get.docker.com | shThen let your user run Docker without sudo:
sudo usermod -aG docker $USERLog out and back in for that to take effect. Now confirm BOTH Docker and Docker Compose are installed — Bloom needs both:
docker --version && docker compose versionBoth lines should print a version. If the second says "docker: 'compose' is not a docker command", your install skipped the Compose plugin — add it, then re-check:
sudo apt-get install -y docker-compose-plugin(On non-Debian systems, see docs.docker.com/compose/install.)
In your terminal, run this one line — it downloads Bloom and starts it for you:
curl -fsSL https://bloomtocollege.com/install.sh | shThe first run downloads Bloom and takes several minutes; when it finishes it prints a link to open. Running it again later is safe — it just refreshes Bloom.
Prefer to do it by hand? Get the Bloom folder from your Bloom host, then run:
cd path/to/bloom/selfhost/familydocker compose up -dIn your web browser, go to:
http://my.bloomtocollege.comYou'll see a screen that says "Connect to your Bloom server". Bookmark this address — on this computer it always opens your own Bloom.
If that page doesn't load, another program is using the main address. Try http://localhost:8100 instead — the installer also prints the exact address to use.
For the server address, enter:
https://bloomtocollege.comThen enter your claim code — from your purchase confirmation (shown after checkout and emailed to you), or the one your Bloom host sent you. Claim codes are single-use and expire, so if it doesn't work, ask for a fresh one.
After this, Bloom opens from an icon like any app — no address to remember.
Add your student and their grade — Bloom shapes everything around it.
Bloom needs Docker running in the background. Look for the whale icon — on a Mac it's in the menu bar (top-right), on Windows it's in the system tray (bottom-right near the clock). If you don't see it, open Docker Desktop and wait for it to say it's running, then try again.
This means the docker command lost its compose part mid-install. Two known causes: Docker's compose plugin was only installed for your user account (common when Docker Desktop was set up without an admin password), or another container tool (Podman, Colima, Rancher Desktop, or nerdctl) has installed a docker that intercepts the command. A tell-tale sign of the second: docker compose version prints something like v5.3.0 — the real Docker Compose is v2.x.
Re-running the Bloom install command usually fixes both on its own — the installer keeps your compose plugin visible and, on a Mac, switches to Docker Desktop's own docker when a foreign one is in the way (leaving your other tool untouched). If it still fails, fix it by hand:
Find which docker is being used:
which -a dockerIf the first one is something like /usr/local/bin/docker and you also have Docker Desktop installed, that foreign docker is winning. Make sure Docker Desktop is installed and running, then remove or rename the other one so Docker Desktop's docker is used, and run the install command again.
To confirm it's fixed, run docker compose version — it should print v2.something.
Another program on your computer may already be using the same address. Close any other apps that run a local web server, or restart your computer, then run the start command again. The installer prints the exact address to use — copy it from there. If it keeps happening, ask your Bloom host.
Bloom updates itself automatically every night — you don't need to do anything. As long as your computer and Docker are running, it quietly pulls the latest version in the background.
If you ever want to update right now, run:
curl -fsSL https://bloomtocollege.com/update.sh | shFrom the selfhost/family folder, run:
docker compose downYour data is kept safely — starting Bloom again brings everything back.
Your family's data is stored in a Docker volume on your computer, separate from the Bloom folder. Deleting or moving the Bloom folder does not delete your data.