getumbrel / umbrel-apps

The official app repository of the Umbrel App Store. Submit apps and updates here. Learn how → https://github.com/getumbrel/umbrel-apps#readme
https://apps.umbrel.com
482 stars 357 forks source link

[App Request] - Forgejo #1059

Open Lenni-builder opened 2 months ago

Lenni-builder commented 2 months ago

Since Gitea as the only currently available Git hosting platform for Umbrel has some downsides like being for-profit, I'd really like to see alternatives like Forgejo to be available. Since Forgejo is a fork of Gitea I can imagine adding it is comparably simple.

Some more insight in why Forgejo was created: https://blog.codeberg.org/codeberg-launches-forgejo.html

highghlow commented 2 months ago

Yes, that is a good request. I have started work on this!

highghlow commented 2 months ago

Oh, no... Permission issues! (/data in forgejo should be owned by non-root, but ${APP_DATA_DIR} is owned by root!). Hey, @lukechilds , is it possible to do something with this? I have no idea what to do.

Lenni-builder commented 2 months ago

Isn't it all running in Docker containers anyways? Can't you do multi-user stuff in there? What about using this?

highghlow commented 2 months ago

Isn't it all running in Docker containers anyways?

The problem is that when I mount a host directory to Docker, the permissions are left the same. On the host the directory where the app's data is stored is owned by the user who installed umbrel (usually root:0), but inside the docker container the directory has to be owned by 1000:1000. I have no way of changing the directory's owner or changing the user inside the container. I had the same issue when I was porting LibreTranslate, but is LT there is no unique data stored in these directories, so I can mount them to docker volumes. I can't do the same here because that will exclude Forgejo data from backups, migrations and other stuff.

Lenni-builder commented 2 months ago

I don't know how much they differ in that regard, but since Forgejo is a Gitea fork there might already be a solution for that problem in Gitea's Docker compose.

highghlow commented 2 months ago

there might already be a solution for that problem in Gitea's Docker compose.

There is! They just mount it... Maybe Forgejo's different, but it's docs say the data dir has to be owned by the specified user!

lime360 commented 2 months ago

forgejo became independent from gitea as of febuary 2024

Lenni-builder commented 2 months ago

forgejo became independent from gitea as of febuary 2024

I know, but I don't think there are that many differences, why should that happen in such a short time?

lime360 commented 2 months ago

forgejo became independent from gitea as of febuary 2024

I know, but I don't think there are that many differences, why should that happen in such a short time?

the only key difference is that forgejo is adding forge federation, meaning that you can make a set of collaborative instances through modified activitypub spec called forgefed

Lenni-builder commented 2 months ago

But that should have nothing to do with permission issues.

lime360 commented 2 months ago

yeah i know when i tried to install forgejo on arch wsl, the app.ini didn't have the read/write premissions, but there is a way to fix it using sudo chown forgejo:forgejo /etc/forgejo -R

idk how to do it in docker tho