Configuration

The active terminal directory should still be /usr/share/webapps/pixelfed

Initialize Pixelfed services

sudo php artisan key:generate
sudo php artisan storage:link
sudo php artisan migrate --force
sudo php artisan import:cities
sudo php artisan instance:actor
sudo php artisan passport:keys
sudo php artisan horizon:install
sudo php artisan horizon:publish

Set up background service

Create the systemd service file

sudo nano /etc/systemd/system/pixelfed.service

And paste

[Unit]
Description=Pixelfed task queueing via Laravel Horizon
After=network.target mysql.service php8.5-fpm.service redis-server.service apache2.service
Requires=mysql.service php8.5-fpm.service redis-server.service apache2.service

[Service]
Type=simple
User=pixelfed
WorkingDirectory=/usr/share/webapps/pixelfed
ExecStart=/usr/bin/php8.5 artisan horizon
Restart=always
RestartSec=5
Environment=QUEUE_CONNECTION=redis

[Install]
WantedBy=multi-user.target

Reload systemctl daemon

sudo systemctl daemon-reload

And start Pixelfed

sudo systemctl enable --now pixelfed

Create a Cron job for the Pixelfed user

sudo crontab -u pixelfed -e

At the end of the file, paste this line

* * * * * /usr/bin/php8.5 /usr/share/webapps/pixelfed/artisan schedule:run >> /dev/null 2>&1

Modify configuration files

sudo nano config/app.php
    'name' => env('APP_NAME', 'Pixelfed.cogip.be'),
    'url' => env('APP_URL', 'https://pixelfed.cogip.be'),
    'locale' => env('APP_LOCALE', 'fr_BE'),

 

sudo nano config/instance.php
    'description' => env('INSTANCE_DESCRIPTION', 'Un serveur Pixelfed vraiment très intéressant'),

 

sudo nano config/pixelfed.php
    'domain' => [
        'admin' => env('ADMIN_DOMAIN'),
        'app' => env('APP_DOMAIN', 'pixelfed.cogip.be'),
    ],

Create the first user

sudo php artisan user:create
Creating a new user...

Name:
> Yves LeGuellec

Username:
> leguellec

Email:
> leguellec@cogip.be

Password:
> admin-password

Confirm password:
> admin-password

Make this user an admin? (yes/no) [no]:
> yes

Manually verify email address? (yes/no) [no]:
> no

Are you sure you want to create this user? (yes/no) [no]:
> yes

Manually verify the user

sudo php artisan user:verify leguellec

Visit https://pixelfed.cogip.be/i/actor to activate cache.

And visit the instance pixelfed.cogip.be.