• 2 Posts
  • 37 Comments
Joined 1 year ago
cake
Cake day: June 6th, 2023

help-circle

    1. Things like changes to TOS or services can be seriously mitigated by hosting it yourself. WHat happens if Spotify changes the music they host or inserts ads into everything. Well for me, nothing. On the flip side, if some of my stuff goes down, kids and wife will bark. But honestly its mostly set it and forget it.

    2. KISS is a thing that applies to many things in life. Anything “smart” in your home should ideally function without your “smart” features working. Ie: light switches should be dumb light switches if something breaks etc etc. Also dont get caught in using rack or enterprise gear. You can learn just as much using smaller, fatter desktops with bigger fans and air cooling over a power hungry rack servers with 80mm fans that blow your eardrums out. My entire lab runs on old dell workstations and raspberry pis’

    3. https://www.servethehome.com/ -








  • 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.



  • 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.,


  • 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.




  • I have a lab at home and do host some stuff for myself from there in a small DMZ (ie: Miniflux RSS readers, Plex through Reverse proxy etc).

    But I used a linode for my lemmy/kbin stuff. Reason being is that the code is fairly new and there may be exploits bugs and

    1. I dont want to deal with my ISP made an instance is exploited and becomes some type of C2 box or spews out spam. Kbin specifically already has PRs to fix XSS and Sql injection stuff, the former of which is usually avoidable if you just follow some pretty basic principles. So its a concern.

    2. Linode has better bandwidth than my non-symmetrical ISP uplink and is on its own quota.


  • As someone that has spent the better part of the week mucking with it… the kbin build docs have multiple gaps in the documentation and are functionally broken unless you have some better understanding of the setup. I WAS able to get the system built, but could never get it online. Best i got was 500 errors where the UI was up but there was a break somewhere in Redis, Postgres, Nginx etc. All the logs were clean though. This was with the docker method and build from source method on both Ubuntu 22.04 and Debian 11 (which are what he specifically referenced)

    Lemmy was much easier to setup using the ansible method. I have an instance online. Though im still working out the federation thing and some other kinks. I figured it would just reach out to Activity pub and federate with everyone but now it seems I have to build a static list…If if search for an instance i know exists I get a

    404: couldnt_find_community

    So there are some gaps but it seems much more mature. For example you cant mark your instance private AND have federation enabled. If you do that and restart the instance will fail to come up, but theres no warning or error in the UI.

    I like the kbin dev better as people. But the lemmy code is definately more polished, even if the devs are turd sammiches.