LukeChannings/moviematch

[Feature Request] Support for ARM, e.g. Raspberry Pi

mgoeppl opened this issue · 14 comments

Is your feature request related to a problem? Please describe.
I use the Plex server on an x86_64 machine, with all the "support services" on a few Raspberry Pi 4s.

Describe the solution you'd like
An ARM build of the Docker image.

Hey,

This is definitely something I'm gonna get around to.
For the time being, the :develop tag tracks the main branch, and has images for ARM64, AMD64, and i386. I'll update to provide an ARM7 (32-bit ARM) image, in case you're stuck on a 32-bit OS.
At the moment I'm doing most work in the dev branch, so main is pretty stable.

Ok I spoke too soon. GitHub's docker build action does indeed provide an ARM build, but I'm not sure it actually works.

Deno does not currently provide ARM64/ARM7 builds, and my upstream image hayd/alpine-deno also doesn't provide anything other than x86_64.

This is definitely something I'll keep a close eye on though.

I got stuck trying to run this on my pi 4 as well. Would love the ability to run this, if you're able to get this to work!

@mgoeppl @jacosta00021,

I've just pushed an ARM64 image for 1.7.0. Can you try it out and let me know how it does?

I don't think there's a high chance of getting a 32-bit ARM image, so hopefully you're not running a 32-bit ARM Linux.

Raspberry Pi OS and Ubuntu have both been available in 64-bit for a while now.

Luke

i'm using raspbian on a pi 4, which i guess is 32 bit :(
Unfortunately gave me this error: ERROR: no matching manifest for linux/arm/v7 in the manifest list entries

Yep, that's 32-bit ARM. I can try to get a build for 32-bit ARM, but I haven't had any success thus far.

i guess i could always look into upgrading to a big boy OS....

I tried it on a RasPi 4 with an Ubuntu Server 20.04 LTS ARM64 build, and it had the classic exec format error, until I added the sha256-checksum to the docker container name in my docker-compose file (part with moviematch attached). This one works like a charm, although not automatically and probably won't update beyond the current 1.7.0 build (not 100% sure, though).

version: "2.1"
services:
  moviematch:
    image: lukechannings/moviematch:latest@sha256:9b94f9d61f2451697b4341c1a0615103a64d370f32c560374d1bd113fef23774
    container_name: moviematch
    environment:
      - PLEX_URL=https://plex.example.com:443
      - LIBRARY_FILTER=Movies
      - PLEX_TOKEN=xxxxxxxx
    ports:
      - 7676:8000
    restart: always

I think possibly you haven't pulled the latest (docker-compose stop && docker-compose pull && docker-compose up, etc.)

I've tested on my Raspberry Pi 4 with both the :latest and :1.7.0 tags and have confirmed it's working.

Screenshot 2021-01-12 at 20 20 09

Alright, I pulled the image with docker pull lukechannings/moviematch:latest and it started working... weird behaviour, but works.

As far as I am aware this has always been how Docker worked. docker-compose up --force-recreate might also help.

Fresh install of Ubuntu on my pi 4 and it's working beautifully. Thanks for spending time on this!