Comments (9)
Building for ARM sounds like a great idea, although I don't know too much about how to do it.
From what I understand there are two options:
- Use buildx
- Add a second job to the CircleCI setup that runs on ARM hardware (although I would assume this is arm64 only)
I'd be happy to look into this, but it might take a while. If you wanna give it a go in the meantime, I am happy to review and merge PRs.
Relevant place for doing this is probably
docker-volume-backup/.circleci/config.yml
Lines 26 to 30 in 84afc43
from docker-volume-backup.
Ok, cool, I can take a look at it sometime this week.
I don't know anything about CircleCI, so I have no idea what kind of ARM architectures they support. I know you can do this on any host using QEMU through buildx. I've done that on Github Actions, so it's probably the approach I'll try to go with.
from docker-volume-backup.
I've done that on Github Actions, so it's probably the approach I'll try to go with.
If switching to GitHub actions helps you get this set up, I'd be totally fine with ditching CircleCI here. I guess we can push to Docker Hub from anywhere.
Thank you!
from docker-volume-backup.
I just had some time to look into this myself and got buildx working on CircleCI https://github.com/offen/docker-volume-backup/compare/multiarch
There are however some issues still that I currently don't know how to resolve:
- the
mc
MinIO client is only available for arm64 so this is a hard limit for what this repo can build - the arm64 build never passes, but seems to fail at different stages. Sometimes it fails to run
apk add
, sometimes it fails later when downloading themc
executable (sth along the lines of "connection reset by peer"). I assume this is some Networking issue caused by Docker in Docker in Docker (yes, this is what is happening) or similar
It would be interesting to know if:
- does this build successfully in GitHub actions?
- does this build successfully when "unboxed" in CircleCI and run in a machine executor instead of a Docker one?
from docker-volume-backup.
Another very strange detail here: when using an http
(instead of https
) URL for downloading the MinIO client in the Dockerfile I can get the arm64 build to pass sometimes (unless it fails earlier).
from docker-volume-backup.
This is somehow related to networking and ca-certificates, but I don't really understand how.
When I build this locally for arm64 I will always be able to run the apk
commands in the Dockerfile correctly, but downloading mc
will also fail in case it's trying to use https
. When using http
I can successfully build an arm64 image locally.
In case anyone knows where this is coming from, I'm happy about any pointers.
from docker-volume-backup.
Upstream issue is here docker/buildx#660
from docker-volume-backup.
Ok, this required some serious voodoo as per: https://gitlab.alpinelinux.org/alpine/aports/-/issues/12406 but it seems to be working for arm64
now and v1.4.0
is published to Docker Hub, supporting multiple architectures.
If anyone has an idea how to make this work for arm/v7 et al
too, I would be happy to learn about your ideas.
from docker-volume-backup.
arm/v7
works when the build compiles mc
from source. v1.5.0 is now available for amd64
, arm64
and arm/v7
.
from docker-volume-backup.
Related Issues (20)
- Hard to understand error message during exec HOT 3
- archive-pre is triggered on each container backup instead of just container with exec-label HOT 3
- Health Check HOT 6
- Notifications Delay HOT 1
- Replace Log line feeds with HTML <br> tag HOT 3
- Backup the entire content without directory HOT 4
- Backup to subfolders HOT 2
- Resolve date in AWS_S3_PATH HOT 1
- Can't get stop during backup working HOT 2
- Remove local backup after upload to S3 HOT 3
- Invalid memory address crash when running a backup HOT 16
- Fail to configure cron schedule HOT 3
- Docker swarm error HOT 5
- "swarm exec" support HOT 1
- "input/output error" when copying file to NFS mount HOT 4
- Azure storage: Support access tier HOT 2
- schedule the docker-volume-backup? HOT 1
- [Feature] Automated backups of all named volumes HOT 6
- [FR] upgrade `shoutrrr` to v0.8.0 to support custom fields in calls to Generic Webhooks HOT 3
- [Feature] Allow BACKUP_COMPRESSION to be disabled HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from docker-volume-backup.