Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Notes on running a single-person Mastodon server (jvns.ca)
165 points by hasheddan on Aug 12, 2023 | hide | past | favorite | 36 comments


I found it quite straightfoward on NixOS, the usability aspects from the article remain, of course.

  services = {
    elasticsearch = {
      enable = true;
      package = pkgs.elasticsearch7;
      dataDir = "/persist/elasticsearch";
    };
    mastodon = {
      enable = true;
      configureNginx = true;
      localDomain = domain;
      smtp.fromAddress = email;
      elasticsearch.host = "localhost";
      #extraEnvFiles = [ "/persist/mastodon/secrets.env" ];
    };
    nginx = let dir = "/persist/nginx";
    in {
      enable = true;
      recommendedProxySettings = true;
      recommendedTlsSettings = true;
      recommendedOptimisation = true;
      recommendedBrotliSettings = true;
      virtualHosts."${domain}" = {
        enableACME = false;
        sslCertificate = "${dir}/cfcert.pem";
        sslCertificateKey = "${dir}/cfkey.pem";
        kTLS = true;
        extraConfig = ''
          ssl_verify_client on;
          ssl_client_certificate ${dir}/authenticated_origin_pull_ca.pem;
        '';
      };
    };
    postgresql = {
      settings = {
        shared_preload_libraries = "pg_stat_statements";
        "pg_stat_statements.track" = "all";
        "pg_stat_statements.max" = 10000;
        track_activity_query_size = 2048;
      };
    };
    postgresqlBackup = {
      enable = true;
      compression = "zstd";
      backupAll = true;
      location = "/persist/postgresbackup";
    };
  };


but you'd have to use nix.


>even though it’s inconvenient, it’s important to me to have control over my social media

The whole post is basically showing pretty much features lacking that are otherwise quintessential for social media. Can't see posts, can't see replies, can't see trends, can't search etc. I mean at this point why even use it? It's like having a Ford Mustang in your garage that doesn't have tires and steering wheel but hey that V8 engine is sure nice.


You can see posts and you can see replies. You won't by default see posts and replies that you didn't subscribe to, or that aren't addressed to you.

If your preferred experience of social media is sitewide trending stories, or searching for topics, single-person Mastodon servers aren't a good fit for you. If, like Julia Evans, you have both a large audience and a network of people you talk to on the regular, it's probably pretty OK.

If Mastodon succeeds (I'm rooting for it), I expect single-person servers, delivered by hosting providers like Masto.host (but a generation or two away, like Blogger vs. the first generation of blog software) to be the normal way people use it.


This makes a lot of sense. It’s hard enough finding communities in real life as it is and the internet is at scale where the ease of social networking doesn’t exist like it did in the past.

At this point I think most people who been online long enough have a network that’s been sustained across many different platforms. Federation is great for these sorts of people when it’s used in the way that you’ve described.

Centralization still has its use as a meeting ground. The “public square” concept can still apply, but the thing is that it’s unhealthy to spend all of your time there and private/controlled gatherings are people can get a break and cultivate more unique bonds. Mastodon is interesting because it gives people the option to have both (public square or private hall).


How is it "probably OK" when the author mentions it isn't and writes about workarounds?


I guess my biggest clue is that they're retaining this configuration despite the downsides.


I could see the point of using a social media 'service' by myself as an internal journaling method for aggregating links and media and so on, but I wouldn't because much better methods exist for such things.


It seems like people are finally realizing how miserable the idea of self hosting anything is.

I almost wish I'd never made a personal site and just done GitHub pages, even DokuWiki in the cloud isn't perfect.


> It's like having a Ford Mustang in your garage that doesn't have tires and steering wheel but hey that V8 engine is sure nice.

"OK, but I made the square tyres myself and that is all that matters to me.

I also don't need rear view mirrors either because they are far too distracting."


https://docs.microblog.pub/ is intended to be a single person instance/blog but the reality is that I am more interested in consuming posts than making them, so I just use the built in rss feeds to follow people I like https://mstdn.social/@feditips/108357998963885456


folks (or organizations!) can just as easily run a wordpress instance with the ActivityPub plugin, it's a lot less messier than a full on rails app.

The plugin is maintained directly by Automattic, as a plus:

https://wordpress.com/blog/2023/03/17/making-the-social-web-...


I self-host both Mastodon and Wordpress. I don't recall one being much more effort than the other, though this is on a VPS that did not previously have PHP installed so that might skew things a little.

I did try setting up the ActivityPub plugin for Wordpress and was not successful in getting other ActivityPub servers to talk to it. It's been a while and Automattic now contributes to the plugin so it might be worth a second try.

Edit: gave it a second try and it seems to work without any fuss.


In the event someone wants to take the above comment as advice, the ActivityPub plugin works fine to allow people using Mastodon, et. al. to follow a Wordpress blog, but the Friends plugin which provides an ActivityPub client (among other things) within Wordpress generated extremely high CPU usage and did not reliably post replies.


The article addresses that:

> I chose to run a Mastodon server (instead of some other ActivityPub implementation) because Mastodon is the most popular one. Good managed Mastodon hosting is readily available, there are tons of options for client apps, and I know for sure that my server will work well with other people’s servers.


A lot of these downsides are huge deal breakers to me. But the one downside not mentioned and the one I'm curious about is the trending posts, hashtags, and news features of mastodon.

I can understand that most of the trending stuff might want to be instance isolated, or somewhat curated. But on a one person instance last time I looked, news for example was horrible because I had to actively approve sources every time. Perhaps this has changed. The other thing I noticed was that trending posts didn't work.

But hearing that you can't see another instances posts or replies properly without doing extra work, sounds like a huge oversight. For me decentralized social needs to at least allow me to look at all the posts or replies.


> But hearing that you can't see another instances posts or replies properly without doing extra work, sounds like a huge oversight.

As she mentions, this might be a weird artifact of some servers apparently imposing a blanket block on single-user servers. I have an account on a large server and I can see profiles of users on other servers without issue.


These shortcomings bug me like hell, too. I tried to overcome these by building https://fedi.buzz but the Fediverse community is quite split over its usefulness or it being a threat to their privacy.


This will start a little off topic but I will get back to the main point.

I feel like there's a group of users who are very against anything that might bring MORE users into their service of choice. So for mastodon, it's things like fedibuzz, and recently on Lemmy (at least on android) it's the Sync App coming out.

The Lemmy situation was a very polished very good former reddit app, which is now a Lemmy app, seems to have upset a lot of people because its "Not Open Source". Which I can understand, but I get the feeling the pushback is basically the fear that MORE users will come to Lemmy now that the experience is nicer.

The third thing is that the more I use bluesky, and the more I see these same kinds of infighting or issues come up in Masto/Lemmy .. the more I realise that perhaps BSKY is just the better longterm choice for me.

Now back to the main point.

I kind of WANT some way to discover new users, or topics, or anything discovery related, and having your own Masto instance just seems to nerf those things. I'm happy that fedibuzz exists, and I'm happy that there's a kind of trending posts/news in Masto. But It needs to be better if it wants to survive. The average user will not put the kinds of effort in to FIND new people that exist elsewhere.

So users join larger instances, because theres discovery features there. But then the Local feed is just not great. The other side of this is single user instances, and those aren't great either.


When a post includes a paragraph like this I'm not sure that I'd say the person is actually running their own single-person Mastodon server:

> I use masto.host for Mastodon hosting, and it’s been great so far. I have nothing interesting to say about what it’s like to operate a Mastodon instance because I know literally nothing about it. Masto.host handles all of the server administration and Mastodon updates, and I never think about it at all.

In addition to that it seems that they've opted for the top-end package, which seems like it'd be overkill with just a single-user onboard.

That said, seems like there are some pretty significant Mastodon limits even if you let someone else do the heavy-lifting.


> Account migration does not move over your posts. All of my posts stayed on my old account.

> Account migration does move over your followers

Some serious design blunders. Is this fixable like the other issues like invisible replies or is a forever limitation of the system ?


Slightly different part of the fediverse, but after Reddit killed off Apollo I wanted my own lemmy, hosted off my own domain, to see how it would interact.

I’ve since spun up a vm to run voyager as my Apollo replacement, connecting to my local lemmy as my Reddit replacement.

Both work pretty seamless with other larger federated instances, and I got to have fun setting it up.

Even got to post how, on the lemmy, which I can share out to other lemmy communities.

It’s all far nicer and more integrated than I initially imagined.

https://lemmy.myspamtrap.com/post/51


I've been musing doing this as well, as I really can't find a mastodon server with a ruleset and community that I like, but I'm worried about the required drive space. Are there any affordable VPS hosts that would provide enough storage for a comfortable single-user mastodon instance?


I would imagine that a small VPS would be fine, so long as you were on top of the data storage. I'm running a single user Masto instance on an NUC. i5, 8GB RAM that I bought for £65. I'm not exactly sure my home upload speeds, but they can't be huge.

It's currently using 6GB of storage on media. It is currently set to autodelete, but I assume could grow quite a bit.

I can't say Icve noticed any performance issues, however, I suspect I'm a lighter user.


What's the order of magnitude for space? I feel like it wouldn't be very much at all.


Surprised there still isn’t a dirt cheap service that lets me run a single instance for myself to get a proper custom domain (not an alias).


[flagged]


just went to check on what pawoo[.]net is and didn't even need to scroll to see child sexual abuse media

searching ddg for pawoo shows this is not news for anyone so i find it strange that you would even bother question why any other server would accept federate with it

and how the fuck isn't this comment deleted yet? dang?


> how the fuck isn't this comment deleted yet? dang?

There's no CSAM in the /comment/, just a lament that masotodon.social and pawoo don't federate with each other. Want to take action against a service you find (extremely) distasteful? Great, take action -- dig through their DNS, figure out where their servers are hosted, talk to the FBI. But invoking /dang/ to do something about it (to...protect the emotionally fragile HN community from being exposed to the existing of something vile?) just isn't that action.

I for damn sure won't defend the folks running pawoo, but we ought to defend to the death omoikane's right to talk about it. Free speech runs both ways, and sometimes that sucks.


s/deleted/redacted/

look, it's my fault for clicking on a blurred image, on a site i didn't know

i just did not expect that stuff on the first hop out of hn


I can understand why you would disagree, but curious why you think that comment needs to be deleted? Do you really think we not only need to criminalize digital paintings you don’t like, but even mentioning them?


i want to be very clear that what i clicked on was not a painting/cartoon/manga-drawing

when i wrote child sexual abuse media, i was not referring to a depiction of but rather a picture of an actual child being abused

this is not up for debate

edit: that you need to get a throwaway to argue you point tells me you know this shit is indefensible


Ah, haven’t used it in a while and that wasn’t a problem back then, didn’t realize you were being literal and not just overreacting to drawings


>edit: that you need to get a throwaway to argue you point tells me you know this shit is indefensible

Wrong, I just don’t wanna argue the morality of lolicon images using my real name.


If the way you use social networks is to view the live feed of all posts by all users and pick out the ones most offensive to you, I am afraid you are going to have a bad time.

A better way is to ignore the live feed (or suggested/recommended/featured/etc) and only follow the users you are interested in. I am not on pawoo.net, but it has a lot of artists that I would like to follow and couldn't follow them from mastodon.social.


the live feed is the first thing i saw; a ddg search indicates more people are aware of it

i'm starting to question if you are arguing in good faith


And that's probably what bothers me most about the fediverse in general. I want to be able to see everything, be it appropriate or not, misinformation or harassment, but the only servers that allow that are those that are suspended everywhere themselves. Unfortunately, those are also the kinds of servers crawling with people that I wouldn't want to be associated with.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: