-
Notifications
You must be signed in to change notification settings - Fork 139
Add Portrainer support and multi arch build pipeline #49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
* Create a build pipeline for making multi arch manifest including AMD64, ARM32V7, ARM64V8. * Reorganized the project to better use Dockerfile COPY. * With these changes the project can be deployed in Portrainer even under arm linux. * For local build using docker-compose and docker-compose.override * Added the ability to build multiple arch and python version number in Dockerfile * Fixed an issue where no entrypoint.sh found while deploying Portrainer * Be sure that entrypoint.sh has executable permission
custom.env file comment out example
…before build both host machine and target machine.
…ml does that anyway
|
Thank you will dig into this and get back to you |
|
Gooday! Take your time. After looking back, its not my cleanest PR but the gist of it should give all the major points what kinds of improvements can be made. If you have any questions feel free to ask and challenge me. |
|
Are you available on Discord to chat about the PR? |
|
hi, yes sure. |
Change speedtest container restart policy to failure. if the SPEEDTEST_ENABLED is disabled then the container just spins up and exits without restart!
Readme: update docker compose with speedtest: restart: on-failure
|
This PR adresses a lot of things that I would change in a similar way after setting up netprobe. It absolutely works as it is, but its far from a good experiance. Please take another look at this PR and concider merging it. Last but not least, nice project 🤩 |
Hello, good day. I just wanted to let you know that, i've managed to make the project deployable in
Portrainerunderarm32v7arch.I had to do some major reorganizing changes in order to make this happen. I think in the long term the project certainly benefits from it.
You may accept or deny this PR. My only goal was to make the project working on my small arm based odroid xu4, which runs 24/7 runs on very low power.
However i highly suggest to check out my changes in order to understand what kind of changes needed to be made for
Portrainer Stacksupport.I wish for the best moving forward with the project, i really like the idea not to mention its quite handy when your ISP doing questionable things.
Changes:
build_publish.sh) for making multi arch manifest includingAMD64,ARM32V7,ARM64V8result can be seen here.DockerfileCOPY. Moved all of the source does under the/srcfolder.docker-compose.ymlno longer mounts the source code into the container directly but rather creates aDockerfile COPYof the/srcfolder.docker-compose.ymlno longer mounts single files, but rather mounts the parent folder.README.mdfile..dockerignoreto the project specific topythonprojects.DockerfiletheMAJOR.MINORpython version can be set via$PYTHON_VERSIONmore info inbuild.envPortrainereven under armlinux.docker-compose.ymlanddocker-compose.override.yml.Dockerfile.entrypoint.shfound while deployingPortrainer, used wrong image file on linux.entrypoint.shhas executable permission.Config_Netprobe.speedtest_enabledis considered innetprobe_speedtest.py/logsfolder - volume can be mounted so the logs are persisted on the host machine.Config_Netprobe.speedtest_enabledis set toFalsethe speedtest container spins up and exists immediately.readme.mdfor how to build and publish docker image to docker hub.Tested my changes:
docker-compose -f docker-compose.yml -f docker-compose.override.yml up --buildthis should give more flexibility what kind of customization each consumer want to implement.arm32v7- deploying the app usingPortrainer, more info in theREADME.mdRecommended subject around the topic: