Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Forge Self-Hosting Forge Self-Hosting
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Packages & Registries
    • Packages & Registries
    • Infrastructure Registry
  • Wiki
    • Wiki
  • Activity
Collapse sidebar
  • forge
  • Forge Self-HostingForge Self-Hosting
  • Wiki
  • Home

Home · Changes

Page history
Create home authored Nov 30, 2024 by Julian Foad's avatar Julian Foad
Show whitespace changes
Inline Side-by-side
Showing with 100 additions and 0 deletions
+100 -0
  • home.md home.md +100 -0
  • No files found.
home.md 0 → 100644
View page @ e800976d
# ForgeFed packaging: overview
- [[Trax/Projects/ForgeFed/forgefed-packaging/overview]]
- [[Trax/Projects/ForgeFed/forgefed-packaging/NGI-proposal]]
This proposal is to package software components related to the development of forge federation.
To encourage and facilitate work on forge federation, by making it easier for both developers and early adopters to host the components, by providing integrations into existing hosting frameworks.
We are talking about web service deployment packaging (like Docker, Yunohost) rather than OS-level packaging (like Deb, RPM).
**Why spend effort on this kind of packaging?**
Developers of a piece of software know how to run it locally for development and testing.
Developers integrating *multiple components* need a way to deploy them all, easily, repeatably, and with the ability to switch between variants of each (such as development and production versions).
Hosting frameworks make this job a whole lot easier.
**Why target multiple packaging formats together?**
Spread. There is a need to develop hosting systems further, across the FOSS scale, from those supporting the grass-roots FOSS developers, up to those deployed by service providers.
Efficiency. Being familiar with a particular hosting framework makes it easier to package more apps for it. Being familiar with a particular app makes it easier to package it for more hosting frameworks. Tackling the basic hosting needs in a consistent and efficient way then allows to devote effort beyond the basics, to capabilities like backup/restore, DNS/well-known configuration, single-sign-on, integration with a landing page.
## Target Components, Hosting, Capabilities
Hosting frameworks targeted:
- [Yunohost](https://yunohost.org/), popular grass-roots self-hosting system-in-a-box (Debian-based)
- [MASH](https://github.com/mother-of-all-self-hosting/mash-playbook), sibling of professional quality Matrix-docker-ansible-deploy (Docker-based)
- [SHB](https://shb.skarabox.com/)? (Nix-based)
- K8S? (K8s-based)
- [Fediversity](https://www.fediversity.eu/)? (Nix/K8s-based?)
ForgeFed components targeted, main:
- Forgejo (already in YNH, MASH)
- Vervis
- Anvil
Additional components useful in a real forge deployment:
- [Forgejo Runner](https://code.forgejo.org/forgejo/runner) (already in MASH)
- [Woodpecker CI](https://woodpecker-ci.org/) (server + agent) (already in MASH)
- [Weblate](https://weblate.org/) (already in YNH)
## Implementation Status
|. |YNH|MASH|SHB|K8S|
|---|---|---|---|---|
|Vervis|no|no|no|?|
|Anvil|no|no|no|?|
|Forgejo|[yes S,A,B,D,L,M](https://github.com/YunoHost-Apps/forgejo_ynh)|[yes C...](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/forgejo.md)|[yes S,A,B...](https://shb.skarabox.com/services-forgejo.html)|?|
|Forgejo-Runner|no|[yes C...](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/forgejo-runner.md)|[yes S,A,B...](https://shb.skarabox.com/services-forgejo.html)|[yes](https://codeberg.org/wrenix/helm-charts/src/branch/main/forgejo-runner)|
|Woodpecker-CI|[yes B,D,L,M](https://github.com/YunoHost-Apps/woodpecker_ynh)|[yes C...](https://github.com/mother-of-all-self-hosting/mash-playbook/blob/main/docs/services/woodpecker-ci.md)|no|?|
|Weblate|[yes B,D,L,M](https://github.com/YunoHost-Apps/weblate_ynh)|no|no|?|
Integration features:
- S. Single sign-on (SSO)
- A. Accounts managed externally (LDAP)
- B. Backup/restore
- C. Containerised
- D. DNS/well-known configuration
- L. Launcher/landing page integration
- M. Multiple installs (on different domains/paths)
## About The Components
### Forgejo Runner
[Forgejo Actions](https://forgejo.org/docs/latest/user/actions/) provides CI services, running CI jobs on (remote) agents such as [Forgejo Runner](https://code.forgejo.org/forgejo/runner) or [alternatives](https://codeberg.org/forgejo-contrib/delightful-forgejo#forgejo-actions).
Rationale for inclusion: commonly used with Forgejo.
### Woodpecker CI
[Woodpecker CI](https://woodpecker-ci.org/) consists of server and runner (agent), and performs CI services for a forge. It is an alternative to using Forgejo Actions.
Rationale for inclusion: [Codeberg offers](https://docs.codeberg.org/ci/#using-codeberg's-instance-of-woodpecker-ci) an integrated Woodpecker CI service.
Woodpecker's [Forgejo integration documentation](https://woodpecker-ci.org/docs/administration/forges/gitea)
How Libre? Apache-2/CC-BY-SA, Github, Mastodon, Matrix, Xtwitter
### Weblate
[Weblate](https://weblate.org/) provides translation and localisation services. As copy-left libre software it complements a libre forge.
Rationale for inclusion: [Codeberg offers](https://docs.codeberg.org/ci/#using-codeberg's-instance-of-woodpecker-ci) an integrated Weblate service.
How Libre? GPL, Github, Mastodon, Xtw/FB/LI...
---
#Forgejo #forgeFed #forgeFederation #selfHosted #NGI
Clone repository
  • Home