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!