I want to containerise the https://www.mysterium.network/ project. It runs on x86 docker with the following command:
docker run --cap-add NET_ADMIN -d -p 4449:4449 --name myst -v myst-data:/var/lib/mysterium-node mysteriumnetwork/myst:latest service --agreed-terms-and-conditions
I have attempted to migrate this to Balena with the follow config files:
RUN [ "cross-build-start" ]
RUN install_packages debconf-utils \
&& echo resolvconf resolvconf/linkify-resolvconf boolean false | debconf-set-selections \
&& install_packages resolvconf
COPY ./install.sh .
RUN [ "cross-build-end" ]
When the container starts all I see in the logs is this:
mysterium-node Starting mysterium-node...
mysterium-node mysterium-node process was unable to start [ FAILED ]
Service exited 'mysterium-node sha256:7e654117262e5c61640a1ecfaa8869a1879abd39cf359034675e5d1ab81f4387'
Restarting service 'mysterium-node sha256:7e654117262e5c61640a1ecfaa8869a1879abd39cf359034675e5d1ab81f4387'
I did manage to get the service running once with a
command line in the docker-compose file, but I need the service to be controlled with the service unit. Also, any ideas how I would port
service --agreed-terms-and-conditions from the docker run command to the docker-compose file?
seems like your
Dockerfile just has neither has
ENTRYPOINT not a
It should be a simple as
CMD /path/to/installation/executable service --agreed-TOS
The image that you originally used was probably based on either node/Dockerfile at master · mysteriumnetwork/node · GitHub or node/Dockerfile at master · mysteriumnetwork/node · GitHub . Maybe you can just use one of them directly, as they are cross-platform.
Also, looking at Docker Hub it seems the original image was already built cross-platform, so you could just use it directly without writing your own Dockerfile.
You then just add
command: service --accept-TOS
to your service definition.
Hope this helps,
Legend! Thank you, it “just worked”. Was told there wasn’t an arm docker image available … lessons were learnt, do my own homework!
hi i also messaged you on discord … im tring to do the same as yourself what was the final solution how did you add the command , is there a way i can run say a script on the pi via ssh directly and not though cloud to install myst on the pi thats running balenaOS
@oly99 what issues do you get following the steps from @n1md4 and the recommendation from my colleague at balena?
Im new to this docker stuff im not quite sure on the method to get it all to install and run tbh . the command your college recommend. Does that get run inside the file.
Im also hoping I can just run everything from root directly on each device as the balenaos dash/cloud is not easly accessible as the device is controlled by a 3rd partly admin/s who use it to send remote fleet updates . I simply want to add myst nodes to each device to get some extra functionality
Ok! if you would like to learn more about containers and balenaOS to manage your fleets of devices, let us know!