Hello!

I’ve been thinking about hosting my own Lemmy instance, but wonder if there’s an easy way to federate with other communities/instances. I like to browse the “All” tab, but that tab would be empty on a self-hosted instance I imagine.

Is there a way to get all communities of certain instances in my All feed? Or do I have to search up each individual community manually once?

  • retiolus@lemmy.cat
    link
    fedilink
    arrow-up
    12
    ·
    1 year ago

    I don’t think there’s a way of doing this automatically at the moment.

    With Lemmy’s API you could set up a bot that takes care of listing all the local communities on a remote server and then searching them from yours, which would make them appear in your search results.

    But if you want the publications of this remote community to federate with your server, you need to have a local user subscribed to it.

    • Jamie@jamie.moe
      link
      fedilink
      arrow-up
      13
      ·
      1 year ago

      I’m working on a Rust API wrapper around the existing common API to make it easier to use. Implemented the calls that could let someone do this exact thing at scale last night.

      It’s nowhere near ready for production and is still missing a lot of basic API functionality even for a simple bot, but I think it’ll be ready to publicly release in an alpha state within the next couple days.

      • curioushom@lemmy.one
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        That’s neat. Is the idea that the bot user would enumerate and then subscribe to the communities found through the Lemmy API?

        • Jamie@jamie.moe
          link
          fedilink
          arrow-up
          2
          ·
          1 year ago

          Pretty much, that would force federation. Though I don’t think users in the other community would see your communities until someone from there searched one of yours.

          An idea I have is giving small communities an option to run the bot on their instance, and it would add them to a list. Then, communities voluntarily participating in that list could auto-populate each other’s communities through the bot. I could see spammers abusing something like this to try and flood feeds with garbage content until they’re defederated though, especially on instances with open registration, so there is a downside. But that’s something the community of proper users will need to be prepared to fight down the road.

          • curioushom@lemmy.one
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            Yeah, that’s a slippery slope. I think that federating to receive content from an instance is fundamentally different than making your content show up on a instance that didn’t ask for it. I definitely see the value your implementation would bring to new/single-user instance to populate the feed. Good luck!

    • Lauchmelder@feddit.deOP
      link
      fedilink
      arrow-up
      7
      ·
      1 year ago

      Ah, so someone needs to be actually subscribed to a community for their content to show up in All?

      Alright I guess I’ll have to write a simple Bot that can do that for me then

          • fazo96A
            link
            fedilink
            arrow-up
            4
            ·
            1 year ago

            I also run a self hosted instance so I would be interested in a bot that stays subscribed to communities I want “synced” into my instance without me also being subscribed

          • oranki@sopuli.xyz
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            My first thought was also to make a bot that does this, give it a list of servers and it subscribes to all communities on those servers.

            Perhaps a subscriber limit, not subscribing to communities with less than X users might be useful. Not sure if that’s necessary though.

            Haven’t gotten around to it yet, but I think the Lemmy API has everything needed to do that. If you want a second pair of eyes on the code, reach out!