Estimated Cloudlet Usage: starting at 10
Mastodon is a free, open-source social network server based on ActivityPub where users can post links, pictures, text, and video. All Mastodon servers are interoperable as a federated network (users on one server can seamlessly communicate with users from another one) including non-Mastodon software that implements ActivityPub. If you are interested in hosting your own Mastodon instance, we have a Reclaim Cloud marketplace installer that will help you get set up quickly. This installer uses Docker and Docker Compose to make deploying and updating Mastodon relatively painless.
Installing Mastodon
You can get started by clicking on Marketplace in the top toolbar of the Reclaim Cloud dashboard. You'll find Mastodon by navigating to the "Applications" category or searching by name.
After clicking Install, you can set an intended custom domain name for your Mastodon instance.
If you do not wish to map a custom domain, you can uncheck the box next to Custom Domain and Mastodon will be configured to use the Reclaim Cloud Environment URL as the domain name of the instance.
Besides the domain name, you can also set the environment URL, Display Name, and the Region in Reclaim Cloud where your Mastodon instance will live.
Click Install when you are ready. The installation process will take a few minutes as Reclaim Cloud creates the environment, assigns an IP address, and installs Mastodon.
Once Mastodon is ready to go, you'll see a confirmation message:
At this point, Mastodon is up and running! If you aren't mapping a custom domain, you can visit Mastodon at the Environment URL. Do note that after first install it can take an additional few minutes for Mastodon to get set up and ready to go.
Pointing a Custom Domain and setting up HTTPS
If you are mapping a custom domain to your Mastodon instance, you will need to first find the environment's IP address either from the post-install confirmation message, or by using the drop-down arrows in the Reclaim Cloud interface:
Next, you will want to point an A record at the IP address. Here is what that looks like when using the DNS Zone Editor in cPanel:
After an A record is pointed, you will need to restart the Docker containers that run your Mastodon instance, at which point an SSL certificate will automatically be issued. This can be done from the command line using Reclaim Cloud's Web SSH feature:
Then run these commands to restart the Docker containers:
cd /root/mastodon
docker-compose down
docker-compose up -d
After giving Mastodon a few minutes to restart, it should be available at your custom domain!
Setting up an Owner account
One of the first things you will want to do after installing Mastodon is set up an Owner account so you can log in and administer your instance. The easiest way to do this is with the admin CLI, tootctl. Open a terminal in your instance and run this command, replacing USERNAME and EMAIL@EMAIL.COM with your desired username and email address.
tootctl accounts create USERNAME --email=EMAIL@EMAIL.COM --confirmed --role Owner
Tootctl can be used for all kinds of administrative tasks, and you can find more information on it here:
Configuration
You can adjust various settings, setup email, and enable external storage for media files by editing the file at /root/mastodon/.env
. You can do this using the Config button in the Reclaim Cloud dashboard, navigating to the mastodon folder, and then clicking on .env file:
After making changes to this file, you will need to use the terminal to restart Mastodon to get your changes to take effect:
cd /root/mastodon
docker-compose down
docker-compose up -d
Updating Mastodon
Docker helps make updates to Mastodon easy to do, however before performing any upgrades it is a good idea to check out the release notes on the Mastodon GitHub page to see if there are any special upgrade instructions.
When you are ready to upgrade your Mastodon environment, you can pull the newest Docker containers and restart Mastodon using these commands:
cd /root/mastodon
docker-compose pull
docker-compose down
docker-compose up -d