Adventures With Misskey.
Ever since I left Facebook and Twitter, when they started their censorship campaign in the first quarter of the year 2020, I started exploring other platforms. These Included Gab, Diaspora, Minds, MeWe, Mastodon and Pleroma. I like Gab until just recently, What I liked about the platform was the free speech, and the Gab Dissenter App and Browser plugins. Dissenter was a creative way for people on the Gab network to comment and shit post any web page viewed, including one's own local webs server, namely, localhost or http://localhost. I've done it and so have a few other people. I just started hating gab a few days ago. The reason being, I had found a way to hack the dissenter plugin code to allow dissenter to still be useful as it was intended to be. Torba and his programmers have made sure that it no longer works. I'm sure that they noticed beforehand and just now found out how I and probably others, were doing so. Now I just can't in good conscience, use the platform any longer. There's a reason why Torba and his minions, killed Dissenter, and it's a really big secret to the rest of us. So fuck gab and anyone would be a fool to pay for that shitty platform.
However, this hatred for Gab is a recent development, while I was using Gab Social and Dissenter, I started reading about the platform and how it was based on the Mastodon code base. So I decided to explore what Mastodon was and I joined an instance and I got kicked off because I was posting pro Trump and other right wing information and it wasn't well received by that particular instance. Fair enough, since there were many Mastodon instances to still choose from and with Mastodon, I could basically import my friend list to the new instances that i joined. After being accepted by many instances and ejected from a few, I pondered how to set up my own instance. First I took the easy way, I contracted a site that would install the instance for me and I'd pay them €6 monthly. Turns out that even using my own Mastodon server I still couldn't voice my own views. This occurred in December of 2020. After only about three weeks, the company that created and hosted my server, for whatever reason, probably a breach of the terms of service, refunded my money and told me to fuck off. I did learn how to set up my own server but I wasn't liking Mastodon so much at this point.
I had some friends who ran their own Pleroma server and I had an account on that server and I realized that Pleroma seemed to be a far superior platform than Mastodon. For instance while Mastodon limited posts to 500 characters, then at the same time allowed allowed 1000 characters just for describing images that we post. However, Pleroma allowed for 1500 characters for posting. Another reason I reached the conclusion of Pleroma's superiority, was the ability to use text Markdown syntax, which gave posts a more aesthetically pleasing, professional look. On that instance I got bad reviews for the woke censorship crowd on the Fediverse, who didn't like some of my views reflected in my posts. They made complaints but the system administrator, didn't see it the same way. My posts were at the time, anti vaccine and I mostly posted that Covid-19 was mostly Convid-19, that sort of thing and in 2020 early 2021, indeed, even in places today, was verboten. Anyway for whatever reason, that instance got shut down too. It mattered not, since the nature of the Fediverse always present many options. I joined instances that allowed me the ability to post my messages without hindrance. So I was still always free. People either blocked me, friended and agreed with me or on many occasions, called me a moron.
Recently, for reasons that I still haven't processed, I became interested in a platform called Misskey, I wasn't familiar with it and nobody I knew at the time, knew anything about it so I read around, mostly on the Misskey Hub and I looked around for an instance to join and eventually did so. I loved it I wondered why anyone would use anything else. The only other Fediverse platform that I really love and see as revolutionary, is Hubzilla. I would love to set up one of those. I belong to a Hubzilla instance already but I wouldn't mind learning how to set one up myself. Hubzilla is fucking awesome. Once set up it can be a web server, blog, wiki micro blogging platform, file server and a host of other extremely, useful tools. I didn't think that I'd ever set up my own Misskey Server, but I did it, eventually, so there may be hope for me to someday setup my own Hubzilla sever alongside my Misskey server and possibly some more goodies. Anyway, I've given some background and now I'll discuss my journey, setting up my own Misskey server.
Three weeks or so ago, after having an account on a Misskey instance, I met other people who, too loved Misskey as much as I do, I talked to one person in particular, who is responsible for my success. His server was set up using docker and he instructed me on how o set it up. I got it working and the server was accessible on the network, via entering the IP address of the server. I had a domain name and a CloudFlare account too. However, I could get in on the Internet, despite running a Nginx server getting certificates from Lets Encrypt I was just stuck because my experience with docker was limited and people who probably knew why I was stuck didn't volunteer any suggestions, tricks or tips so I kept reading documents and I did gain much insight. However, even using Nginx as a proxy server failed me since I was obviously doing something wrong I just kept striking out. I blame this on my lack of docker knowledge and I'm still trying to learn more in the interim.
So how did I get my server up and running? I did it the old fashioned way, I read the Misskey documents, specifically how to install your own Misskey instance. I'll leave links at the end of this document for obvious reasons. The installation page provided three methods to install the server, namely, using docker, doing a manual install or using a bash script. I opted for the script, because I thought that it would get me up and running quicker. Naturally, I wasn't going to try the docker install because I already had, I got the server and postgrsql running perfectly but I just didn't know how to get it on the internet via Cloudflare or any other means. The information was scarce and those who probably knew how, were keeping it close to their vests. I think that I could do a manual install but that would take me longer I deduced, so I went for the automated bash script.
I commissioned a VPS, I chose Ubuntu 22 as the OS, since the script worked best with Ubuntu. I failed the first time, because I anticipated the packages that I would need for building a Misskey server and I installed them first and when I ran the script it failed. At the time I didn't know that, that was the cause of my failure so I stared over, wiped the VPS Clean, tried the script with Debian and that failed miserably too. I then had a hunch that I should start over, this time using Ubuntu again, but this time, just upgrade the packages reboot and start from there. Once rebooted, I did housekeeping, I hardened the server created a user and also another user called misskey. Once I did this, I installed nothing, and then ran the script and to my eternal joy, the script completed in minutes, successfully. I entered my domain name into the browser and there it was. So, it seems that the correct way to get misskey installed is to use either the Ubuntu server recommended by the script's author or you can take a chance, like me, and install the most recent Ubuntu version available on the VPS. So to list the steps that I took for the Misskey bash script to work, the list would look similar to this:
- Choose a VPS running Ubuntu equal to or more recent to start.
- Update and Upgrade packages.
- Reboot
- Harden the server by installing fail2ban and editing the SSH configurations.
- Set root password, Add a regular user and add the misskey user with the command adduser —disabled-password —disabled-login misskey
- Read and Reread the installation instructions for both the installation by script and also, the manual installation to give a little more insight.
- Run the script as root and pray.
- Have Cloudflare email sign up address and Cloudflare API key on hand since they'll be needed during the installation.
- If for some reason the script must be restarted, just restart it and continue as if it were the first time since nothing is really installed until after the prolonged package installations that comes later. So if you make a mistake and have to restart the script, don't worry.
I think that's everything for the initial installation, After that just sign into the server and start the configuration by setting up the profile, adding an avatar and such. There is also an upgrade script that works pretty well too. I used it yesterday to upgrade my server to the latest version. When the script finished it indicated that the process was completed, but it did give some warnings about something which made me nervous. However I could access the server locally by running the Lynx browser and pointing it to localhost like this: lynx localhost and the misskey page popped up. So that eased my fears. So I knew that Nginx was running and Misskey was too. I restarted Postgresql but that didn't help any, so I panicked a little. Then I decided to reboot the server and see if that would help and it did. So now you know. I hope that this will shed some light on the subject, good luck and happy hacking.