Skip to content

jellyfin/jellyfin-server-macos

Jellyfin for macOS

Part of the Jellyfin Project


Logo Banner

MPL 2.0 License Donate Submit Feature Requests Chat on Matrix Join our Subreddit Commits RSS Feed


Jellyfin for macOS is a launcher/wrapper built in Swift and Objective-C.


Getting Started

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!


Compiling the Menu App

Requirements

Steps

  1. Clone or download this repository.
    git clone https://github.com/jellyfin/jellyfin-server-macos.git
  2. Open Jellyfin Server.xcodeproj with Xcode. Update version number and build.
  3. Archive the app to a local directory.

Usage

The Menu app is designed to do three things:

  1. Start and Stop a pre-packaged Jellyfin in the background
  2. Open the Web UI
  3. Open the Log Folder
  4. Ensure that the Jellyfin binary is pointed to the packaged version of the web UI
  5. Ensure that a cache folder exists before launching the server

Building the Full Package

Requirements

If you choose to build Jellyfin server on your own, you will also require:

  • FFmpeg for macOS, or equivalent FFmpeg/FFprobe 4.4+.

Steps

  1. 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 add ffmpeg and ffprobe alongside jellyfin. Ensure that you also build jellyfin-web.
    • If using a packaged version, take the jellyfin-web folder out of the folder with the server in it.
  2. Locate the .app that was built above. Right/Ctrl Click it and choose "Show Package Contents".
  3. Go inside the folder Contents, then MacOS. Place the Jellyfin server and FFmpeg files here. Make sure they are not in a subfolder of their own.
  4. Go up one level, and go to the Resources folder. Place the jellyfin-web folder here. The folder name must match.
  5. (Optional) If you want to sign the .app for distribution, see the Deployment Instructions.

Uninstalling

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.

Troubleshooting

The project didn't build!

Please review the error inside Xcode. If a build failed, it is likely because the resources aren't in the right directory.

The project built, but Jellyfin didn't launch. Xcode shows an error.

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.

The project built, but Jellyfin didn't launch. There are no errors I can see.

You must manually open the web UI by clicking on the icon in the menu bar first.