Selber hosten
voces.ch ist zu 100 % Open Source! Wir glauben, dass Infrastruktur für digitalen Aktivismus frei zugänglich sein sollte. Wenn du die Plattform für deine eigenen Projekte auf deinen eigenen Servern betreiben möchtest, kannst du das jederzeit tun.
Wir nutzen Lando als lokales Entwicklungsumfeld, da es die gesamte Infrastruktur (Webserver, Datenbank, PHP, Node) in wenigen Minuten über Docker bereitstellt. Für das Backend benutzen wir laravel & filament, das Widget nutzt vue.js.
Voraussetzungen
Bevor du loslegst, stelle sicher, dass folgende Tools auf deinem System installiert sind:
- Git
- Docker (z.B. Docker Desktop)
- Lando
1. Repository klonen
Klone als Erstes das offizielle voces.ch Repository von GitHub auf deinen lokalen Rechner und wechsle in das Verzeichnis:
bash git clone https://github.com/voces-ch/voces.ch.git
cd voces.ch2. Umgebungsvariablen (.env) konfigurieren
Laravel und unser Widget benötigen einige Umgebungsvariablen, um korrekt zu funktionieren. Kopiere die mitgelieferte Beispiel-Datei:
cp .env.example .env
Öffne nun die .env-Datei in deinem Editor. Für die lokale Lando-Umgebung musst du insbesondere die folgenden Werte überprüfen oder anpassen:
# 1. App Konfiguration
APP_NAME="voces.ch Local"
APP_ENV=local
APP_DEBUG=true
APP_URL=http://voces.lndo.site # Die Standard-URL für Lando
# 2. Datenbank (Lando Standardwerte)
DB_CONNECTION=mysql
DB_HOST=database
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laravel
DB_PASSWORD=laravel
# 3. Widget & Vite Konfiguration (Für das Frontend)
VITE_API_URL="${APP_URL}/api/v1"
WIDGET_VERSION=v13. Lando starten & Abhängigkeiten installieren
Jetzt lassen wir Lando die Magie erledigen. Starte die Container und installiere alle Backend-Abhängigkeiten (dies kann beim ersten Mal ein paar Minuten dauern):
lando startlando composer installSobald das abgeschlossen ist, generieren wir den Application Key für Laravel:
lando php artisan key:generate4. Datenbank aufsetzen
Erstelle die Tabellen in deiner Datenbank. Wenn du möchtest, kannst du auch direkt Testdaten (Seeder) laden:
lando php artisan migrate --seed5. Frontend kompilieren
Zu guter Letzt müssen wir die Assets für das Backend (Filament) und unser einbettbares Widget (Vue/Vite) bauen:
lando npm install && npm run build(Für die aktive Entwicklung am Widget kannst du stattdessen lando npm run dev nutzen, um Hot-Reloading zu aktivieren).
🎉 Das war's! Deine lokale Instanz von voces.ch sollte nun unter http://voces.lndo.site erreichbar sein.