26 votes

Self-hosting Tildes?

Any how to that explains how to selfhost Tildes? I checked gitlab page, but it doesn't explain how?
I would love to start a local community in my native language based on Tildes.

38 comments

  1. [10]
    Deimos
    Link
    I honestly wouldn't recommend this. Tildes is not a "turnkey" system at all. It's possible to host your own instance, but it will require a lot of work and will probably be very difficult unless...

    I honestly wouldn't recommend this. Tildes is not a "turnkey" system at all. It's possible to host your own instance, but it will require a lot of work and will probably be very difficult unless you're intimately familiar with all of the tech being used, because you'll most likely need to read the code to see how some things work, do manual database updates for certain tasks, and so on.

    Like @katana mentions, some of the pieces are also quite outdated (and there are some minor updates I've made to the production server that aren't reflected in the open-source version). With the renewed interest in the site and people wanting to try to contribute to development, I'm probably going to try to do a more extensive update of the setup fairly soon to improve a few of the rough edges, but it won't really make the administrative stuff less complex.

    And as @WarrickSothr said, improving this is a hard thing to prioritize. It would require a lot of work to make it into something that's straightforward to self-host, and almost all of that work would have no benefits for Tildes itself. I'm certainly not opposed to people running their own instance if they want to, but it's not one of the primary goals of the code being open-source, and I don't personally intend to devote a lot of effort towards it.

    33 votes
    1. [3]
      gf0
      Link Parent
      Is there per chance any interest in providing a Nix package for Tildes? That would make the build deterministic and easily reproducible anywhere, and would only "cost" from the technical...

      Is there per chance any interest in providing a Nix package for Tildes? That would make the build deterministic and easily reproducible anywhere, and would only "cost" from the technical standpoint a flake.nix and a flake.lock file, that's all -- if for no other benefit, such a file self-documents the build process, so the README can never go out of sync with the codebase. People then could just issue nix shell on linux (and maybe Mac) to drop into an equivalent shell what other developers use.

      But to expand the question a bit (going slightly offtopic) -- how best could one help the project? I have looked at the repository, including the contribution file, but is going under reported issues, verifying that no one else works on them (and of course that this feature/issue is actually a problem and someone wants it fixed) the best way to go at it? Or is there a bit more detailed roadmap of features that would require more work - would help be more appreciated there? Sorry if it has been already answered.

      Nonetheless, thank you for the site, I thoroughly enjoy using it and would really like to give back a bit to it. The frontend is especially great and very ahead of other similar offerings, in my opinion.

      9 votes
      1. [2]
        Deimos
        Link Parent
        I don't have any knowledge of Nix myself, or any particular interest in learning it. To confirm though, it would only help with package installation, right? Not all of the other configuration and...

        I don't have any knowledge of Nix myself, or any particular interest in learning it. To confirm though, it would only help with package installation, right? Not all of the other configuration and setup that Ansible is doing?

        As for how to help overall, it's hard to say. The repo has a ton of issues and is probably closer to a collection of suggestions. It could really use a full pass through everything to clean them up, close ones I wouldn't want to implement, try to prioritize them, etc. That will be quite a job (for me) though.

        At this point, the safest ones to work on might be anything more on the "bug" side of things, since those are usually more clearly defined and wanted. That's not nearly as interesting as working on a new feature though, so I don't know how motivating that will be for you or anyone else. If there's something specific that you'd be interested in working on you can definitely talk with me about it and we can figure out if it would be good.

        10 votes
        1. Bauke
          Link Parent
          I can't speak to everything that Tildes uses Ansible for right now, but Nix can definitely handle configuration and setup. NixOS is a thing after all, where /etc/ and much of the rest of the...

          I can't speak to everything that Tildes uses Ansible for right now, but Nix can definitely handle configuration and setup. NixOS is a thing after all, where /etc/ and much of the rest of the system is entirely managed by Nix.

          How difficult it would be to convert the current Ansible setup to Nix I'm not sure, but I'm sure it is possible.

          1 vote
    2. ambliopia
      Link Parent
      Thanks for your answer, maybe it's not for me even if i'm used to selfhost some things. Keep your good work, and i hope that one day we could create groups and post in other languages.

      Thanks for your answer, maybe it's not for me even if i'm used to selfhost some things.
      Keep your good work, and i hope that one day we could create groups and post in other languages.

      5 votes
    3. [4]
      Leftbones
      Link Parent
      I know Tildes is in alpha and still considered a very incomplete project, but I'm wondering, is separate instances the "end goal" of Tildes? Or is being able to host your own instance more of a...

      I know Tildes is in alpha and still considered a very incomplete project, but I'm wondering, is separate instances the "end goal" of Tildes? Or is being able to host your own instance more of a "Yes, you can do this, but only if you have a specific reason to do so" kind of thing? Like if a small group of hobbyists wanted to host their own, for example.

      Personally, I like having one instance, no fuss, no federation. That's honestly one of the biggest draws of Tildes to me over something like Lemmy.

      1 vote
      1. [2]
        admicos
        Link Parent
        I believe (I'm not exactly sure though) Tildes' licensing & open source-ness is more of a "I promise I'm not here to sell your data, and here's all you need to verify it for yourself" thing,...

        I believe (I'm not exactly sure though) Tildes' licensing & open source-ness is more of a "I promise I'm not here to sell your data, and here's all you need to verify it for yourself" thing, rather than an invitation to selfhost an instance of it.

        It also allows for the community to help develop the site as well, but I think that just happened as a side effect rather than an intentional choice. I expect to be proven wrong though.

        4 votes
        1. Leftbones
          Link Parent
          I like the licensing and open source-ness of it all, I am just really hoping that Tildes doesn't go the way of the "Fediverse", that's all. I kind of doubt it would, because it deliberately...

          I like the licensing and open source-ness of it all, I am just really hoping that Tildes doesn't go the way of the "Fediverse", that's all.

          I kind of doubt it would, because it deliberately doesn't use the same platform as Mastodon/Lemmy, so as far as I know, it would only work with other Tildes instances.

      2. Deimos
        Link Parent
        It's definitely not a goal to have separate instances. People can set one up if they want to, or use the code as a base to make their own customizations on top of (as long as they open-source...

        It's definitely not a goal to have separate instances. People can set one up if they want to, or use the code as a base to make their own customizations on top of (as long as they open-source their changes too, as the AGPL requires). But like I said, it might be difficult and it hasn't been built with much consideration towards that type of usage.

        4 votes
    4. pyeri
      Link Parent
      I once tried to peek into the gitlab source code to understand the tech used. It's not even Flask or Django but some ancient dialect of pylons/pyramids which is a "Neanderthal" python framework...

      I once tried to peek into the gitlab source code to understand the tech used. It's not even Flask or Django but some ancient dialect of pylons/pyramids which is a "Neanderthal" python framework you'll hardly come across anyone using these days, isn't it!

  2. [12]
    weystrom
    Link
    Previous related thread: https://tildes.net/~tildes/10bw/how_to_install_serve_tildes_directly_on_a_vps TL:DR - you're probably better off hosting Lemmy

    Previous related thread: https://tildes.net/~tildes/10bw/how_to_install_serve_tildes_directly_on_a_vps

    TL:DR - you're probably better off hosting Lemmy

    21 votes
    1. [8]
      ambliopia
      Link Parent
      I really like Tildes

      I really like Tildes

      17 votes
      1. [7]
        gt24
        Link Parent
        Another alternative that may be more similar to Tildes is Postmill. Installation directions are at the second link. https://postmill.xyz/...

        Another alternative that may be more similar to Tildes is Postmill. Installation directions are at the second link.

        https://postmill.xyz/

        https://gitlab.com/postmill/Postmill/-/wikis/getting-started

        Just to make sure we are on the same page, self hosting likely means that you will be on your site with nobody else. Creating a whole new community can be a rather difficult task.

        14 votes
        1. [6]
          ambliopia
          Link Parent
          I already knew Postmill before Tildes, but after getting an invite and knowing better Tildes i prefer Tildes. But if that's too hard to install then i'll forget it. The goal was to create a...

          I already knew Postmill before Tildes, but after getting an invite and knowing better Tildes i prefer Tildes. But if that's too hard to install then i'll forget it.
          The goal was to create a community and yes i know that can be hard.

          2 votes
          1. Arman
            Link Parent
            Dude I've been trying, too. I couldn't even get the docker version of saiddit to work :\

            Dude I've been trying, too. I couldn't even get the docker version of saiddit to work :\

            1 vote
          2. [4]
            Ren_Hoek
            Link Parent
            Can't you create a new group called German? Then German.sausage and german.cars, why start from scratch

            Can't you create a new group called German? Then German.sausage and german.cars, why start from scratch

            1. [3]
              ambliopia
              Link Parent
              Create a group where? Here on Tildes? Only the admin can create groups. And i'm not german.

              Create a group where? Here on Tildes? Only the admin can create groups. And i'm not german.

              3 votes
              1. [2]
                Ren_Hoek
                Link Parent
                Oh, I though everyone was an admin. Who needs to create a group

                Oh, I though everyone was an admin. Who needs to create a group

                1. ambliopia
                  Link Parent
                  I read that after a week everyone has some moderator powers, like changing post titles and tags, not admin powers.

                  I read that after a week everyone has some moderator powers, like changing post titles and tags, not admin powers.

    2. [3]
      airsay
      Link Parent
      Even lemmy isn't that straight forward to host. Tried a local setup on my LAN and it failed

      Even lemmy isn't that straight forward to host. Tried a local setup on my LAN and it failed

      2 votes
      1. [2]
        takeda
        (edited )
        Link Parent
        There's also https://kbin.pub/, it seems like it might be easier to set up. It also seems like it federates with lemmy. Edit: Seems like NixOS has support for Lemmy. That means it might be as...

        There's also https://kbin.pub/, it seems like it might be easier to set up. It also seems like it federates with lemmy.

        Edit: Seems like NixOS has support for Lemmy. That means it might be as simple as enabling these options and it will take care of the rest: https://nixos.org/manual/nixos/stable/index.html#module-services-lemmy

        Of course the disadvantage is that most people might not want to switch distro.

        2 votes
        1. airsay
          Link Parent
          Yeah I got kbin to install with some tweaks to the installation instructions on the repo. Still some reservations about how it is administered. But we’ll see.

          Yeah I got kbin to install with some tweaks to the installation instructions on the repo. Still some reservations about how it is administered. But we’ll see.

          1 vote
  3. [12]
    allgedo
    Link
    Not to be dismissive but if you can't decipher the vagrant file as recommended by the docs you may rethink if you are fit to selfhost something on the public internet.

    Not to be dismissive but if you can't decipher the vagrant file as recommended by the docs you may rethink if you are fit to selfhost something on the public internet.

    16 votes
    1. [6]
      NaraVara
      Link Parent
      Gotta learn somehow.

      Gotta learn somehow.

      40 votes
      1. [5]
        allgedo
        Link Parent
        Eventually but before that maybe in a confined environment like a lan

        Eventually but before that maybe in a confined environment like a lan

        2 votes
        1. [3]
          lucg
          Link Parent
          If it's a single-purpose VPS you rent somewhere, so long as everyone's aware that this is your first project, there's little risk to also invite others onto it. Doesn't need to be confined to LAN,...

          If it's a single-purpose VPS you rent somewhere, so long as everyone's aware that this is your first project, there's little risk to also invite others onto it.

          Doesn't need to be confined to LAN, one should just consider what the impact of a breach is.

          16 votes
          1. NaraVara
            Link Parent
            Yeah. As a general rule of thumb I don’t share many personal details on publicly crawled social media even when I trust the admin (like here). So that’s a general rule to live by to limit your...

            Yeah. As a general rule of thumb I don’t share many personal details on publicly crawled social media even when I trust the admin (like here). So that’s a general rule to live by to limit your personal exposure to a data breach on anything you use.

            5 votes
          2. allgedo
            Link Parent
            Sensible answer but how often do you see such disclaimers? Stuff is run anyway and promoting reckless behavior (i don't know op's background) may be bring a result we already see. Everything is...

            Sensible answer but how often do you see such disclaimers? Stuff is run anyway and promoting reckless behavior (i don't know op's background) may be bring a result we already see. Everything is run by corporate because before was the wild west.

            2 votes
        2. NaraVara
          Link Parent
          I think as long as there isn’t anything sensitive on there you’re good. If it turns out to be too much to handle I guess you can always pull the ripcord and can the project.

          I think as long as there isn’t anything sensitive on there you’re good. If it turns out to be too much to handle I guess you can always pull the ripcord and can the project.

          2 votes
    2. [3]
      Comment deleted by author
      Link Parent
      1. [2]
        Comment deleted by author
        Link Parent
        1. R51
          Link Parent
          Hey, just curious, why does Tildes have so many dependencies? I was wondering are they all to deal with scale or? It looks simple enough, aside from the great design but that's mostly javascript...

          Hey, just curious, why does Tildes have so many dependencies? I was wondering are they all to deal with scale or? It looks simple enough, aside from the great design but that's mostly javascript and css magic.

      2. allgedo
        Link Parent
        Yeah i would have. Because it's not 2000 anymore and the internet isn't the same place as it was back then. Nowadays you are hacked the minute you bring vulnerable stuff online. He could run it on...

        Yeah i would have. Because it's not 2000 anymore and the internet isn't the same place as it was back then. Nowadays you are hacked the minute you bring vulnerable stuff online.

        He could run it on a local network or use a vpn/lan service and have a safe environment to learn. I did encourage him to try it in another comment. I did just explicitly say the "public internet" shouldn't be the thing to start at

        4 votes
    3. [3]
      ambliopia
      Link Parent
      Isn't vagrant only for development? I think the deployment is based on ansible, and i'm not confortable with that, i'm more used to docker

      Isn't vagrant only for development? I think the deployment is based on ansible, and i'm not confortable with that, i'm more used to docker

      3 votes
      1. automaton
        Link Parent
        Ansible is used to automate deployments, but there are no dependencies on it for hosting regardless of stack. I would say if you're asking this question you may not (yet) be technical enough for...

        Ansible is used to automate deployments, but there are no dependencies on it for hosting regardless of stack.

        I would say if you're asking this question you may not (yet) be technical enough for this endeavour. That said, attempting to self-host Tildes is a great way to learn!

        Personally I would start by following the linked docs and setting up the dev environment, just to learn.

        12 votes
      2. allgedo
        Link Parent
        Sorry there's no easier way as to translate the ansible commands to docker. But others could profit of this so go for it. Asking for help on the way is encouraged

        Sorry there's no easier way as to translate the ansible commands to docker. But others could profit of this so go for it. Asking for help on the way is encouraged

        1 vote
  4. WarrickSothr
    Link
    Documentation on running Tildes seems to be an area where we as a community might be able to help. Deimos has the documentation static site source code hosted here -...

    Documentation on running Tildes seems to be an area where we as a community might be able to help.

    Deimos has the documentation static site source code hosted here - https://gitlab.com/tildes/tildes-static-sites - and seems to be open to contributions. However some of that documentation instead encourages use of the wiki attached to tildes directly - https://tildes.net/~tildes.official/wiki - so I am unsure which is the best place for documentation on running tildes.

    One of my concerns with writing documentation around self hosting is that once self hosting is encouraged and well documented, there will be pressure for development of features that might not benefit the first community (tildes.net) or development will be forked and the community will splinter. Having contributed to open source projects before, I am cautious to suggest lowing the barrier or entry to running personal versions of tildes with the community right now. Support requests around hosting issues and technical support will grow drastically and we'd need to be ready as a community to support answering those requests. Here are some of the things to think about when lowering the barrier of entry to self hosting software.

    • Reliable database upgrades with well documented data recovery processes (Forum and forum analogs like tildes are troves are knowledge and community, strong guarantees around data integrity and provenance are a must)
    • Strong operational documentation around how to backup important resources (databases, file stores, custom templates), debug errors, and required regularly scheduled maintenance.
    • Clear expectations around support ticket format and where to ask for help along with volunteers to keep people honest about the process and provide consistency.

    I'm not opposed to helping out with such an effort as this overlaps with a significant amount of my professional experience and I want to give back to the community. I do suggest that if this is something we as a community want to encourage, that we work with @Deimos to understand the support that will be needed to make this a net benefit to the first community (tildes.net).

    6 votes
  5. [3]
    lucg
    Link
    Which language is that? I live and work in Germany but reddit was pretty much the only place in which I get any amount of exposure to the German language, so now that that's gonna drop, I was...

    Which language is that?

    I live and work in Germany but reddit was pretty much the only place in which I get any amount of exposure to the German language, so now that that's gonna drop, I was looking for where else I could practice reading and writing on topics that interest me. If it turns out you were looking to set up a German community, that would be a great coincidence and I'd be very happy to help set it up! (The instructions on gitlab look very easy to me)

    Also if it's not about German, feel free to shoot me questions in PM or so, but then I'd probably not be involved in the project beyond the setup and it's likely that others here have more experience with tildes than me

    7 votes
    1. ambliopia
      Link Parent
      Sorry, i'm portuguese. If you decide to set up a tildes instance, please share your steps

      Sorry, i'm portuguese. If you decide to set up a tildes instance, please share your steps

      7 votes
    2. [2]
      Comment deleted by author
      Link Parent
      1. R51
        Link Parent
        I never even considered that there were subs speaking different languages, that sounds like a reaaaally good idea. Like for people trying to learn a language. Actually communicating is what does...

        I never even considered that there were subs speaking different languages, that sounds like a reaaaally good idea. Like for people trying to learn a language. Actually communicating is what does the trick after all.

        1 vote