Heute zeige ich Dir, wie Du auf Deinem Ubuntu-Server in ein paar übersichtlichen Schritten eine eigene Pixelfed-Instanz installierst und absicherst.
Du fragst Dich vielleicht: Was ist Pixelfed überhaupt? Stell Dir Pixelfed als eine freie und quelloffene Alternative zu Instagram vor. Anstatt Deine Bilder und Daten einem großen Konzern anzuvertrauen, behältst Du mit Pixelfed die volle Kontrolle.
Pixelfed ist Teil des sogenannten „Fediverse“, einem Netzwerk aus verschiedenen, unabhängigen Servern, die miteinander kommunizieren. Im Gegensatz zu Instagram verzichtet Pixelfed auf Algorithmen, die Deine Timeline manipulieren. Stattdessen siehst Du die Beiträge in chronologischer Reihenfolge.
Außerdem legt Pixelfed großen Wert auf Datenschutz: Es gibt keine Analysen oder Tracking durch Dritte. Du kannst Fotos, Stories und Sammlungen teilen, Hashtags nutzen und die Sichtbarkeit Deiner Beiträge selbst bestimmen. Kurz gesagt: Pixelfed gibt Dir die Kontrolle über Deine Social-Media-Erfahrung zurück. Lass uns loslegen und Deine eigene Instanz aufbauen!
Was Du brauchst
Bevor wir starten, hier ein kleiner Überblick über die Voraussetzungen:
- Ubuntu Server (Version 18.04 oder höher, besser 22.04 LTS)
- Sudo-Rechte (damit Du administrative Befehle ausführen kannst)
- Eine Domain (oder Subdomain), damit Du später über das Internet erreichbar bist
- Grundkenntnisse im Umgang mit der Kommandozeile
1. Server vorbereiten
Zuerst aktualisierst Du Deinen Server, um sicherzugehen, dass alle Pakete auf dem neuesten Stand sind:
sudo apt update && sudo apt upgrade -y
Installation von wichtigen Tools
Wir installieren Git, Docker und Docker Compose. Docker hilft uns, Anwendungen in sogenannten Containern zu betreiben – das sind isolierte Umgebungen, die Deine Software und ihre Abhängigkeiten enthalten. Docker Compose ermöglicht es Dir, mehrere Container gemeinsam zu steuern.
Besserer Weg: Installiere Docker aus dem offiziellen Repository:
sudo apt update
sudo apt install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo tee /etc/apt/keyrings/docker.asc > /dev/null
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Nach der Installation solltest Du Deinen Benutzer zur Docker-Gruppe hinzufügen, damit Du Docker-Befehle ohne sudo
ausführen kannst:
sudo usermod -aG docker $USER
Logge Dich danach aus und wieder ein, damit die Änderungen wirksam werden.
2. Pixelfed herunterladen
Nun klonst Du das Pixelfed-Repository aus GitHub. Statt die aktuelle Entwicklungsversion zu nutzen, empfehle ich, einen stabilen Release-Tag zu verwenden:
git clone --branch v0.11.4 https://github.com/pixelfed/pixelfed.git
cd pixelfed
3. Konfiguration anpassen
Pixelfed verwendet eine Umgebungsdatei (.env
), um Konfigurationen wie Datenbankzugänge und Server-Einstellungen festzulegen.
Kopiere die Beispiel-Konfiguration:
cp .env.example .env
Öffne die Datei mit Deinem Lieblingseditor (z. B. nano .env
) und passe folgende Punkte an:
- Datenbankzugangsdaten: Falls Du MariaDB nutzt, trage hier die Zugangsdaten ein.
- Domain: Setze hier Deine eigene Domain ein.
- Weitere Einstellungen: Debug-Modus, App-URL etc.
4. Datenbank einrichten
Pixelfed benötigt eine relationale Datenbank. Hier ein Beispiel, wie Du MariaDB installieren und konfigurieren kannst:
MariaDB auf dem Host installieren
sudo apt install mariadb-server -y
sudo mysql_secure_installation
Datenbank und Benutzer erstellen
Melde Dich bei MySQL an:
sudo mysql -u root -p
Führe folgende SQL-Befehle aus:
CREATE DATABASE pixelfed;
CREATE USER 'pixelfeduser'@'localhost' IDENTIFIED BY 'dein_sicheres_passwort';
GRANT ALL PRIVILEGES ON pixelfed.* TO 'pixelfeduser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Alternative: MariaDB als Docker-Container
Falls Du MariaDB in einem Container laufen lassen willst, kannst Du Folgendes verwenden:
docker run --name mariadb -e MYSQL_ROOT_PASSWORD=dein_sicheres_passwort -e MYSQL_DATABASE=pixelfed -e MYSQL_USER=pixelfeduser -e MYSQL_PASSWORD=dein_sicheres_passwort -d mariadb:latest
5. Pixelfed starten
Falls Pixelfed ein docker-compose.yml
-Setup mitbringt, kannst Du einfach folgende Befehle ausführen:
docker compose build
docker compose up -d
6. Einrichtung abschließen
Nach dem Starten der Container musst Du noch Datenbankmigrationen ausführen und eventuell einen symbolischen Link für den Dateispeicher anlegen:
docker compose exec app php artisan migrate --seed
docker compose exec app php artisan storage:link
7. Absicherung Deiner Instanz
a) HTTPS nutzen
Nutze Nginx als Reverse Proxy mit Let’s Encrypt für SSL-Verschlüsselung:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d deine-domain.de -d www.deine-domain.de
Beispiel für eine optimierte Nginx-Konfiguration:
server {
listen 80;
server_name deine-domain.de www.deine-domain.de;
location / {
proxy_pass http://127.0.0.1:8000;
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;
}
}
b) Firewall konfigurieren
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable
sudo ufw status
c) Regelmäßige Updates
sudo apt update && sudo apt upgrade -y
docker compose pull
docker compose up -d
8. Nützliche Tipps
- Backups: Sichere regelmäßig Deine Datenbank und Konfigurationsdateien.
- Dokumentation: Prüfe regelmäßig die offizielle Pixelfed-Dokumentation für Updates.
- Logs überwachen: Kontrolliere Server- und Applikationslogs.
- Community: Nutze Foren und Gruppen für Hilfe und Tipps.
Mit diesen Schritten hast Du eine solide Grundlage, um Deine eigene Pixelfed-Instanz auf einem Ubuntu-Server zu betreiben und abzusichern. Natürlich gibt es immer weitere Feinheiten und individuelle Anpassungen, aber für den Anfang…
Viel Erfolg und Spaß mit Deiner neuen Instanz! 🚀