How to Install PixelFed on EndeavourOS

PixelFed is a free and open-source federated social media platform, which allows users to share photos and videos in a decentralized manner. In this tutorial, we will discuss how to install PixelFed on EndeavourOS latest.


To install PixelFed on EndeavourOS, you will need the following:

Step 1: Update the System

Before installing any new packages, we need to update the system packages to their latest version. To do that, run the following command:

sudo pacman -Syu

Step 2: Install Required Packages

To install PixelFed, we need to install some dependencies on our system. Run the following command to install required packages:

sudo pacman -S curl git mariadb mcrypt nginx openssl php php-fpm php-gd php-intl php-mbstring php-mysqlnd php-redis redis

Step 3: Install Composer

Composer is a dependency manager for PHP. We will use Composer to install PixelFed dependencies. Run the following command to install Composer:

curl -sS | php

After installation, move the "composer.phar" to the "bin" directory and create a symbolic link.

sudo mv composer.phar /usr/local/bin/composer
sudo ln -s /usr/local/bin/composer /usr/bin/composer

Step 4: Install PixelFed

Now, we are ready to install PixelFed. Go to the web directory of your server.

cd /var/www

Clone the PixelFed repository from Github.

sudo git clone

Move to the pixelfed directory.

cd pixelfed

Use the composer to install PixelFed dependencies.

sudo composer install

After the installation is complete, create a new file named ".env" in the root directory.

sudo cp .env.example .env

Edit the ".env" file and update the following parameters with your system values:




Note: Replace "your_db_password" with the actual password of your MySQL or MariaDB database.

Generate an application key for PixelFed.

sudo php artisan key:generate

Run the migrations to create the necessary database tables.

sudo php artisan migrate

Run the seeders to populate the database with initial data.

sudo php artisan db:seed

Change the ownership of the web directory and give it the necessary group permissions.

sudo chown -R www-data:www-data /var/www/pixelfed
sudo chmod -R 755 /var/www/pixelfed

Step 5: Configure the Web Server

Now, we need to configure the web server to serve the PixelFed application. In our case, we will configure the Nginx web server.

Create a new server block file for PixelFed, like this:

sudo nano /etc/nginx/sites-available/pixelfed.your_domain_name.conf

Insert the following Nginx configuration:

# Redirect HTTP traffic to HTTPS
server {
    listen 80;
    server_name pixelfed.your_domain_name;
    return 301 https://$server_name$request_uri;

server {
    listen 443 ssl;
    server_name pixelfed.your_domain_name;
    root /var/www/pixelfed/public;

    index index.html index.htm index.php;

    charset utf-8;

    client_max_body_size 100M;

    location / {
        try_files $uri $uri/ /index.php?$query_string;

    location ~ \.php$ {
    include snippets/fastcgi-php.conf;

    fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;

    location ~ /\.ht {
        deny all;

    ssl_certificate /etc/letsencrypt/live/pixelfed.your_domain_name/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/pixelfed.your_domain_name/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/pixelfed.your_domain_name/chain.pem;

Note: Replace "your_domain_name" with your actual domain name.

Step 6: Enable the Server Block

After creating the server block file, we need to enable it. To do that, use the following command:

sudo ln -s /etc/nginx/sites-available/pixelfed.your_domain_name.conf /etc/nginx/sites-enabled/

Verify the Nginx configuration.

sudo nginx -t

If there are no errors, reload the Nginx service.

sudo systemctl reload nginx

Step 7: Access PixelFed

Now, open your web browser and navigate to the following URL:


You will see the PixelFed login page. Create a new account and start using PixelFed.

Congratulations! You have successfully installed PixelFed on EndeavourOS latest.

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 a try!