Today a quick look at a neat Docker Image I found: Gitea
I knew Gitlab before, as a solution for self-hosting your git service, where you can have unlimited private repositories, complete with a web-interface, issues, pull requests, etc. and was using it for about 4 years, first having it installed natively (not very pleasant, to be honest), then via omnibus (a bit more pleasant) and later in docker (nice), but Gitlab became/is huge, making it inconvenient to run on my small 10€/month v-server.
# docker images REPOSITORY TAG IMAGE ID CREATED SIZE gitlab/gitlab-ce latest 17d5117a2e37 4 days ago 1.76GB # docker stats --no-stream CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % … PIDS e3e8f62f9ff2 gitlab 1.15% 4.413GiB / 15.64GiB 28.22% … 352
Run on my desktop – my server doesn't even have 4 GB of RAM!
Eventually I shut my Gitlab instance off, because it was just eating up way too much RAM, when it was barely being used.
However, while browsing through docker hub, I found Gitea, self proclaimed "painless self-hosted git service".
"Well, it runs with docker, and my Gitlab instance is down anyways, so let's just spin it up, why not?", I thought.
docker run -p 4:22 -p 8080:3000 -v /home/kondou/gitea:/data gitea/gitea
10 Minutes later I had a fully functioning self-hosted git service, using a fraction of the RAM of Gitlab.
# docker images REPOSITORY TAG IMAGE ID CREATED SIZE gitea/gitea latest 2ed4bbc1c7a1 2 hours ago 94.3MB # docker stats --no-stream CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % … PIDS f7897a57e462 gitea 0.00% 98.49MiB / 3.85GiB 2.56% … 20
Of course Gitea does not offer everything Gitlab does, like testing, CI, automatic deployment, … and … whatever else Gitlab offers that justifies a 1.7 GB big image.
Edit: If you want a CI solution, Drone does a pretty good job of being light-weight, being available in Docker, and integrating with Gitea!
Gitea's small RAM usage is being helped, by Gitea also accepting SQLite as a database (which would probably make Gitlab blow up instantly, because of SQLite's many limitations), but Gitea also works fine with MySQL or Postgres.
But Gitea is pretty hidden – if you never heard of it before, and are a (hobby) sysadmin like me, definitely check it out!