mirror of
https://github.com/go-gitea/gitea.git
synced 2026-03-09 04:25:18 -05:00
Provide ARM Docker Image #180
Closed
opened 2025-11-02 03:12:33 -06:00 by GiteaMirror
·
76 comments
No Branch/Tag Specified
main
release/v1.25
release/v1.24
release/v1.23
release/v1.22
release/v1.21
release/v1.20
release/v1.19
release/v1.18
release/v1.17
release/v1.16
release/v1.15
release/v1.14
release/v1.13
release/v1.12
release/v1.11
release/v1.10
release/v1.9
release/v1.8
v1.25.3
v1.25.2
v1.25.1
v1.25.0
v1.24.7
v1.25.0-rc0
v1.26.0-dev
v1.24.6
v1.24.5
v1.24.4
v1.24.3
v1.24.2
v1.24.1
v1.24.0
v1.23.8
v1.24.0-rc0
v1.25.0-dev
v1.23.7
v1.23.6
v1.23.5
v1.23.4
v1.23.3
v1.23.2
v1.23.1
v1.23.0
v1.23.0-rc0
v1.24.0-dev
v1.22.6
v1.22.5
v1.22.4
v1.22.3
v1.22.2
v1.22.1
v1.22.0
v1.23.0-dev
v1.22.0-rc1
v1.21.11
v1.22.0-rc0
v1.21.10
v1.21.9
v1.21.8
v1.21.7
v1.21.6
v1.21.5
v1.21.4
v1.21.3
v1.21.2
v1.20.6
v1.21.1
v1.21.0
v1.21.0-rc2
v1.21.0-rc1
v1.20.5
v1.22.0-dev
v1.21.0-rc0
v1.20.4
v1.20.3
v1.20.2
v1.20.1
v1.20.0
v1.19.4
v1.21.0-dev
v1.20.0-rc2
v1.20.0-rc1
v1.20.0-rc0
v1.19.3
v1.19.2
v1.19.1
v1.19.0
v1.19.0-rc1
v1.20.0-dev
v1.19.0-rc0
v1.18.5
v1.18.4
v1.18.3
v1.18.2
v1.18.1
v1.18.0
v1.17.4
v1.18.0-rc1
v1.19.0-dev
v1.18.0-rc0
v1.17.3
v1.17.2
v1.17.1
v1.17.0
v1.17.0-rc2
v1.16.9
v1.17.0-rc1
v1.18.0-dev
v1.16.8
v1.16.7
v1.16.6
v1.16.5
v1.16.4
v1.16.3
v1.16.2
v1.16.1
v1.16.0
v1.15.11
v1.17.0-dev
v1.16.0-rc1
v1.15.10
v1.15.9
v1.15.8
v1.15.7
v1.15.6
v1.15.5
v1.15.4
v1.15.3
v1.15.2
v1.15.1
v1.14.7
v1.15.0
v1.15.0-rc3
v1.14.6
v1.15.0-rc2
v1.14.5
v1.16.0-dev
v1.15.0-rc1
v1.14.4
v1.14.3
v1.14.2
v1.14.1
v1.14.0
v1.13.7
v1.14.0-rc2
v1.13.6
v1.13.5
v1.14.0-rc1
v1.15.0-dev
v1.13.4
v1.13.3
v1.13.2
v1.13.1
v1.13.0
v1.12.6
v1.13.0-rc2
v1.14.0-dev
v1.13.0-rc1
v1.12.5
v1.12.4
v1.12.3
v1.12.2
v1.12.1
v1.11.8
v1.12.0
v1.11.7
v1.12.0-rc2
v1.11.6
v1.12.0-rc1
v1.13.0-dev
v1.11.5
v1.11.4
v1.11.3
v1.10.6
v1.12.0-dev
v1.11.2
v1.10.5
v1.11.1
v1.10.4
v1.11.0
v1.11.0-rc2
v1.10.3
v1.11.0-rc1
v1.10.2
v1.10.1
v1.10.0
v1.9.6
v1.9.5
v1.10.0-rc2
v1.11.0-dev
v1.10.0-rc1
v1.9.4
v1.9.3
v1.9.2
v1.9.1
v1.9.0
v1.9.0-rc2
v1.10.0-dev
v1.9.0-rc1
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.8.0-rc3
v1.7.6
v1.8.0-rc2
v1.7.5
v1.8.0-rc1
v1.9.0-dev
v1.7.4
v1.7.3
v1.7.2
v1.7.1
v1.7.0
v1.7.0-rc3
v1.6.4
v1.7.0-rc2
v1.6.3
v1.7.0-rc1
v1.7.0-dev
v1.6.2
v1.6.1
v1.6.0
v1.6.0-rc2
v1.5.3
v1.6.0-rc1
v1.6.0-dev
v1.5.2
v1.5.1
v1.5.0
v1.5.0-rc2
v1.5.0-rc1
v1.5.0-dev
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.4.0-rc3
v1.4.0-rc2
v1.3.3
v1.4.0-rc1
v1.3.2
v1.3.1
v1.3.0
v1.3.0-rc2
v1.3.0-rc1
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.2.0-rc3
v1.2.0-rc2
v1.1.4
v1.2.0-rc1
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v1.0.2
v1.0.1
v1.0.0
v0.9.99
Labels
Clear labels
$20
$250
$50
$500
backport/done
💎 Bounty
docs-update-needed
good first issue
hacktoberfest
issue/bounty
issue/confirmed
issue/critical
issue/duplicate
issue/needs-feedback
issue/not-a-bug
issue/regression
issue/stale
issue/workaround
lgtm/need 2
modifies/api
modifies/translation
outdated/backport/v1.18
outdated/theme/markdown
outdated/theme/timetracker
performance/bigrepo
performance/cpu
performance/memory
performance/speed
pr/breaking
proposal/accepted
proposal/rejected
pr/wip
pull-request
reviewed/wontfix
💰 Rewarded
skip-changelog
status/blocked
topic/accessibility
topic/api
topic/authentication
topic/build
topic/code-linting
topic/commit-signing
topic/content-rendering
topic/deployment
topic/distribution
topic/federation
topic/gitea-actions
topic/issues
topic/lfs
topic/mobile
topic/moderation
topic/packages
topic/pr
topic/projects
topic/repo
topic/repo-migration
topic/security
topic/theme
topic/ui
topic/ui-interaction
topic/ux
topic/webhooks
topic/wiki
type/bug
type/deprecation
type/docs
type/enhancement
type/feature
type/miscellaneous
type/proposal
type/question
type/refactoring
type/summary
type/testing
type/upstream
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/gitea#180
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @pennal on GitHub (Dec 29, 2016).
It would be great if you could provide an already built docker image on Docker Hub for ARM platforms such as the Raspberry Pi (>= 2). From what I have seen the pipeline seems to be already set up, and the Dockerfile seems to exist.
Thanks!
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
@denji commented on GitHub (Dec 29, 2016):
It should be:
armhf(GOARCH=arm|GOARM=7).@brinsche commented on GitHub (Dec 31, 2016):
There is https://github.com/go-gitea/gitea/blob/master/Dockerfile.rpi already but it looks like it differs a little from the normal Dockerfile. The last time it was updated (#386) the rpi-Dockerfile wasn't also updated
@tboerger commented on GitHub (Dec 31, 2016):
You are right, it got smaller differences. Currently we don't have a arm pipeline running, but hopefully we can provide that soon
@tboerger commented on GitHub (Dec 31, 2016):
Somebody wants to create a pr to bring the files back in sync?
@appleboy commented on GitHub (Jan 1, 2017):
This issue should be closed by #548
@tboerger commented on GitHub (Jan 1, 2017):
No, it's not solved because we don't publish this image yet.
@appleboy commented on GitHub (Jan 2, 2017):
@tboerger Understood.
@Solido commented on GitHub (Jan 9, 2017):
In the same continuity not all NAS support docker. Some big brand like Synology offers a .spk deployment mechanism and there's no doubt that a tools like Gitea can be find on such platform a very fast pace of adoption.
@flipswitchingmonkey commented on GitHub (Jan 15, 2017):
There's an SPK builder for Gogs gogs-spk which I've forked for Gitea gitea-spk
Tried it with 1.0.1 on a Synology DS116 and it works fine so far.
@ulm0 commented on GitHub (Feb 18, 2017):
is there any docker image for rpi yet?
@tboerger commented on GitHub (Feb 18, 2017):
@klud1 only the Dockerfile, no prebuilt image so far
@ulm0 commented on GitHub (Feb 18, 2017):
@tboerger cloned the repo yesterday, tried to build it. then i realized i needed a gitea binary that is copied into the image (got an error saying
/app/gitea/gitea: no such file or directory), wanted to build the gitea binary (installing build-essential and golang, the latter by downloading it from the golang website) and got somemake [error]when attempting to build it, altought igo getthe libraries needed for this. then i just downloaded the gitea binary from the website (https://dl.gitea.io/gitea/1.0.1/gitea-1.0.1-linux-arm-7) and granted execution permission in order for it to be copied in the image, but stilldocker logs [container name]output/app/gitea/gitea: no such file or directory.any idea how can this be successfully achieved?
@chadweimer commented on GitHub (Mar 25, 2017):
@klud1 Same problem here using a Raspberry Pi 3. I cloned the repo, then
make clean generate buildfollowed bydocker build -f Dockerfile.rpi .. I'm seeing the same 'no such file or directory' error when starting the container.@ulm0 commented on GitHub (Mar 27, 2017):
@chadweimer i recently got it working, just changed some things in the dockerfile, built it and tested it and it all seems to work fine, here is the Dockerfile in case you want to see it.

@chadweimer commented on GitHub (Mar 27, 2017):
@klud1 That's great! I suspected it was something in the image since I was able to build and run outside docker. I tried a few things but wasn't able to figure it out. Any chance you can post your changes here? I'm not able to access that file on your GitLab repo, even after signing in.
@ulm0 commented on GitHub (Mar 27, 2017):
@chadweimer oh, gosh! you're right, i can't access it when singing out either, it shows a 404 error, even though it's set as a public project. So sorry. Here is the Dockerfile:
You also need the docker folder in the gitea repo in order to get it working.
@kfordaccela commented on GitHub (Jan 26, 2018):
Please note that you will want to update the release that you're using from the correct release at the following url. https://github.com/go-gitea/gitea/releases after which you can do a rebuild and restart th container with a command like the following.
docker run -d --restart=always --name=gitea-arm_1.3.2a -p 1022:22 -p 3000:3000 -v /opt/gitea:/data 9f93a41afd45
I usually do a remove of the old image after starting the new one, no issues with the upgrade path.
@poupryc commented on GitHub (Oct 15, 2018):
So are you planning to automatically publish an arm64 image? if so, you might be interested in the arm64v8 repo which offers arm64 compatible docker images of the most popular images (node, rust, busybox...). Maybe adding a gitea here could be an interesting compromise as described here?
@lafriks commented on GitHub (Oct 15, 2018):
we do but first we need move to using builtin ssh server in official docker image.
@lunny commented on GitHub (Oct 16, 2018):
@lafriks yes, maybe we could do that on docker:latest but docker:1 keep OpenSSH currently.
@lafriks commented on GitHub (Oct 16, 2018):
@lunny yes we can do that only after we have
release/v1.6branch@tboerger commented on GitHub (Oct 16, 2018):
Currently we can only build amd64 because we need to install system packages and we only got an amd64 ci worker. If we get rid of the system packages like OpenSSH and git we can cross compile the binary and push the other architecture images, as long as we install system packages we need native agents.
@sapk commented on GitHub (Oct 16, 2018):
@tboerger we can also build the container for other platform via qemu but that is not ideal.
@tboerger commented on GitHub (Oct 16, 2018):
This sucks pretty much if we look at the size of our CI agents ;)
@fkrull commented on GitHub (Oct 16, 2018):
Something I think is not widely known (so if you do know, feel free disregard my comment ;) ) is that it's now possible to build and run foreign-architecture Docker images without changing the image itself, so long as you have root access to the Docker host (or the ability to run arbitrary privileged containers).
As it happens, I have a Docker image that sets up qemu and binfmt so you can transparently build foreign-arch images and run foreign-arch binaries and containers. So if you have the option to set up something like this on your CI nodes, you should be able to build ARM images without dealing with base images including qemu or similar hacks.
@sapk commented on GitHub (Oct 16, 2018):
@fkrull that what I mean by qemu I even made a PR https://github.com/go-gitea/gitea/pull/3958 but that still a little hacky and need full privilege in CI jobs.
@fkrull commented on GitHub (Oct 16, 2018):
@sapk Yeah, that's the kind of thing I was thinking of. Carry on, then. :D
@Kunde21 commented on GitHub (Dec 25, 2018):
I mentioned this in another issue, but I have an unofficial multi-arch (arm/arm64/amd64) manifest built with sqlite support published on docker hub. Keep in mind that this is not automated, yet. Pushed the v1.6.2 release last week, to bring it up to date.
@killua99 commented on GitHub (Mar 28, 2019):
@Kunde21 I wish to help you to keep that docker image update. How could I help you with that task? I thought that would be better rather to poke you to update the docker image with the latest gitea version.
@techknowlogick commented on GitHub (Mar 28, 2019):
@killua99 @Kunde21 We just upgraded to Drone 1.0.0 which allows mult-arch agents, so we can build an official image, in case you'd be open to sending a PR to our CI instead of maintaining it yourself. More details here: #6463
@killua99 commented on GitHub (Mar 28, 2019):
That's a great news @techknowlogick I'll start looking at them asap
@Kunde21 commented on GitHub (Apr 1, 2019):
It's a bit of bash ugliness, but this is the build script I use on all arches. The key is to ensure that the arch is included in the docker tag, so everything can be pushed to the registry and a manifest generated for the multi-arch entry.
@Kunde21 commented on GitHub (Apr 1, 2019):
Sorry @killua99, just bad timing. I'm in the middle of a move, so my home cluster is torn apart right now.
The setup I use to build:
1 rpi-3 (Arch Linux, ARMv7)
1 rpi-3 (Arch Linux, aarch64)
1 NUC (Arch Linux, amd64)
I have 3 drone deployments connected to a gitea server. So, a push to the repo builds all 3 arches and pushes to my registry and docker hub. I usually create the manifests via CLI, because it's pretty quick.
If you want to replicate this setup, one key is putting a performant USB drive in each rpi3 to use as a big swap drive. That relieves the memory pressure when building sqlite, so the build will succeed.
@atomi commented on GitHub (Apr 1, 2019):
By the way, Alpine apk has a
--print-archflag.@Kunde21 commented on GitHub (Apr 1, 2019):
Ahh, thank you. I was originally building in Ubuntu, so I tried to make it as agnostic as possible. The
--print-archtrick is nice!@tboerger commented on GitHub (Apr 1, 2019):
Uname is not reliable for architecture detection...
@atomi commented on GitHub (Jul 18, 2019):
Yeah, why not? I'm able to build Gitea on an rpi 3 b by adding a a couple of gigs to swap and I've been running GItea on it just fine.
If you're using Drone CI you can use their manifest plugin http://plugins.drone.io/drone-plugins/drone-manifest/ or create the manifest manually using a Makefile i.e. https://github.com/miniflux/miniflux/blob/master/Makefile
@onedr0p commented on GitHub (Jul 18, 2019):
@atomi I deleted my comment after realizing gogs wasn't a AIO image
I am hoping to use Gitea on my k3s cluster.
@tboerger commented on GitHub (Jul 18, 2019):
Maybe somebody could give my unofficial webhippie/gitea image a try, it provides a manifest for arm6 and arm8.
@joel-wright commented on GitHub (Jul 30, 2019):
The webhippie/gitea image seems to be working well for me, thanks @tboerger 🙂
Edit:... under Raspbian Buster & docker-ce on a Raspberry Pi 4
@sapk commented on GitHub (Jul 30, 2019):
The
:latesttag is providing multi-arch support for linux/amd64 (tagged :linux-amd64) and linux/arm64 (tagged :linux-arm64). We will need to setup other drone builder for each platform has we don't do cross build.@TheRogueZeta commented on GitHub (Sep 7, 2019):
@sapk,
Is it possible to add armhf to the drone builder?
@6543 commented on GitHub (Sep 8, 2019):
just to mention it here, https://github.com/alpinelinux/aports/pull/10887 will upgrade the alpine gitea package wich could also be used for docker images
@everflux commented on GitHub (Dec 1, 2019):
Just to provide feedback: Running gitea/gitea ARM64 successfully ( 1.11.0+dev-348-g2011a5b81 ) - thanks a lot!
@sk-t3ch commented on GitHub (Jan 18, 2020):
@tboerger hey, i've managed to get your Gitea ARM image running on my Raspberry Pi 4, but I cannot get my custom app.ini to be loaded. Any chance of seeing the dockerfile? I can't find any reference to it on docker hub.
@tboerger commented on GitHub (Jan 19, 2020):
@sk-t3ch good hint, since I'm uploading the README of the repo to DockerHub it doesn't link to the repository anymore... You can find the whole source at https://github.com/dockhippie/gitea
@kerberjg commented on GitHub (Jan 28, 2020):
Can confirm the ARM64 image runs pretty well! However I'd love to see an ARMv6/7 image for RPi 2 and lower
@tboerger commented on GitHub (Jan 28, 2020):
Until there is an official one you could use webhippie/gitea which is built for arm64v8, arm32v6 and amd64 ;)
@manisto commented on GitHub (Mar 15, 2020):
@everflux, did you actually get the gitea/gitea:latest image to run on your Raspberry Pi? I feel like I've tried everything with no luck.
@sk-t3ch commented on GitHub (Mar 15, 2020):
Hey @manisto - check it out here https://medium.com/@t3chflicks/home-devops-pipeline-a-junior-engineers-tale-1-4-336ed07a6ec0?utm_source=share
@sk-t3ch commented on GitHub (Mar 15, 2020):
Sorry @manisto I meant this one https://medium.com/@t3chflicks/home-devops-pipeline-a-junior-engineers-tale-2-4-7be3e3c292c?utm_source=share
@everflux commented on GitHub (Mar 15, 2020):
@manisto yes I am running the gitea/gitea image from DockerHub on ODROID N2 with Archlinux ARM / arm64 as kubernetes pod. Works great so I don’t expect any trouble when running on Raspberry pi neither. (If you are using raspian I assume this is usually a 32bit flavor but docker should resolve that properly.)
What error do you get?
@ulm0 commented on GitHub (Mar 15, 2020):
@manisto is your rpi os 64bit?
@Kunde21 commented on GitHub (Mar 16, 2020):
@manisto If you're running on 32-bit, then you can use
kunde21/gitea-armorwebhippie/giteaimages. Both have arm variants in the manifest.@gpanders commented on GitHub (Mar 25, 2020):
The
webhippie/giteaimage uses different environment variables than thegitea/giteaimage, which means the installation instructions don't work when using that image.When using that image I'm not able to get to the install page and any environment variables I specify in the docker compose file seem to be ignored.
@tboerger commented on GitHub (Mar 26, 2020):
This image disables the installer on purpose, all settings can be set by env variables. The first registered user will be the initial admin. I'm currently thinking about creating an initial admin user from env variables, then I'm able to use this container for automated integration tests for drone.
@melroy89 commented on GitHub (Oct 4, 2020):
@tboerger Please provide a armv7 as well! I'm running a Banana Pi.. I would love to host it on there.. But I can't ;( Is it very hard to compile for arm7 as well during your CI/CD pipeline? And provide the docker image.
ERROR: no matching manifest for linux/arm/v7 in the manifest list entries@tboerger commented on GitHub (Oct 4, 2020):
No, because that would require another worker for the ci system. But you can run the arm6 image on arm7
@carlonluca commented on GitHub (Oct 4, 2020):
@danger89 if you want I have images for armv6, armv7 and arm64. I am using it on pi 2, pi3 and pi4.
https://hub.docker.com/repository/docker/carlonluca/gitea
@melroy89 commented on GitHub (Oct 6, 2020):
That is not how docker work:

@carlonluca Thanks, but for some reason those dockers aren't working on my banana pi. It says its up. But often it won't load my app.ini correctly or doesn't use the same environment variables. Or whatever is wrong.
I just want to use the official docker images, on my pi.
@carlonluca commented on GitHub (Oct 6, 2020):
@danger89 use the latest-official tag. That comes straight from the official Dockerfile.
@melroy89 commented on GitHub (Oct 6, 2020):
Just :latest right? Which is the default tag. Yes, I tried that.. It isn't working. Or you mean another latest tag?
@carlonluca commented on GitHub (Oct 6, 2020):
Tag is "latest-official": https://hub.docker.com/layers/carlonluca/gitea/latest-official/images/sha256-ed0f1a2d72f580d0c34f342df1594f4ca0be0e322774e031fed6f51471e4abb6?context=repo
@tboerger commented on GitHub (Oct 6, 2020):
@danger89 have you tried webhippie/gitea?
@melroy89 commented on GitHub (Oct 6, 2020):
Tonight I will try this latest official tag. I will keep you posted. Thanks
@melroy89 commented on GitHub (Oct 7, 2020):
Well
carlonluca/giteaimage using thelatest-officialtag is at least working. Let's see how easy it is to migrate my data. Back-up script is provided, still missing an easy restore script.I think I'm facing some (not issue related) migration issues. Where the database is from version gitea version
1.13.0, and now the latest stable on arm is gitea version1.12.5(so a down grade in minor release).This is something Gitea doesn't like :)
on
/explore/repospage:@melroy89 commented on GitHub (Oct 8, 2020):
@carlonluca I think I wait a bit longer when the stable release v1.13 is out.
Once you then update the latest-official tag again, I think I'm able to easily migrate from my x86 setup to my BananaPi.
@lunny commented on GitHub (Oct 15, 2020):
1.13rc1 is out.
@carlonluca commented on GitHub (Oct 17, 2020):
I built the new image but it is not working for me on arm64, sorry. Latest-official remains the latest stable. I'll build the following stable versions.
@melroy89 commented on GitHub (Oct 17, 2020):
Over 1 week or so, I expect to see v1.13 stable release to be rolled out. I also would not advice to change the
latest-officialtag, until the stable release is created (iso RC-versions).@carlonluca commented on GitHub (Dec 3, 2020):
I uploaded 1.13.0: https://hub.docker.com/repository/docker/carlonluca/gitea.
@melroy89 commented on GitHub (Dec 3, 2020):
Nice thx for the update!
@heliomcp commented on GitHub (Dec 7, 2020):
Any news for an official docker for arm?
@melroy89 commented on GitHub (Dec 14, 2020):
Well, the last message from @tboerger was:
😖 ahaha...
What about GitHub Actions!?
@techknowlogick commented on GitHub (Dec 15, 2020):
Locking. This is a general statement, but on issues in this project please don't comment with "any news on this?", we are all volunteers and will post to threads if there are updates. Over 400+ people get an email on any comment on issues to our repo, please don't overload their inbox with comments that don't add to the ticket.
Once we get another ARM CI agent we can get this up and running, but until that time this will remain open.
@techknowlogick commented on GitHub (Jul 11, 2024):
Now that our pipelines use buildkit for building docker images this could be added (one such place would be: https://github.com/go-gitea/gitea/blob/main/.github/workflows/release-nightly.yml#L94)
I will close this, but if someone remains on 32-bit version of arm with docker wants to send a PR it'll get looked at. I recommend only updating the tag workflow for releases, as otherwise the added time to nightly builds would be a significant increase.