stephane-r / holoplay-pwa

Web app using Invidious API for listening Youtube audio source.

Home Page:https://app.holoplay.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

armv7 architecture

craviee opened this issue · comments

Hello, I'm using CasaOS as a HomeServer with Raspberry PI 3B+ (armv7), and I would like to use HoloPlay (using docker) in it, but the thing is I think HoloPlay is only in x86-64 arch, right?
I can help with this, I just have no idea how can I start with this type of porting.
Which would be the steps to make HoloPlay possible in armv7?

Hello @craviee

I think it possible with armv7, HoloPlay is an web application. I think the build docker isn't good, the platform is set : https://github.com/stephane-r/holoplay-pwa/blob/main/Dockerfile

For now, i build Docker image from my Macbook. I think it's good to add an Github action for this.

Oh, that's great. I'm going to test it.
I was using this one: https://hub.docker.com/r/spout8301/holoplay/tags

Edit: I got it now, this is the official one, I just have to change the Dockerfile to use --platform=linux/arm/v7 instead, right?

I think the best is without platform argument. Can you try with your code and without platform ?

When I tried to run without platform and also with --platform=linux/arm/v7, using docker build -t holoplay . it caused a failure in network in npm install.
I create a image before npm i and entered into it to see clearly what is going on:

root@raspberrypi:/home/pi/Desktop/holoplay-pwa# docker run -it holoplay sh
/app # ls
package-lock.json  package.json
/app # npm i
npm ERR! code ERR_SOCKET_TIMEOUT
npm ERR! errno ERR_SOCKET_TIMEOUT
npm ERR! network request to https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz failed, reason: Socket timeout
npm ERR! network This is a problem related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly.  See: 'npm help config'

npm ERR! A complete log of this run can be found in: /root/.npm/_logs/2023-09-13T22_23_36_843Z-debug-0.log

Funny thing is I can download this package normally, but not in docker, maybe docker is blocking it somehow.

I think the solution is to use docker buildx, but i'm not familiar with it.

I'll try some test today :)

Edit : i've run build without platform argument from Dockerfile, build is ok (on Ubuntu server, not with my Macbook M1). Maybe try to add this github action on the repo : https://docs.docker.com/build/ci/github-actions/multi-platform/

Sorry, I'm a lost here, can you hold-hand me a little? :)
You mean that I should write a file placed on .github/workflows, alongisde release.yml, based on the link you provided and PR this in this repo?
But reading the release.yml I thought you would do something similar to push to docker hub, but indeed was just release.

Hey @craviee

Sorry for delay, i think see this subject this week on my Pi3 :)

No problem :^)

Hey @craviee

Can you try 1.9.5 version ? I've add an CI for build on amd64, arm64 and arm/v7 platforms. I've also reduce the image size from 261mo to 20mo by replacing node-alpine by nginx-alpine.

https://hub.docker.com/repository/docker/spout8301/holoplay/tags?page=1&ordering=last_updated