Plenty of us are using Docker, Podman, Incus, chroot jails, etc to isolate services.

It has become good practice and it makes setting up yet another service, usually, so convenient.

Some services like YunoHost, StartOS, Cloudron and others try to facilitate the process.

What I haven’t seen though is a way to facilitate interoperability BETWEEN services we self-host. Sure there are plugins for each service, e.g. https://www.npmjs.com/package/peertube-plugin-livechat to provide XMPP chat for PeerTube, or anecdotal discussions e.g. https://github.com/jitsi/jitsi-meet/issues/7601 to embed PeerTube on Jitsi Meet.

So… how do YOU do it? How do you make on self-hosted service with another? Do you check after each one you install in the plugin category? Do you write your own plugins or extensions? Do you have a design pattern (e.g. Swagger API discovery with token generation per service, “cheat” via sockets, use a dedicate new service or even host) which you repeat?

I do ask because I bet most of you have a moment like this :

  • Hey how about we start this new project together?
  • Yes, let’s change the World!
  • OK let’s write manifesto.md
  • Where are we going to host it?
  • Hmmm we could use my Cryptpad instance…
  • OK but I don’t get notification on my GMail, could we use GoogleDocs instead?

So… I feel like FLOSS self-hosting is honestly on-par functionality-wise with proprietary solutions. I might be bias but it’s rare when I think “Damn… that’s cool, shame I can’t have it at home”. I can nearly always (in fact I have a hard time thinking of an example) self-host functional equivalent solutions myself. The ONE thing that I feel is often missing is integration which relies on interoperability.

How do YOU it?

PS: this isn’t about ntfy, PeerTube, HA or any specific service to a specific problem, it’s about HOW to facilitate, when one wants to, already great services work together.

  • Tolookah@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    1
    ·
    18 hours ago

    My process typically goes: ooh, shiny new service!
    If it has a docker compose, I’ll read up a little more on it, then set it up.
    At that point, I’ll cry a bit in having to change my nginx config, because it’s new and unsupported, figure out what’s actually needed, then realize I didn’t set it up with authentik or even check if it was supported.
    Usually I’ll dig around and someone got something close, so I’ll set it up that way, and if it works, great! If not, dig through the documents.

    Any further interoperability is luck based.

    (I’m currently trying to get element-call working before I open it to my family, the whole matrix stack is leaving me scarred )

    • utopiah@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      15 hours ago

      Yes I can relate to the process.

      Any further interoperability is luck based.

      Unfortunately I can relate to that, hence the question here :D