Implement an online workspace for codeberg?
See https://gitpod.io/#https://github.com/go-gitea/gitea for a demo (requires GitHub account).
Gitpod is Open-Source on https://github.com/gitpod-io/gitpod which is just a
terrible backend management for Theia https://github.com/eclipse-theia/theia which is optimized to be deployed on Kubernetes using docker workspaces that costs around 0.03~0.43USD/hour for one user on Google Kubernetes Engine GKE that provides around 100 USD for free to establish the project so theoretically if we have the community we can deploy this for free https://www.gitpod.io/self-hosted/
The issue with gitpod is that it's very limited as it's using very insane configuration of Docker that doesn't allow for a root permission https://github.com/gitpod-io/gitpod/issues/39 and VM support https://github.com/gitpod-io/gitpod/issues/1251#issuecomment-589881514 that prevents various development i.e android https://github.com/gitpod-io/gitpod/issues/1273
I was working on GitPod https://github.com/gitpod-io/gitpod/blob/52660b5ad8a1456d0c28de3833216b8971af0c38/components/image-builder/workspace-image-layer/gitpod-layer/amazon/gitpod/layer.sh#L6 so i would be happy to help you re-implement this to be integrated with Gitea as Typefox is incompetent to resolve the mensioned issues, ignore code quality and the work environment is not ideal.
The working theory how to implement it is to either self-host (requires scheduler optimization) or use OpenShift Kubernetes provider that allows VM Containers that are cheaper compared to GKE and allow for a sane root without the need of lots of weird wrappers.
Depending on the implementation we could also implement a web terminal (possible with VNC to get graphical output) to be reachable via the webUI to run emacs,vim,nano, etc.. and/or allow remote SSH that is configurable per repository.
Relevant: Emacs-ish distribution optimizzed for web browser https://github.com/karlicoss/cloudmacs
In terms of emacs there are problems with:
- it hanging i.e it might wait for a user-input indefinetly
- It's not optimized to be used in mission critical environment so the deployment of it should be handled appropriately
These issues can be resolved through making a merge request to GNU Emacs upstream quite easily and i am partially working on these in https://github.com/RXT0128/RXT0128 and https://github.com/Kreymacs/Kreymacs
Worth mentioning: By using VM containers we are sacrificing on the deployment speed as the invidual tasks in docker can be cached, but there are options that can be implemented as well i.e using docker within the VM-container and/or caching the steps withint the used VM container i.e using vagrant https://www.vagrantup.com/
Are you suggesting Codeberg should host an online workspace? @n
Yes! As codeberg can do that at 0 cost other then maintainance to provide a product that is most likely superior to gitpod and codespaces
Gitpod is not useful and sane enough to be used, but helpful for frontend development.
Deleting a branch is permanent. It CANNOT be undone. Continue?