Skip to content

Community Edition Services Removal/Migration #384

@Exairnous

Description

@Exairnous

Preamble

The services, and/or their configuration, required to run Hubs Community Edition were copied into the community-edition/services folder within this repository in order to ensure that a working Hubs Community Edition instance could be set up. However, it makes more sense for the services to be removed from here (any that don't already have a repository should have one created for them) and replaced with references to the full repositories (either by using git submodules, or a script that clones them as Hubs Compose does) since several of the current services are now outdated, others are likely to follow, and some needed services don't have their own repositories to track changes specific to them or facilitate non Community Edition setups.

For the most part, this is a straightforward enough task, however there are some discrepancies between what is present in community-edition/services and what was present in the repositories at the time the services were copied over (i.e. some stuff was added to the services in community-editon/services that didn't get added to the full repositories and some things were changed to make building the Docker images easier). I have gone through the community-edition/services and compared any that have full repositories to the state of the full repositories at the time they were copied over and noted the differences that were introduced.

The (Proposed) Plan

The following is what I think should be done with the services in community-edition/services and the discrepancies I have identified, along with other relevant notes:

  • certbotbot (transfer/create)

    • This should be transferred to a full repository (it doesn't have one, so one will need to be created).
    • PRs:
      • placeholder
  • coturn (transfer/create)

    • This is the configuration for creating Docker images and running coturn in a Community Edition instance.
    • It doesn't have it's own repository yet (although there is a fork of the coturn source code with some custom branches, one of which was merged into the upstream coturn), so it should be transferred to a full repository (probably named something like coturn-ce-config to prevent confusion).
    • There have been reports that it doesn't work at present; this could be because the last Mozilla Docker image used the May 24th 2022 release of coturn (4.5.2-r12), so it's possible the Dockerfile may need to be updated to reference the old coturn image.
    • PRs:
      • placeholder
  • dialog (remove/update)

  • haproxy (transfer/create)

    • This should be transferred to a full repository (it doesn't have one, so one will need to be created, possibly with a name like haproxy-ce-config).
    • Note: The HAProxy version should be confirmed to work with the latest edition of Hubs before removing this service folder and marking this as done. So adding the Docker Hub deployment for HAProxy in Update Docker Hub deployment for all Community Edition service repositories .github#9 should be done before the removal.
    • PRs:
      • placeholder
  • hubs (remove/update)

    • This seems to be mostly the same as the full repository, except the Docker file was renamed and there's a changelog.sh script that was added to the service -- although changelog.sh only works in the full repository and needs fixes, e.g. the line 14 exit needs to be removed.
    • Something will need to be done with the full repository Docker file and the community-edition/services/dockerbuildall.sh convenience script so that they will work together (likely the Docker file in the full repository should be renamed to the standard Dockerfile, but this will require updates to our GitHub Actions as well).
    • Once the full repository has been updated, this should be removed.
    • PRs:
      • placeholder
  • nearspark (remove/update)

    • This seems to be mostly the same, except app.js in the full repository is guarded with a try/catch and doesn't have some commented code (we can probably leave this alone and go with the version in the full repository), and the package.json was renamed from package.turkey.json (we should probably use the full repository's package.json, but we may want to add the updated dependencies from package.turkey.json).
    • Once the full repository has been updated (if needed), this should be removed.
    • PRs:
  • pgbouncer (transfer/create)

    • This should be transferred to a full repository (it doesn't have one, so one will need to be created, probably named something like pgbouncer-ce-config to prevent confusion).
    • PRs:
      • placeholder
  • photomnemonic (remove)

  • postgres (transfer/create)

    • This should be transferred to a full repository (it doesn't have one, so one will need to be created, possibly with a name like postgres-ce-config), and possibly updated to use version 13.
    • Note: The Postgres version should be confirmed to work with the latest edition of Hubs before removing this service folder and marking this as done. So adding the Docker Hub deployment for Postgres in Update Docker Hub deployment for all Community Edition service repositories .github#9 should be done before the removal.
    • PRs:
      • placeholder
  • postgrest (transfer/create)

    • This should be transferred to a full repository (it doesn't have one, so one will need to be created, possibly with a name like postgrest-ce-config).
    • Note: The PostgREST version should be confirmed to work with the latest edition of Hubs before removing this service folder and marking this as done. So adding the Docker Hub deployment for PostgREST in Update Docker Hub deployment for all Community Edition service repositories .github#9 should be done before the removal.
    • PRs:
      • placeholder
  • reticulum (remove/update)

    • This seems to be mostly the same as the full repository, except the Docker file was renamed and there's a changelog.sh script that was added to the service -- although changelog.sh only works in the full repository and needs fixes, e.g. the line 14 exit needs to be removed.
    • Something will need to be done with the full repository Docker file and the community-edition/services/dockerbuildall.sh convenience script so that they will work together (likely the Docker file in the full repository should be renamed to the standard Dockerfile, but this will require updates to our GitHub Actions as well).
    • Once the full repository has been updated, this should be removed.
    • PRs:
      • placeholder
  • speelycaptor (remove)

    • There are no differences between this and its full repository, so it should just be removed.
    • PRs:
      • placeholder
  • spoke (remove/update)

    • This seems to be mostly the same as the full repository, except the Docker file was renamed.
    • Something will need to be done with the full repository Docker file and the community-edition/services/dockerbuildall.sh convenience script so that they will work together (likely the Docker file in the full repository should be renamed to the standard Dockerfile, but this will require updates to our GitHub Actions as well).
    • Once the full repository has been updated, this should be removed.
    • PRs:
      • placeholder
  • Service Reintegration

    • Once all the services have been removed, they should be relinked from the full repositories (either by using git submodules, or a script that clones them as Hubs Compose does) and the community-edition/services/dockerbuildall.sh updated, if needed, to work with the relinked services. community-edition/services/readme.md will also need to be updated. UPDATE: the ## Building from Source section (introduced in #395) in the community-edition/readme.md will also need to be updated as well.
    • PRs:
      • placeholder

Historical notes

2026-05-12: It was originally planned that the non-customized 3rd-party postgrest, postgres, and haproxy services would have the official versions of their Docker images referenced directly in the community-edition/input-values.yaml file in this repository as overrides, rather than transferring the wrapping Dockerfiles to full repositories to build Hubs Foundation versions for them; however, it was decided at the 2026-04-21 Hubs Dev Meetup that it would be a better user experience to build Hubs Foundation Docker images of the non-customized 3rd-party services so that they can be updated at any time without requiring a release/update of the Community Edition deployment scripts.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Roadmap: ProgrammingIndicates that this issue/pull request is on the Programming Team roadmapTracking IssueLabel for issues that are used as a central place to coordinate larger pieces of work

    Type

    No fields configured for Task.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions