Repository navigation
Flotilla 1.5.0-beta.5
Pre-releaseFlotilla is a native Mac app for Apple's container: run and manage Linux containers on this Mac, and on a fleet of Macs from one admin Mac.
This is a beta, built and tested against container 1.5.0. Expect rough edges, and please report what you find.
Requirements
- A Mac with Apple silicon, macOS 26 or later.
- Apple's
container1.5.0. Flotilla offers to download and install it on first run, through Apple's own Installer.
A new version number
Flotilla now has its own version number, in the form X.Y.Z. This is Flotilla 1.5.0-beta.5, tested with container 1.5.0. About in Settings says both, and the status bar shows the version. Updates still work as before: Flotilla orders its builds by build number, not by the label.
What's new since beta 4
One search box, and a new look for lists.
- The search box in the window bar filters the page you're on, jumps to sections and to things by name on any Mac, and runs commands. ⌘K and ⌘F focus it, and ⌘K opens on a list of everything it can do.
- Start with
container:,image:,volume:,host:and so on to look only at that kind of thing, from any page. Start with/to run a command by name, such as/run-containeror/pull-image.>still means commands only. - Every list is now two-line rows with a checkbox, one Sort menu and no Cards view. When a row is wide enough it becomes one line, as in Gmail.
- Every list is a split view, like Mail: the list on the left, the selected item's page on the right. Drag the divider and Flotilla remembers it for each section. The arrows ↑ ↓ step through the list, and the expand button widens the page over the list.
- A button in every section switches between two panes and list only. In list only, clicking a row slides its page in, and the ✕ or Esc closes it.
- Tick several rows for a summary with the bulk actions. Row actions show when you hover or select a row, and always while VoiceOver is running.
- Pages with tabs use an icon-only switcher, in the same order everywhere.
- The Recent activity strip at the bottom of pages is gone. The Activity section has everything.
- Logs and Activity are lists with a detail pane. Click a line to read it in full.
- Selecting a group shows a live overview (how many services are running, each service, its network), with Edit.
Status bar.
- A bar across the bottom of the window. On the left: ● Container, ● Helper and the version. On the right: Tasks. Each dot shows the state; click it for a menu.
- The version menu checks for updates, shows the update channel, shows the suggestions library, and updates Flotilla or
containeron your hosts. - Update checks show what they're doing: checking, downloading, verifying, installing.
Tasks.
- Every job you start, such as a pull, build, install or stack, becomes a task. Progress no longer takes over the window.
- Tasks rises as a panel on the right side of the window. Each task is one line: an icon for its kind, its title, and its progress or elapsed time. Hover for where it runs and its current step. Open the caret for its steps and output.
- The status bar shows Tasks on the right: a spinner, a count and the progress while jobs run, "Failed" in red after a failure, and "Done" for a moment after a success. When all is quiet it shows how many jobs finished.
- Finished jobs fold into one line, "N finished". A failure among them is named there.
- The panel puts itself away two seconds after the last job ends well. A failure keeps it up. ⌥⌘T shows or hides it.
- Some tasks have a Stop button (pulling and building an image on this Mac) and Retry. Tasks that can't be safely repeated offer neither. There is no Pause.
- When a container you ran is still running, its task has a Stop button. It stops that container, on the Mac it runs on. It matches the container by name and creation time, so a later container with the same name is never stopped by mistake. If Flotilla can't read the creation time, there is no Stop button.
- A failed task raises a notice with Show Task and, if Flotilla is in the background, a macOS notification. Successes don't notify. Notifications has a switch for these.
- Pulling or building, creating a machine or a cluster, and the other forms now return to their list when you start them. The job lives in Tasks, and two pulls are two tasks.
- The dialogs for About and the Support Bundle no longer have the red dot. Each closes with its own button, or Esc. About is now in Settings.
Forms.
- Every form has the same buttons at the top right: ⋯ for rare extras (such as Delete or Save to File), ✕ to close, and the main action on the right in the accent colour. The main action is ▶ when it starts a job that shows in Tasks, and ✓ when it keeps your changes. Hover for its exact name.
- There is no button row at the bottom of a form. Messages sit in a band under the header.
- ✕ and Esc ask first if you have unsaved changes, as Back does.
- Add Host uses the same layout, with explanations on the right.
Groups.
- Add Service opens a picker. Choose from the library's single-container suggestions, from the images on this Mac, or start blank. A matching recipe fills in ports, environment and volumes.
- Pick one for a prefilled form. Pick several to add them straight to the group, each with its own name, a free host port and its own password.
- A service needs a host port that is a real port mapping. A pick with no free port is refused with a message saying which services need one, rather than saved and failing at Start.
- A group saved earlier with a bad port isn't lost. Flotilla keeps the service, drops that port and flags it for you to fix.
- The flag shows in the Containers list, on the group's page and in its form. Start won't create that service until you choose a host port, or choose Keep Without It to keep it with no published port.
- A recipe fills in a service only for the same major version of the image: PostgreSQL 17 doesn't get PostgreSQL 18's settings. An image with no version tag, such as
latest, gets none. - A picked service keeps its recipe's volume owner, so a fresh volume is set up for images that don't run as root, as it is for a single run.
- Leaving the picker, or choosing Blank Service, cancels an Add that is still preparing, so it can't add anything afterwards.
Tooltips.
- Every icon button and menu now says what it does when you hover. Some wrong, stale or vague ones were fixed, such as "Create Machine" on a ▶ and "Close (Esc)". Tab icons keep their tooltips. A check in the build fails if an icon is added without one.
The Flotilla Helper.
- The Helper is the background service for jobs that need administrator rights: DNS names across Macs, installing
container, and updating Flotilla on hosts. It registers itself at launch in a signed build, shows its real state in the status bar, and offers Restart, Reinstall and Remove.
Hosts.
- A host's page can reach it by SSH, Screen Sharing and Files. SSH runs your own
ssh, with your keys. Flotilla can make its own key for its hosts, copy it to a host, and later replace or remove it. Your other keys are not touched. - Screen Sharing and File Sharing open in macOS. Each shows a dot for whether the service is on.
- Hosts show their Mac model's own icon, and group headings match the ones in Containers.
- Host health is steadier. Flotilla reconnects after your network changes, a busy host shows amber, and a host that is waiting on an update says so instead of failing. Switching sections quickly no longer piles up checks on unreachable hosts, and Flotilla now quits when asked.
- The Updates tab of a host lists macOS and kernel security advisories that apply to its version.
Files.
- A container's Files tab is a small Finder: Icons, List and Columns views, Group By, search, and a path bar. You can create folders, rename, move and delete (Delete always asks). Another Mac's containers stay read-only.
Suggestions.
- Suggestions is now one section in the sidebar, under Overview, with tabs: All, Apps, Stacks, Volumes, Networks, Domains, Machines, Clusters. Each tab shows how many suggestions match your search. Apps and stacks come from the library; volumes, networks, domains, machines and clusters come from the suggestions built into Flotilla. There is no Images or Registries tab.
- The tabs are rows in a split view, like the other lists: the list on the left, the selected suggestion's details on the right.
- Use… opens the form for that kind (Run, the stack form, New Volume, New Network, New DNS Domain, New Machine or New Cluster), full width and already filled in. The filled-in values don't count as unsaved changes, so leaving without editing asks nothing. Nothing is created until you press the form's main action.
- Close or finish a form, or visit another section, and you come back to the same tab, search, category, selection and Mac.
- The search box finds suggestions of every kind from any page. Choosing one opens Suggestions on its tab with the row selected. It never creates anything. A tab with no match offers Show all matches.
- The suggestion galleries inside Containers, Volumes, Networks, DNS, Machines and Clusters are gone. Their Suggestions… menu items, the "start from a suggestion" links in empty lists, and File ▸ Suggestions now open the matching tab.
- Machines can be created from a suggestion on This Mac only, as the New Machine form is today.
- The library's logos appear beside each suggestion, and in Containers and Images made from one. Machines and registries show their distribution's or registry's logo when the library has it.
- Search finds suggestions by category, image and licence, as well as name.
- Tick several apps or stacks and use them in turn, one form each, with "1 of N". If two want the same port, the later one gets a free port. Volumes, networks, domains, machines and clusters are used one at a time.
- A fresh volume is set up for images that don't run as root, when a recipe asks, so they can write to it. This happens only on a volume Flotilla has just created, and it refuses a volume that already has data.
- Vulnerability reports: the library is scanned daily in the cloud and Flotilla matches the report against your images on your Mac. Findings show on image and container pages, and as a chip on image rows. They are advisory and never stop anything. Nothing about your Mac is sent.
Greta.
- A microphone button in Greta's message field dictates into it (also ⇧⌘D). Speech is recognised on this Mac only and nothing is sent until you press Send.
- Conversations are rows with Pin, Rename, Duplicate, Archive and Delete, and the message field is a Messages-style capsule.
- A banner at the top of Greta's panel says she is experimental: her answers can be wrong, so check anything she suggests before you run it.
Containers and machines.
- Restart policies and health checks run on the Mac that runs the container, and host checks work on hosts too. Checks only reach a TCP port the container publishes on this Mac's loopback. An admin sets HTTP and port checks on a host, not commands.
- A machine's page can check for package updates on Alpine (
apk) and AlmaLinux (dnf). Installing stays up to you. The checks now work withcontainer1.5.0, which runs a machine's command through the machine's own shell; each check is sent as one fixed, quoted command. A check can start a machine that was just stopped, and the page says so. - Groups and stacks can run on any host.
First run and Settings.
- First launch opens a setup assistant: role, look, Greta, preparing this Mac (
containerand Local Network, never silently), and online checks. Run it again from Help ▸ Setup Assistant. - Settings has a sidebar of sections with icon tiles, like 1Password. About lives in Settings, and lists every network destination Flotilla can contact.
- Dismissing a half-filled form asks first, whichever way you leave it (Back, Cancel, Esc, ⌘K, ⌘Q).
What testers must do
- Approve the Helper once. After updating, macOS may ask you to allow the Flotilla Helper in System Settings ▸ General ▸ Login Items & Extensions. Approve it. Without it, DNS across Macs, installing
containerand host updates can't run. - Greta's microphone. The first time, macOS asks for microphone access. The speech model for your language then downloads from Apple, once, only when you click Download.
- Hosts. Update the admin Mac first. It then updates its hosts by itself, one at a time, when each is idle. A host on beta 4 can't do the new health-check and policy actions until it's updated.
Downloads
Flotilla-1.5.0-beta.5.dmg: drag Flotilla to Applications.Flotilla-1.5.0-beta.5.pkg: for MDM and scripted installs.Flotilla-1.5.0-beta.5.zipand.tar.gz: the same signed, notarised app.
Updating from beta 4
Flotilla updates itself through Sparkle. Beta 4 keeps working with the suggestions library it has, and doesn't read the new library format. Beta 5 reads both the old and the new format.
Known limits
- A new host needs one click on macOS's local network prompt; a configuration profile cannot grant it.
- Containers on different Macs reach each other through published ports only.
- A cluster on a host is reached with
kubectlon that host. - Creating a cluster on a host shows no progress until it finishes, which can take several minutes.
- The Docker Hub browser searches Docker Hub only.
- With Show Flotilla in: Menu bar, a window still opens at login.
- Vulnerability reports cover the library's images only, not images you built or pulled elsewhere.
- Dictation needs a language Apple's speech recognition offers on the Mac. Otherwise the button is off.
- Files can't change a machine's files, or another Mac's containers.
- A machine's update check can start a machine that was just stopped.
- Machine update checks cover Alpine and AlmaLinux only.
- Tasks can't be paused, and a run, a stack or a machine create can't be cancelled or retried. A run's task can Stop the container it made.