27 votes

Anyone sucessfully self-hosted Tildes instance?

I would love to self-host a Tildes instance with my domain to create a community in my native language speakers. I saw, from old posts, that it is not an easy process at all. But I really love the concept and the style of Tildes. It is better than Reddit and other Fediverse platforms.
Is there anyone who managed to host Tildes instance?

I would be so glad to have some guidance.

19 comments

  1. [3]
    Bauke
    (edited )
    Link
    I've been working on adapting the Ansible playbook that's in the Tildes repository so anyone could run it on a fresh Debian server and have a working Tildes instance after it finishes. I'd say...
    • Exemplary

    I've been working on adapting the Ansible playbook that's in the Tildes repository so anyone could run it on a fresh Debian server and have a working Tildes instance after it finishes. I'd say it's about 25% complete right now but I will also mention that it kind of assumes you're going to be running a Debian 12 server and nothing else apart from Tildes on it (which I know from my own self-hosting is unusual :P).

    I'll also add that there's a bunch of things that are currently hardcoded for tildes.net (like for example the tild.es shortlinker), so if those are things you want to work you'd have to manually change them in the code.

    But! If you really really want to give it a shot, it is possible to piece it all together using this old comment from Deimos, the Ansible playbook and the General Development Info docs. Though I'll add these tips:

    • Ignore anything about SaltStack and Pillar, those have been replaced with Ansible
    • If you want to set up a production instance ignore anything about Vagrant or VirtualBox
    • journalctl -fexu <unit name>.service is your friend
    • If you use a VPS to test on, check if they have snapshots and rollbacks (for cheap!) so you can break stuff and rollback easily (if you want my recommendation, Hetzner is easy to do this with)

    I'll try to write up an up-to-date guide this weekend that includes a base Ansible playbook you could run and have a fresh Tildes instance ready to go!

    10 votes
    1. talklittle
      Link Parent
      Piggybacking off this: There's a doc detailing the current messy manual steps of setting up a server: https://docs.tildes.community/production/manual-provision.html It's not intended to be self...

      Piggybacking off this: There's a doc detailing the current messy manual steps of setting up a server: https://docs.tildes.community/production/manual-provision.html

      It's not intended to be self hosted currently. Managing the server also requires getting hands-on with the command line and going into the database manually. It's fun for tinkering but, as has been said in other comments, not recommended for hosting a real site on it currently.

      5 votes
    2. Bauke
      (edited )
      Link Parent
      I've created a first pass on a guide together with the Ansible playbooks needed. I still need to write out the long version of the guide but for now anyone can give it a try if they like. :D You...

      I've created a first pass on a guide together with the Ansible playbooks needed. I still need to write out the long version of the guide but for now anyone can give it a try if they like. :D

      You can find it here: https://gitlab.com/tildes-community/tildes-setup-guide

      I highly highly highly recommend anyone wanting to try these out that you do it on a completely new server. And if you're going to do it on an existing server, read through every single role before you do it and understand what each step does! And make changes to it what you don't want/need, especially the initial-server-setup playbook.

      Happy hosting!

      Edit: I'll also create a proper topic for this once I'm fully done with it. :)

      2 votes
  2. googs
    Link
    I saw this post and remembered I set up the dev environment a while back and it wasn't TOO complicated. So I decided as a weekend project, I'd have a go at getting the "prod" website hosted on a...

    I saw this post and remembered I set up the dev environment a while back and it wasn't TOO complicated. So I decided as a weekend project, I'd have a go at getting the "prod" website hosted on a digital ocean droplet. And let me tell you, it was a painful process (mostly because of my lack of knowledge on ansible, vagrant, etc.)

    But! After fiddling with it, destroying droplets and recreating them 5 or 6 times, I managed to get it running! You can check it out here: https://tildes.paoloni.dev/

    This is running on a Debian 12 digital ocean droplet, dedicated compute, minimum tier (obviously this would not be enough juice for an instance with a lot of traffic)

    The big things that tripped me up:

    • First I tried to just run the dev server, per the dev environment set up instructions, and then proxy the 4443 port to make it available online. Really, you're much better off just installing everything directly on debian instead of running through vagrant/virtualbox. Vagrant is great for development; not so great for a publicly accessible instance.

    • When I originally tried to set up the dev server, I was using digital ocean's "shared compute" tier. Turns out shared compute is not so good for running a virtual machine :) The virtual machine would just randomly abort for no reason and my theory is it's because the shared compute would time out or something. Switching to dedicated compute solved this.

    • Even after switching to dedicated, the dev server/proxy pass idea was still bad, because once I finally got that up and running, I started hitting CSRF issues. I think the site did not like that I was getting the CSRF token from my outside domain, but then trying to use it with the internal localhost:4443. Something to that effect.

    • Finally, I figured out how to avoid vagrant and run the ansible playbook directly (this was the way). At first I ran the playbook on the same machine that I intended to host the server. This went okay, but I couldn't get it to complete (one of the postgres steps didn't work with --connection=local). To get around this, I set up a second debian droplet to use as the "ansible control node". I kicked off the playbook from there, targeting the original server as the host to deploy to.

    • There were other small things along the way, the occasional missing package (needed to install build-essential and python3-dev manually for instance), Nginx not starting because I didn't have certs generated, etc.

    Overall, for a weekend project, I think it's definitely doable for someone to set up if they have the Linux know-how. With that said, running a real instance where you expect real users I think would be a much greater undertaking and would only really be worth it for someone that is dedicated to fixing issues, making it work, updating hard coded values in code, paying for hosting (!), you get the picture.

    9 votes
  3. [6]
    post_below
    Link
    As far as I know there still isn't an easy way to self host the Tildes software. Without developer level knowledge you'd be spending a bunch of time learning the technologies involved, while...

    As far as I know there still isn't an easy way to self host the Tildes software. Without developer level knowledge you'd be spending a bunch of time learning the technologies involved, while getting a lot wrong along the way.

    There are lots of other open, and closed, source options for self hosting a forum. You'd probably be better off trying one of those.

    There are new contributors to the Tildes project recently though, so a more user friendly process could happen at some point.

    7 votes
    1. [5]
      dostoynikov
      Link Parent
      That is sad to hear :( Would you mind suggesting some other options similar to Tildes and easy to self host?

      That is sad to hear :(

      Would you mind suggesting some other options similar to Tildes and easy to self host?

      3 votes
      1. [3]
        post_below
        Link Parent
        It's been a while since I've setup a forum so there are probably a lot of solutions I'm not aware of. Here are a handful to maybe get you started: Discourse. Popular, open source and can be self...

        It's been a while since I've setup a forum so there are probably a lot of solutions I'm not aware of. Here are a handful to maybe get you started:

        • Discourse. Popular, open source and can be self hosted. As far as I know it doesn't do Tildes/Reddit/HN style nested comments out of the box but can likely be customized to do it via plugins. Installation needs some tech knowledge but their docs are comprehensive

        • Flarum. Relatively easy to setup, solid code, simple, modern interface, fairly active development. Downside: Does sequential rather than nested comments. I haven't used it in a while, very possibly there's a plugin to add tree style comments by now.

        • Talkyard. Has nested comments, though not quite in the same style as Tildes/Reddit/HN. Possibly the tech knowledge to set it up could be daunting (Linux, bash, git, docker).

        • PhPBB. The granddaddy of them all. Fairly easy to install. Can be customized to do pretty much anything. Possibly overkill for your needs in terms of complexity. The codebase and default UI are ancient, and I haven't used it or looked under the hood in ages, but as I recall it's good enough.

        • Lemmy. I feel like this one has to be mentioned even if I wouldn't recommend it to beginners. Basically a reddit clone for the fediverse. I've never setup lemmy so I can't say for sure but generally speaking you need some dev knowledge to setup and run fediverse apps.

        8 votes
        1. luka
          Link Parent
          Lemmy is pretty straightforward to set up. It requires basic technical literacy (knowing how to use CLI) but I set it up with a step by step guide that worked out of the box.

          Lemmy is pretty straightforward to set up. It requires basic technical literacy (knowing how to use CLI) but I set it up with a step by step guide that worked out of the box.

          3 votes
        2. jherazob
          Link Parent
          Mbin is another Reddit-like Fediverse alternative

          Mbin is another Reddit-like Fediverse alternative

      2. pseudochron
        Link Parent
        For an open-source Reddit-style site, I would say Lemmy is the best option. I host an instance that I set up using the Docker method, and it wasn't that difficult even though I didn't have much...

        For an open-source Reddit-style site, I would say Lemmy is the best option. I host an instance that I set up using the Docker method, and it wasn't that difficult even though I didn't have much Linux hosting experience or any Docker experience. There's also an active Matrix chat room with developers and instance admins that can help troubleshoot any problems you run into.

        Years ago I've set up phpBB forums too, those were very easy to install, basically just extract a zip file to your FTP folder and navigate to the admin page and it walks you through the setup.

        One factor to keep in mind is whether you have your own dedicated server, or are just renting some space on shared hosting. Shared hosting is cheaper but for Lemmy you would need a VPS, one powerful enough for a small instance is like $10/month.

        1 vote
  4. unkz
    Link
    I had heard that the (now abandoned) fork had a functioning docker config, maybe check that out.

    I had heard that the (now abandoned) fork had a functioning docker config, maybe check that out.

    3 votes
  5. aphoenix
    Link
    Here is some official information on how development is progressing on Tildes. Notably, @talklittle and @Bauke have been added as maintainers. One of the notable items is that Docker support is...

    Here is some official information on how development is progressing on Tildes. Notably, @talklittle and @Bauke have been added as maintainers.

    One of the notable items is that Docker support is likely coming to the official Tildes repo. This means that it will likely be easier to start doing so in the future. It is possible to get it working the OG way - at one point in the distant past I had set it up and got it mostly functional (I'm going to guess this was 5+ years ago). I don't personally recommend going this route; while it is very well engineered, it's not really what you want to do for a fast-and-easy setup.

    3 votes
  6. [6]
    mild_takes
    (edited )
    Link
    Here is a doc on how to setup a development version of tildes. I'm not sure how it differs from production (other than being in a VM obviously) so I don't how you'd go from that to production. I...

    Here is a doc on how to setup a development version of tildes. I'm not sure how it differs from production (other than being in a VM obviously) so I don't how you'd go from that to production.

    I was kind of interested in setting up a tildes instance as well and was thinking about it again recently. I more want to learn than to actually run a full blown site, but I also feel like having users and that kind of thing would be part of the learning experience at some point.

    @post_below mentions other forum software and honestly... screw that. This format being pretty similar to old.reddit but updated to not suck on mobile... its way better than the typical forum solutions we're used to seeing.

    When I get some time in the coming weeks I'm going to try firing up that VM dev environment and then I'm going to see if I can figure out how to get it working outside of that dev environment, hopefully on a raspberry pi(s).

    How hard could it be? /s

    2 votes
    1. [3]
      updawg
      Link Parent
      I wasn't even able to get that set up, even with @talklittle fixing the dev environment to make it easier on Windows for me 😂 maybe someday...I really want to implement tagging your own comments!

      Here is a doc on how to setup a development version of tildes

      I wasn't even able to get that set up, even with @talklittle fixing the dev environment to make it easier on Windows for me 😂 maybe someday...I really want to implement tagging your own comments!

      1 vote
      1. [2]
        slade
        Link Parent
        Out of curiosity, what didn't work?

        Out of curiosity, what didn't work?

        2 votes
        1. updawg
          Link Parent
          I really don't remember (or possibly even know) specifically.

          I really don't remember (or possibly even know) specifically.

          1 vote
  7. rodrigo
    Link
    A couple years ago I was in the same position. After researching alternatives, we decided to leverage a WordPress blog I have since 2013 and develop a plugin to add a Tildes/Hacker News feature....

    A couple years ago I was in the same position. After researching alternatives, we decided to leverage a WordPress blog I have since 2013 and develop a plugin to add a Tildes/Hacker News feature. It’s not straight forward to install, but it’s quirks are easy enough to figure out. It’s called Órbita.

    2 votes