Sign inSign up

ayerselectronics/magpie

By ayerselectronics

•Updated 1 day ago

Image
0

156

ayerselectronics/magpie repository overview

⁠Magpie

Magpie turns the movies and shows you own into live TV channels with a real guide, on your own computer.

⁠Quick start

These steps are for Docker Engine on Linux. On a Mac or a Windows computer, use the installer from https://ayers.repair/magpie/install.html⁠.

docker run -d --name magpie \
  --network host \
  -v magpie-data:/data \
  -v /srv/media:/media \
  ayerselectronics/magpie
  • --network host shares this computer's network. Setting up is only accepted from the computer the server runs on, and screens on your network find the server by themselves. The console answers on port 24622.
  • -v magpie-data:/data holds everything Magpie remembers. Never add it as a library.
  • -v /srv/media:/media is your media: replace /srv/media with your own folder. Inside the container it is /media. The server runs as user 999, which needs to be able to read it. Add :ro to keep the container from writing there; leave it off if you will turn on filing downloads, info files, music tags or Replace.

⁠Claim the server

A new server prints a one-time setup link when it starts. It works for 10 minutes, so make a fresh one when you are ready:

docker exec magpie /app/Magpie.Server --reset-passcode

Restarting the container also prints one, which docker logs magpie shows. Open the link in a browser on the computer running Docker, name your network and set your passcode; the link is refused from any other device. With no screen on that computer, forward the port first from another one (ssh -L 24622:127.0.0.1:24622 you@your-server) and open the link there within 10 minutes. The same command makes a link to set a new passcode if you forget it.

⁠Add your media

In the console, open Library > Libraries and press Add Library. Choose what it holds and name it, then press Add Folder and type the path as the container sees it, such as /media/Movies for /srv/media/Movies on the host. A folder that does not exist, or /data, is refused.

The image carries Magpie's own access to TMDb, the service Magpie looks titles up in, the same as the installers, so no key is needed. A key of your own is optional under Settings > Library > Automatic Details.

⁠Import an audio CD

The image carries Magpie's pinned secure audio CD reader. Docker cannot expose the host drive by itself. Add the optical block device, its matching SCSI-generic device and both host device-group IDs when creating the container, replacing the example device names with the pair for your drive:

docker run -d --name magpie \
  --network host \
  --device /dev/sr0 \
  --device /dev/sg2 \
  --group-add "$(stat -c %g /dev/sr0)" \
  --group-add "$(stat -c %g /dev/sg2)" \
  -v magpie-data:/data \
  -v /srv/media:/media \
  ayerselectronics/magpie

Do not use --privileged. Device names and group IDs belong to the host and can change when drives are added or removed. The console's disc-import readiness reports whether the passed drive and reader are actually usable.

⁠What's in the image

The server, its pass-through router, pinned ffmpeg and Whisper builds, and the pinned audio CD reader with its licenses and corresponding source.

⁠Data

Magpie's state lives under /data inside the container. To keep it in a host folder instead of the named volume (-v /srv/magpie:/data), give that folder to user 999 first: sudo chown -R 999 /srv/magpie.

⁠Ports

  • 24622/tcp: the console (/admin), the watch page (/watch) and the health check (/health)
  • 24623/udp: discovery on your home network

Your channels in Plex or Jellyfin: the server exports /iptv/channels.m3u and /iptv/xmltv.xml and answers HDHomeRun discovery — see the guide⁠.

⁠Runs as non-root

The container runs as an unprivileged magpie user, not root.

⁠Updating

docker pull ayerselectronics/magpie
docker rm -f magpie
docker run -d --name magpie \
  --network host \
  -v magpie-data:/data \
  -v /srv/media:/media \
  ayerselectronics/magpie

Your channels and settings live in the volume, so removing the container loses nothing.

⁠Going back to an earlier tag

A tag refuses a database a different tag made: the container stops with a message in docker logs magpie and changes nothing. The easiest way back is to run the tag that made the database again. To use the earlier tag instead, stop the container and move every file of the database in the volume out of the way together, keeping them: magpie.db and any magpie.db-wal, magpie.db-shm and magpie.db-journal. The log names the copies from before an update that the tag can open, each named magpie.db.pre-<last step>-<time>.bak with its -wal, -shm and -journal files named the same way. Copy every file of one set under the database's own names; never mix files from two sets, and changes made after that copy was taken are not in it. Starting with none of the files in place begins an empty database, and your channels, settings and profiles are not carried over. Your media is never touched.

⁠Guides

⁠Tags

1.0.0 and latest are re-cut in place pre-release — they move as the product is finished, and are not yet immutable version markers.

Tag summary

Content type

Image

Digest

sha256:b6b9a222a…

Size

595.6 MB

Last updated

1 day ago

docker pull ayerselectronics/magpie