Mastodon is a free, open-source, decentralized social network platform that allows users to create their own instance, or "node," which can be linked with other instances to form a larger network. In this tutorial, we will walk through the steps to install Mastodon on the latest version of Alpine Linux.
Before we begin, ensure you have the following:
First and foremost, you need to ensure that the necessary dependencies are installed on your machine. Run the following commands as the root user:
sudo apk update && sudo apk upgrade
sudo apk add build-base git python2 python2-dev postgresql-client postgresql-dev libxml2 libxml2-dev libxslt libxslt-dev file imagemagick imagemagick-dev tzdata protobuf protobuf-dev yarn
Next, create a dedicated user for Mastodon with the following command:
sudo adduser -h /home/mastodon -s /bin/sh -D mastodon
Switch to the Mastodon user you just created and navigate to the home directory:
sudo su - mastodon
cd ~
Now, clone the Mastodon repository with the following command:
git clone https://github.com/tootsuite/mastodon.git live
cd live
Mastodon requires Ruby and Node.js to run. You can use rbenv
and nvm
to manage the versions of Ruby and Node.js.
To install rbenv
, run the following command as the Mastodon user:
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.profile
echo 'eval "$(rbenv init -)"' >> ~/.profile
Reload the shell with the following command:
source ~/.profile
You can install Ruby and Node.js with the following commands:
rbenv install 2.7.2
rbenv global 2.7.2
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
source ~/.bashrc
nvm install 14.17.0
nvm use 14.17.0
To install Mastodon, run the following commands in the live
directory:
gem install bundler
bundle install -j$(nproc) --deployment --without development test
yarn install --pure-lockfile
bundle exec rake mastodon:setup
The last command will run a setup script that will prompt you for various settings. Follow the prompts to configure the setup.
With everything set up, you can now start Mastodon with the following command:
RAILS_ENV=production bin/rails server
Mastodon is now running on port 3000. Check it out in your browser by visiting http://your-server-hostname-or-ip:3000
.
In this tutorial, we have walked through the steps to install Mastodon on Alpine Linux. Now, you can run your own Mastodon instance to join the decentralized social network.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!