Mastodon is an open-source, decentralized social network that has gained popularity for providing a federated platform where users control their own data. In this guide, we will walk you through the steps to install Mastodon on Ubuntu 22.04 LTS using Docker. Whether you're deploying Mastodon locally or on a Windows VPS UK, these instructions will help you get your Mastodon instance running efficiently.

Step 1: Update Your System

Before starting the installation, it's important to update your system to ensure that all packages are up to date. Run the following commands:

sudo apt update && sudo apt upgrade

This will update all packages on your system, ensuring security and stability. This step is crucial whether you’re working on a local machine or hosting your Mastodon instance on a UK Windows VPS.

Step 2: Install Docker and Docker Compose

Mastodon runs inside Docker containers, so you’ll need to install Docker and Docker Compose on your system. First, install Docker using the following commands:


sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
            

Once Docker is installed, install Docker Compose:


sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
            

You can verify the installation by checking the version of Docker and Docker Compose:

docker --version
docker-compose --version

This step prepares your system to run Mastodon using Docker containers, making it ideal for both local deployment and hosting on a Windows VPS hosting UK platform.

Step 3: Set Up Mastodon with Docker

Now that Docker is installed, you can download the Mastodon repository and set it up using Docker Compose. First, create a directory for Mastodon and clone the repository:


mkdir ~/mastodon
cd ~/mastodon
git clone https://github.com/mastodon/mastodon.git .
            

Next, copy the example environment file:

cp .env.production.sample .env.production

Open the .env.production file and edit it to configure your Mastodon instance, including setting your domain name, email settings, and database passwords. For example:


# Replace 'example.com' with your domain name
LOCAL_DOMAIN=example.com
SMTP_SERVER=smtp.mailgun.org
SMTP_PORT=587
SMTP_LOGIN=postmaster@example.com
SMTP_PASSWORD=yourpassword
            

This configuration will ensure that Mastodon works correctly in a production environment, whether you're hosting it on your local server or a VPS Windows Servers setup.

Step 4: Build and Start Mastodon with Docker

Now you are ready to build the Mastodon containers. Run the following commands to build and set up the Docker containers for Mastodon:


docker-compose build
docker-compose run --rm web rake db:setup
docker-compose run --rm web rake db:migrate
docker-compose run --rm web rake assets:precompile
            

Once the containers are built, you can start the Mastodon instance:

docker-compose up -d

Mastodon will now be running in the background using Docker containers. This setup is ideal for both local and cloud-based hosting environments, such as a Windows VPS Italy.

Step 5: Set Up Nginx as a Reverse Proxy

To make your Mastodon instance accessible via the web, it's recommended to use Nginx as a reverse proxy. Install Nginx by running:

sudo apt install nginx

After installation, create an Nginx configuration file for Mastodon:

sudo nano /etc/nginx/sites-available/mastodon

Add the following configuration, replacing example.com with your domain:


server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
            

Save the file, enable the site, and restart Nginx:


sudo ln -s /etc/nginx/sites-available/mastodon /etc/nginx/sites-enabled/
sudo systemctl restart nginx
            

Nginx is now configured to proxy traffic to your Mastodon instance, making it accessible on the web. This step is important whether you're hosting locally or on a Windows Virtual Private Server hosting platform.

Step 6: Configure SSL with Let's Encrypt

For security, you should enable SSL on your Mastodon instance. You can use Let’s Encrypt to obtain a free SSL certificate. First, install Certbot:

sudo apt install certbot python3-certbot-nginx

Next, run the Certbot command to automatically configure SSL for your Mastodon domain:

sudo certbot --nginx -d example.com

Certbot will request and install the SSL certificate for your domain, ensuring secure HTTPS access to your Mastodon instance. This step is important whether you're hosting on a local server or on a Windows VPS hosting UK.

Step 7: Access Your Mastodon Instance

Your Mastodon instance should now be running and accessible via your domain name. Open your browser and navigate to https://example.com (replace with your domain) to access your Mastodon social network.

You can create an admin account and start customizing your instance, whether you're using a local setup or a UK VPS Windows hosting solution.

Mastodon is now installed and running on your Ubuntu 22.04 LTS server, providing a fully functional, decentralized social network platform. For reliable and scalable hosting solutions, consider using Windows VPS UK. They offer a range of hosting plans, including windows virtual private servers, windows vps hosting, and windows virtual dedicated server hosting. Whether you're looking for windows vps italy or uk vps windows solutions, their hosting services provide the performance and flexibility needed to support your Mastodon instance.

Was dit antwoord nuttig? 0 gebruikers vonden dit artikel nuttig (0 Stemmen)