The full guide, with every step, is on filamama.com/install/mac-mini. In short:
Prepare the Mac
Filamama runs as a login service, a launchd agent, which only runs while its user is logged in.
- Automatic login. System Settings, Users & Groups, "Automatically log in as". It isn't available while FileVault is on: with FileVault on, after a power cut the Mac waits at the login screen and the server stays down until someone logs in.
- Don't sleep. System Settings, Energy: "Prevent automatic sleeping when the display is off", and "Wake for network access".
- Restart after a power cut. "Start up automatically after a power failure".
- A fixed address, with a DHCP reservation in your router.
Install the tools
brew install node ffmpeg
node -v # needs v26 or newer
Install the server
In the Filamama folder:
packaging/install.sh --dry-run
packaging/install.sh
The dry run checks Node, ffmpeg and ffprobe and prints every step, changing nothing. The install builds the server and the web app, writes your settings, installs the login service, starts it, and waits until the server answers on port 5400. Keep the folder where it is: the service runs the server from there.
| Option | What it does |
|---|---|
--data-dir DIR | Database, backups, the server's key, previews. Absolute path. |
--originals-dir DIR | Where photos and videos are filed. Default <data-dir>/originals. |
--port N | HTTPS port, default 5400. |
--no-service | Build and write settings, install no service. |
--dry-run | Check and print, change nothing. |
If the macOS firewall is on, macOS may ask whether node may accept incoming connections. Say Allow, or phones and browsers can't reach the server.
Then: Your first visit.