DevOps as a profession and software development for fun. Admin of lemmy.nrd.li and akkoma.nrd.li.

Filibuster vigilantly.

  • 1 Post
  • 58 Comments
Joined 1 year ago
cake
Cake day: June 10th, 2023

help-circle

  • I would still go with one that isn’t one of the biggest. My general advice is to find one that fits the vibe you’re going for, communities you’re interested in (e.g. some are focused on art or cybersecurity, etc), or is somehow tied to your locality. It shouldn’t matter that much, though some servers will be a little more (or less) strict with things like federation, content warnings, alt text, etc. Usually the server will have some info telling you some of this, and their admin should be linked and likely has a post or two pinned to their profile explaining some of this as well.

    I am partial to kind.social, though have opted to run my own instead of joining up anywhere.




  • Nope, not from a DNS level. All the posts you are reading are cached by whatever instance your account is on. Basically the only thing served from the remote instance is full-size media uploaded to that instance. Even thumbnails are served from whatever instance you use. Mastodon/Akkoma/etc can be set up to even proxy full-size media for users, which is a feature I imagine will eventually make its way into Lemmy. Your best bet at the moment would be to find an instance that defederates those you don’t want to see (or run your own and do so yourself). I know “blocking” an instance is an often-requested feature, so that may end up a feature in Lemmy itself at some point.



  • Asklemmy isn’t really a place to ask about lemmy, it’s for asking general questions to users of lemmy, jut like you wouldn’t ask for Reddit support in /r/askreddit.

    Regardless, this question gets asked and talked about in the !selfhosted@lemmy.world community fairly often, here is a (slightly edited) comment I made a while back.

    You will need a domain name, you can buy one from a registrar such as hover or namecheap (for the love of all that you consider holy do not use godaddy).

    You will need a way to expose the server that you set up via port forwarding or similar on your network.

    You will need to set up DNS records on the domain you buy to point to your home IP. You may want to figure out a different way to avoid just handing that information out, cloudflare can help with that. You will want to make sure the DNS records get automatically updated if your IP address changes, which is not uncommon for residential ISPs.

    You will need to figure out how to get an SSL certificate, Let’s Encrypt will issue them for free, cloudflare gives you one if you use them as a reverse proxy.

    Some of this would likely be easier to do on a cloud provider like digitalocean or linode and could be done reasonably cheaply.

    These are all common things for setting up any website, so lemmy docs won’t cover them. In addition to those (this answer was just addressing “how to get a URL”) you will need to install and configure lemmy, lemmy-ui, postgres, and pictrs somewhere (the join-lemmy docs cover this well).

    If you want your instance to send emails you will have to figure out how you want to do that (too many options to cover in this answer).

    When 0.18.1 gets released if you want captcha you’ll probably have to figure out an mCaptcha provider or set that up yourself.

    Not to mention thinking about backups, high availability, etc, etc.

    As far as hardware to host on you could get away with like ~$10/mo on most any cloud provider, run it on a Mini-PC in your closet, etc. My instance uses 1-2 GB of RAM, ~13GB of disk (and growing a few hundred MB per day), and ~30% of a CPU (an old i5).

    Best of luck.











  • First, it’s worth noting that ActivityPub is built on ActivityStreams which is in turn built on ActivityVocabulary. It is necessary to read all of these to have a full understanding of what the stuff in AP actually means. It is also worth reading up on LDN and JSON-LD as those are also used in the spec.

    I think you are right in AP being a bit more oriented toward social media in the vein of twitter or facebook and less like reddit, but really a lot of it comes down to how an AP implementing server interprets the objects it receives. I’m not sure if anywhere near this level of customization would be possible if everything spoke pure AP (which does have a client-server interface, not just a server-server federation interface) rather than your clients interacting with bespoke “lemmy” or “mastodon” or whatever APIs.

    As far as lemmy goes I think they may have extended the objects a little, as there is a lemmy NS included in results, which is what most implementations including big ones like Mastodon do to introduce new fields (such as content warnings in the case of Mastodon) to things like a Note. Lemmy adds info like postingRestrictedToMods, matrixUserId, and moderators.

    As far as objects:

    • A community is a Group.
    • A post is a Page with an audience of the community and an attributedTo of your user (to the community and special public endpoint).
    • A comment is a Note that is inReplyTo its parent (post or comment), to the special public endpoint and CCing the author of the parent and the community.

    As far as actions, I am less sure because it is less easy to inspect without reading the lemmy code or setting up something to get federated to, but AFAICT:

    • Upvotes and downvotes are Like and Dislike
    • Create is used when you as a user want to make a post in a community
    • Announce is used when a post actually gets made in a community
    • I think Announce is used for other things and might explain some of how comments work as well, as a post seems to live on the community instance but a comment seems to live on your instance.


  • Every time you visit any website someone will know your IP address. Unless very specific measues are taken that “someone” will be whoever operates that website.

    Lemmy has features (I think they are optional) that will tell you that you viewed a post and how many new comments a post has from the last time you viewed it, that necessarily requires tracking. I cannot say whether turning this feature off disables the tracking or just doesn’t show you that information without digging into the code, this is only local to your instance.

    There is also likely to be some level of logging at the server and any reverse proxy layers that could, with effort, be used to figure out what you looked at with reasonable accuracy. Again, this is only on your instance. Some instances may not create/store logs, but it is usually important to do so to troubleshoot if things go wrong, especially with as immature a software project Lemmy is.

    Any time you visit a website you are putting a large amount of trust in the site operator, your ISP, your DNS provider, etc. if state actors are in your threat model.

    If you run your own instance you have better condom of this, and the only thing potentially externally observable is that a post has been sent to your server. Also, you should run your own server anyway.