Mastodon instance setup

Over the last approximately 2 weeks we have been working on setting up our fist Mastodon Instance which we’re now at the state that we want to let people know about as things are kind of settling out.  We currently have 3 accounts there which is enough to feel that things are working “reasonably well”.

I think by the time I finish writing this up, I will have a bit better idea of how things go…  So here goes.

This is a bit of a timeline:

  • Friend asks me about what it takes to set up a mastodon instance and I respond with what I know off the top of my head.
  • I ask about what the reason for wanting to set up the instance is, and I get really excited about it.
  • I decide that if I can, I want to be involved with this project.
  • I do a little bit of research and see that I might be able to do enough of it in a way I like, so try to get as far as I can without an accessible host.
  • I decide that I can do it.
  • I start to set up the instance on a linode.
  • I run into a step which I’m not quite sure I want to tackle, and leave it for a bit.
  • I decide I want to tackle it, and see if I can get it up and running.
  • I find what *look* like pretty close to drop in place scripts to do what I have been having issues with.
  • They need some work, I set them up.
  • I start running, and it “works, but.”
  • I fix some issues, but still not working correctly.
  • Decide to give a bit of a try with a “test” of following different accounts.
  • It kind of fixes some of that stuff.
  • Finally decide, it’s time to see what happens with regular users.
  • We are now a bit over 24 hours since getting it up and running, and…

OK, let’s expand that timeline:

Friend asks about setting up mastodon

A friend asked me about what it takes to set up mastodon, and I said what I knew from the top of my head.

That information was along the lines of, “there is which you can set up, or you can set up an instance on your ‘own’ machine.  I don’t really think I want to set something up on my own machine, because last time I looked, I kind of balked at the instructions.”

That was off the top of my head, and we started talking about it more, and then I did a bit of research about what it costs for, and what that would mean, and then also looked at the instructions out there…

And I went, “hmmm…  These instructions look like they could work better than I thought they would, for how they should be setup.”

And kind of left that at that for a bit (basically overnight type bit) and then…

I ask about what the reason

I ask about what the reason is thinking that there is already plenty of instances out there, and why would someone be putting in what seems like pretty significant effort to have an instance setup.

I find out the reason, and I realize that this is something that I really want to see myself, or that if I found out about it, I’d be pretty excited.

We talk about it, and I decide that I’m pretty into it, do more research and decide to move forward with seeing if I can set something up.

I don’t really say why I feel I want to do this, because I want to hear the passion without throwing my passion for the topic out there (and we’re not at getting something setup for that quite yet).

I want to set this up

I decide that I want to set this up, and start to see if at least the basic components can be setup to a level that I want to set up an instance that will end up being a decent thing.

I also tell the friend that the reason that I think this is such a fantastic idea is because the community that this is about is one I belong to and that I’ve struggled with that stuff myself.

I end up doing enough testing of setting up that I really want to give spinning up a new instance a go.

Setting up Linode instance and GitLab documentation

I decide that I have enough information that I can probably set something up on Linode, and decide that the best thing about trying to set this up is to actually document my process because I think that I should do this from a perspective that I will be doing it again.

I set up the Linode instance and create a project on GitLab to store the documentation on.

I start working on getting things setup.  This was February 1st according to GitLab, and it probably all started about 2 or 3 days earlier that the idea started to be processed by me.

Running into issues

After having set the system up as far as I could (I think it probably took about 2 days to get as far as I could just slightly modify the instructions, or more like 36 hours) I run into the problem I often run into.

The instructions assume I’m running systemd which I’d rather not do unless I have to (in fact I’ve decided to not run certain things simply because I can’t find instructions that don’t basically amount to, “If you don’t want to run systemd for this hopefully userspace programme, you will be on your own.”

So, I decide to leave it, because I’m at a point I can’t really focus on that sort of thing (I do try to do something with it, but just can’t even get the most basic bits done).

Take a break for a while

I will admit I just let it sit there for about 10 days before I decide I’m ready to tackle it, and more or less stay in that space of wanting to tackle it, and then it takes a few days to get to a point that I decide to actually do something.

Then yesterday I decide to do a bit of a search, and I end up finding there are OpenRC scripts that someone is sharing that look like they should be pretty much drop and run with them.

It wasn’t quite that easy, but it was only a few different things that had to be changed, and I saved the files over on GitLab so that when I next setup an instance that it will work fairly well as it is.

I start running, and it “works, but.”

I manage to get everything running, at least I think so, but I don’t see how I can log in, so have to figure that out (nice instructions are available, but I didn’t write it down) and I manage to log in.

Then I start looking at getting all the settings right, and checking to see how everything is running, and it all looks “Kind of OK,” so I start to do some testing…


A bunch of stuff is failing, and this just doesn’t make sense…

I can’t figure out where any of what I can see is incorrectly setup stuff is running, and am kind of ready to give up, then I realize that I have a temporary database setup that might have something to do with it.

I restart it, and the obviously wrong settings become correct…  But still testing isn’t quite working, so I sleep on it…

I fix some issues, but still not working correctly.

Those issues are fixed, and I keep doing testing, but nothing seems to be working quite right (still) so I just wait to see what I get then I decide to send a message on Mastodon, and see what people will say.

I use my current main account, and send it out, and get some response to that, and it seems like there are people who at least have some idea as to what I might be able to get some help with.

Eventually my initial messages get a response and there is a comment (and I didn’t really get an answer, because I failed to provide enough information) about whether different instances are behaving differently…

Decide to give a bit of a try with a “test” of following different accounts.

So, this is an idea, I can dump my follows from my main account, and see what happens with that, and see if anything gets fixed…

As soon as that ends up getting resolved to a reasonable level and just straggling processes, I take a look around, and things look somewhat better, not fixed, but better.  There *are* messages arriving from other instances.  Sure they’re old, but they aren’t so old that they’re not really useful (like several months old (June I think)) but only about a day older than the instance I am running is.  So, it’s only about 2 days behind when I last looked.  And so far that hasn’t changed…

Finally decide, it’s time to see what happens with regular users.

And at this point, because I really am thinking it needs to have a little more local activity, I create an account for my more “personal” stuff, and see how that goes.  I import stuff from a different instance, because well it’s different stuff, and decide that I’m ready to get some friends up and going with it.

We are now a bit over 24 hours since getting it up and running, and…

I am now looking, and I see that we are kind of looking to go, “public alpha”.  Probably more like a beta, but I’m not happy with where things are, and I think that enough isn’t working.

Federation isn’t working anywhere near as well as I would like, but then some of that might actually resolve before too long on its own.  I have had a couple of different people talk about, “improper IPv6 setup” but I’m not even sure what that might mean.  Or more, what I think about that is I don’t know what that might mean in my case, I do know what could happen as I’ve tried things, and it just really means that I have had problems with it when I don’t have it setup correctly, but I’m not quite sure if there could be something wrong, as things do seem to be working…

So, I’m open to new people joining.  I’m going to post this over on Patreon, and maybe a bit later on Ko-fi.  Well, a link to this, and a link to the instance itself.

This entry was posted in Computer Support, Linux, Virtual Machines, Web Development and tagged , , , , , , , , , , . Bookmark the permalink. Both comments and trackbacks are currently closed.