Is there any benefit to host my own instance?

  • JCreazy@midwest.social
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 years ago

    Is the 2GB the one you use for your Lemmy server? I’m getting ready to purchase one to see if I can figure it out.

    • UselesslyBrisk@infosec.pub
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      2 years ago

      Im currently on the 4GB dedicated. However heres an htop of it.

      https://imgur.com/a/NpEsw4t

      I am currently the only user. Im considering opening it up to limited users but not really having communities once i get a lot of the instances cached and indexable.

      Others like @leopardboy@netmonkey.tech are running on a 2GB shared just fine. I will likely move to that if i choose to keep it solo for sure, or under 100 users and no communities.

      I dont have the time to really moderate others or content on the instance. So i dont think I plan to host any communities at all. I do wish you could federate/sync specific communities to your instance to make searching/subscribing easier.

      • Matt@netmonkey.tech
        link
        fedilink
        English
        arrow-up
        2
        ·
        2 years ago

        I do wish you could federate/sync specific communities to your instance to make searching/subscribing easier.

        You mean something that populates your server with a history of posts and comments to communities before your subscribe to them?

        • UselesslyBrisk@infosec.pub
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          2 years ago

          Correct. Connect to for example connect to lemmy.ml and pull their communities so it shows in your communities page locally. Dont have to sync the posts etc. Just the base stats (subs, post, comments. Basically exactly what this is doing. https://lemmyverse.net/communities

          note: I hadnt seen that page until after my comment… But im getting a lot of 404’s on specific communities, so i have to put in their ! name in search…spam that, click to open the community and subscribe.

      • JCreazy@midwest.social
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 years ago

        That’s exactly what I’m wanting to do. Just have myself and maybe a few others with limited communities. Would you recommend using ansible to setup a Lemmy on Linode?

        • UselesslyBrisk@infosec.pub
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          2 years ago

          Yes the ansible config worked fine for me. I worked for days to get an kbin instance up. Ansible worked first go.

          I have yet to get email working but otherwise its solid. Linode will block email btw if you account is new (and frankly may be blocking mine now). You just have to put in a case and justify and it should be fine. My account should be old enough to be exempt but I will likely do it anyhow. Their support is pretty good.

          Getting federation crawled and communities added is a bit slow. Mostly because the other instances are a bit slow.

          A few pointers if you havent done admin yet.

          1. Put nothing in the federation allow list unless you want to go whitelist only. Over time as other instances hit yours and you search others, the linked list of instances will grow. Just use the blocklist if you want to block certain instances. I havent found a good way to block the growing number of instances in case they have some illegal content like CSAM. So…i may just go whitelist anyhow

          2. Searching for instances seems to be CPU heavy on mine. Its not a problem though. You just cant simply plug in a URL of a community in another instance if you havent linked. You will get a 404 if you do. So you have to go to search, looking for that community by hitting search a few times until it shows up, then you can join and it will start crawling

          3. I have no idea what “Private instance” does other than i believe it will keep your instance form starting in the future if you have it checked AND federation turned on. I saw some logs in dockers startup when i did it but nothing in the UI.,

          • JCreazy@midwest.social
            link
            fedilink
            English
            arrow-up
            2
            ·
            2 years ago

            Thank you for the information. I’ve signed up for a 2GB shared linode and it’s running Debian 11. I assume I need to ssh into it, then run the ansible stuff. I have very basic knowledge of Linux and command line. I am not entirely sure how to fill out the config but I will cross that bridge when I come to it.

            • UselesslyBrisk@infosec.pub
              link
              fedilink
              English
              arrow-up
              1
              ·
              edit-2
              2 years ago

              Yeah how familiar are you with linux?

              You dont run the ansible stuff on the instance itself. You do it from your personal machine or something with ansible installed.

              Though I guess in theory you could run it on itself if you dont have another linux box, or something with ansible installed. https://www.middlewareinventory.com/blog/run-ansible-playbook-locally/

              But I am happy to walk you though the basics of setting up a securing the box.

              • JCreazy@midwest.social
                link
                fedilink
                English
                arrow-up
                1
                ·
                2 years ago

                I’m not super familiar with Linux, I’ve installed it on machines in the past, I know some very basic command line stuff. I’ve done raspberry pi stuff. I have a mini PC running Ubuntu right now that I am not using for anything so I can use that to run ansible. I probably won’t be able to work on it until after this weekend but once I get an moment to set down and do it I will shoot you a message if I have any questions. I really appreciate your help and I am excited to be a part of the fediverse.

                • UselesslyBrisk@infosec.pub
                  link
                  fedilink
                  English
                  arrow-up
                  1
                  ·
                  edit-2
                  2 years ago

                  that would be perfect.

                  WIth Debian I would install UFW for a firewall. Set SSH to whatever your home IP is. You can always use the Linode SSH console for external access.

                  UFW is easy to configure and just translates iptables.

                  sudo ufw allow from any to any port 80 proto tcp
                  sudo ufw allow from any to any port 443 proto tcp
                  sudo ufw allow from HOMEIP to any port 22 tcp
                  

                  If you want leave SSH open. Then i would probably only do Key based auth in /etc/ssh/sshd_config

                  you also want to edit that file (sshd_config) to disable root access once setup. I often turn on the following

                  LoginGraceTime 2m
                  PermitRootLogin no
                  StrictModes yes
                  MaxAuthTries 6
                  MaxSessions 10
                  AllowGroups somegroupname
                  

                  then create a user and a group and add the user to the group. This ensures only that user has SSH access.

                  sudo adduser someusername
                  sudo addgroup somegroupname 
                  sudo usermod -aG somegroupname someusername
                  

                  You can also use visudo to edit sudoers. The first like will require a password. If you use the second line, you can sudo without a password. I would only do the latter if you only use key-based auth though.

                  
                  someuser   ALL=(ALL:ALL) ALL
                  someuser ALL=(ALL) NOPASSWD: ALL
                  
                  

                  I also edit /etc/hostname to my server name. Update and reboot. From there run through ansible instructions and make edits as necessary.