Bringing BeOS back to life: Haiku OS in a container, step by step
A few years ago (I think it was 1997 or 1998 😮) I had bought the installation floppies of BeOS, the x86 PC version (before BeOS R5). And what a joy! An OS with a little something of Mac OS 8 about it, boosted by a sort of Unix (which isn't a Unix), and running on a modest configuration. BeOS was created by Be Inc., a company founded by former Apple executive Jean‑Louis Gassée. Launched in 1995 for the BeBox machine, it was then ported to PowerPC and later to x86 PCs.
Then:
- In 2000, we got BeOS R5, the last major consumer release, distributed for free
- In 2001, Be Inc. was acquired by Palm; BeOS was abandoned 😢
Its main strengths were groundbreaking:
- Preemptive multitasking and pervasive multithreading
- Very good UI responsiveness, even under load, thanks to a concurrency-oriented architecture.
- A multimedia stack that was modern for its time, with audio, video and real-time processing.
- The BFS file system (Be File System), with extended attributes and indexing. You could, for example, search for files by metadata (author, type, keywords).
- A consistent C++ API, a native graphical interface, and a message/event model that was simple to use.
BeOS was known in particular for booting fast, staying smooth, and giving the impression that the computer responded immediately to what the user did (imagine my surprise, coming from Windows 95/98 😂).
BeOS suffered above all from its small ecosystem: limited hardware compatibility, few drivers, few commercial applications, and no dominant manufacturer to distribute it at scale. Despite undeniable technical qualities, it never managed to establish itself against Windows, Mac OS and Linux 😢.
Nevertheless, the spirit of BeOS survived through the Haiku OS project, a free and open source OS that aims for source- and binary-level compatibility with BeOS R5, while gradually modernising the system.
Haiku keeps the founding ideas of BeOS:
- A lightweight and very fast desktop.
- BeOS-style APIs.
- BFS and the attribute/indexing system.
- An architecture that favours small, responsive native applications.
- Installation on real hardware or in a VM.
And this summer, a new r1beta6 release! So it's still an active project 🥰, and there's even a port of Firefox!!!
So this was the perfect opportunity to get back into it. I wanted a setup that was easy to run on my Mac (I haven't tested it on other OSes, but it should work). So I put together a Docker Compose based project: https://codeberg.org/beos5/haiku-os-in-container. This project lets me install BeOS in a QEMU VM running inside a container and access it from my browser.
So today we're going to see how to install all of this, step by step.
First step: clone, start
git clone https://codeberg.org/beos5/haiku-os-in-container.git
cd haiku-os-in-container
docker compose up --build
later on, to start it again, use
docker compose up -dto run the container in "detached" mode
You can follow the progress of the image download and the boot in the terminal:

As well as the progress of the installation by typing docker logs -f haiku-os in another terminal:

Once Haiku has started, you can access it from your browser at this URL: http://localhost:6080/vnc.html?autoconnect=true&resize=scale.
And now, off we go for the installation.
Initialisation
Choose your language:

Accept the terms:

Your (virtual) disk isn't formatted, you need a partition:

Select the partition to format:

Select the file system format (Be Filesystem):

Confirm by clicking Continue:

Then click Format:

Then click Write changes (yes, I know, that's a lot of clicks):

And finally, click Ok and close the window:

To finally select the newly formatted partition:

Wait a few moments... :

Click Restart:

Wait a few moments again while it reboots... :

And here you are at last with a fully working BeOS!

That's all for today! I'll let you explore this fantastic system. And in an upcoming blog post we'll see what to install to do a bit of coding (and without AI, old school 🚀).
Written by
Keep reading
My Little Arrangements with DevContainer - Part 1
My little arrangements with DevContainer: isolated, reproducible dev environments via Docker Compose, tools, and the Docker CLI.
Feb 16, 2026Baby steps with Genkit JS and Docker Model Runner
Baby steps with Genkit JS and Docker Model Runner: a simple interactive assistant on a lightweight local model like Qwen2.5-Coder.
Jan 26, 2026Building a News Roundup with Docker Agent, Docker Model Runner and `qwen3.5-4b`
Build a fully local IT news roundup agent with Docker Agent, Docker Model Runner, and a skill that queries the Brave Search API.
Mar 18, 2026
No comments yet. Be the first to comment!