This guide will show you how to setup the BlueBubbles Docker container to run as a service on your Linux host. This is to make sure that the host starts up when your Linux host restarts.
If you do not have a physical Mac at your disposal and if you already have a Linux home server, it is relatively easy to turn BlueBubbles into a systemd service which you can configure to run at startup. This way, when your home server starts or reboots, it BlueBubbles automatically starts up.
BlueBubbles does have to be initially configured manually, including a full install of a macOS VM. However, using Docker-OSX makes this configuration much easier. If you are not already running BlueBubbles in a Docker-OSX container, first follow our guide on Configuring BlueBubbles in a container with Docker-OSX.
Once you are done configuring Docker-OSX and your BlueBubbles install:
Enable auto-login. This will make the boot faster and allow the BlueBubbles server to start automatically.
In your BlueBubbles server settings, enable "Startup with MacOS".
If using the Private API, ensure that MacForce launches at start:
MacForge Preferences > "General" tab > Check "Launch MacForce at Login"
Create a new systemd service:
2. Enter the following:
It's recommended that you replace the value of ExecStart
with the script you made in Step 11 of the Configuring BlueBubbles in a container with Docker-OSX guide. If you do choose to paste the above code block into your new systemd service file, you will at least need to replace $PWD
(in the -v
options) with the full path to your Docker OSX virtual disks.
Alternatively, it is possible to point to the script file you saved. In that case, replace the ExecStart
line with this instead:
NOTE: If using podman, replace docker.service
with podman.service
and the docker run
command with podman run
.
3. Reload the systemd daemons:
4. Enable the service to start it at boot, and activate it now: