Part of the Jellyfin Project
Jellyfin for macOS is a launcher/wrapper built in Swift and Objective-C.
Are you looking to just run and setup Jellyfin on your macOS machine? Go to https://jellyfin.org/downloads and get the macOS stable release.
Do you want to build Jellyfin's menu bar app/launcher for yourself? Read on!
- Clone or download this repository.
git clone https://github.com/jellyfin/jellyfin-server-macos.git
- Open
Jellyfin Server.xcodeproj
with Xcode. Update version number and build. - Archive the app to a local directory.
The Menu app is designed to do three things:
- Start and Stop a pre-packaged Jellyfin in the background
- Open the Web UI
- Open the Log Folder
- Ensure that the Jellyfin binary is pointed to the packaged version of the web UI
- Ensure that a cache folder exists before launching the server
- The compiled menu bar app from above
- The latest Jellyfin macOS Combined package
If you choose to build Jellyfin server on your own, you will also require:
- FFmpeg for macOS, or equivalent FFmpeg/FFprobe 4.4+.
- Ensure that a complete copy of Jellyfin Server is available in a folder. If using the combined package from above, proceed to the next step.
- If you are building Jellyfin from source, place a copy of
ffmpeg
in the same folder as the server binary. You need to addffmpeg
andffprobe
alongsidejellyfin
. Ensure that you also buildjellyfin-web
. - If using a packaged version, take the
jellyfin-web
folder out of the folder with the server in it.
- If you are building Jellyfin from source, place a copy of
- Locate the .app that was built above. Right/Ctrl Click it and choose "Show Package Contents".
- Go inside the folder
Contents
, thenMacOS
. Place the Jellyfin server and FFmpeg files here. Make sure they are not in a subfolder of their own. - Go up one level, and go to the
Resources
folder. Place thejellyfin-web
folder here. The folder name must match. - (Optional) If you want to sign the .app for distribution, see the Deployment Instructions.
Jellyfin Server uses the directory ~/Library/Application Support/jellyfin
to store necessary contents. After deleting Jellyfin Server.app
, delete that directory for a full uninstallation.
Please review the error inside Xcode. If a build failed, it is likely because the resources aren't in the right directory.
This is because Jellyfin needs to be placed in the app bundle so it can be launched. This is currently a manual process, which can be scripted for convenience.
Does the console show a Failed to bind to address
message? You may already have a copy of Jellyfin running on your computer. This can happen if you did not shutdown a separate Jellyfin install, or if you clicked on "Stop" inside Xcode while running/debugging. Use Activity Monitor to find and quit any open Jellyfin process.
You must manually open the web UI by clicking on the icon in the menu bar first.