bandregie

Bandsoftware zum Selberhosten

Eine Band. Ein Ort. Kein Dienst dazwischen.

Eine Anfrage wird kalkuliert, vertraglich vereinbart, gespielt und abgerechnet — ohne das Programm zu verlassen. Dazu Termine, Setlisten, Songs, Bandkasse, Equipment und eine öffentliche Bandseite. Bandregie läuft auf eurem eigenen Server — ohne Konto bei irgendwem, ohne Abo, ohne dass jemand anders eure Daten hat.

Demo ausprobieren Auf GitHub ansehen

PHP und eine Datenbank. Kein Framework, kein Build-Schritt, keine Abhängigkeiten — einmal installiert und in fünf Jahren noch lauffähig.

Wie es sonst läuft

Eine Band aus sechs Leuten läuft über einen Gruppenchat, drei Tabellen und eine Person, die alles im Kopf hat. Die Antwort auf jede Frage steht irgendwo — man muss nur wissen, wer sie hat und wann sie das nächste Mal aufs Handy schaut.

Jede Ansicht in Bandregie gibt es, weil jemand genau diese Frage einmal in den Chat geschrieben und dann gewartet hat.

  • Wer kann am 14. spielen?
  • Was haben wir da letztes Mal gespielt?
  • Kostet der Proberaum mehr, als wir einzahlen?
  • In welchem Case liegt das Großmembranmikro — und was hat es gekostet?
  • Weiß der Veranstalter, wann wir aufbauen?

Wofür es gebaut ist

Eine Band, keine Plattform

Eine Installation gehört einer Band. Keine Konten über Bandgrenzen hinweg, keine fremde Band in derselben Datenbank, kein Dienst in der Mitte, der verschwinden kann. Server, Datenbank und Daten gehören der Band.

Antworten statt Listen

Nicht noch ein Werkzeug, in das man Daten einträgt. Jede Seite beantwortet eine Frage, die sonst im Chat steht — sofort und für alle gleich.

Nichts, was gepflegt werden muss

Kein Framework zum Aktualisieren, kein Build-Schritt, keine Paketliste, kein fremdes Skript. Wer das installiert, soll es in fünf Jahren noch betreiben können, ohne dass jemand daran gearbeitet hat.

Privates bleibt privat

Was jemand für sein eigenes Equipment bezahlt hat, was er einzahlt, was ihm gehört — sichtbar für ihn, nicht für die Band. Wer etwas nicht sehen soll, dem wird nicht bloß der Knopf ausgeblendet: Die Seite bleibt ihm verschlossen, auch wenn er ihre Adresse kennt. Eine Aushilfe sieht die Termine, für die sie gefragt wurde, und sonst nichts.

Was drin ist

Die Bilder zeigen die mitgelieferten Demodaten — eine frische Installation sieht sofort so aus.

Öffentliche Bandseite mit kommenden Terminen und Fotogalerie

Öffentliche Bandseite

Was Veranstalter und Publikum sehen: kommende Termine, Fotos, Musik, Kontakt. Bandname, Logo und Hintergrund kommen aus den Einstellungen. Wer schon eine Seite hat, schaltet die öffentliche Seite auf Weiterleitung — Mitgliederbereich, Kalenderabo und Rechtsseiten bleiben erreichbar.

Gastspielvertrag mit Veranstalter, Gage und festgeschriebenem Wortlaut

Vertrag statt Mailverlauf

So arbeiten die meisten Bands: Vertrag hin, unterschrieben zurück, fertig. Datum, Ort, Spielzeit und Gage stehen schon am Termin — der Vertrag holt sie sich von dort, ihr ergänzt den Wortlaut. Der Vertragspartner ist dabei nicht der Saal: Die Halle heißt „Stadtfest", gebucht wird über eine Agentur zwei Orte weiter, und die unterschreibt. Veranstalter sind deshalb eigene Datensätze, unabhängig vom Ort. Was verschickt und unterschrieben ist, bleibt wörtlich stehen, auch wenn jemand die Vorlage später ändert. Elektronische Signaturen gibt es bewusst nicht — unterschrieben wird auf Papier, der Scan landet beim Termin.

Kalkulation eines Auftritts mit Einzelposten, Nachlass und Gesamtbetrag

Was der Auftritt kosten soll

Gerechnet aus eurer eigenen Preisliste statt im Kopf: erste Stunde mit Auf- und Abbau, weitere Spielzeit, Anfahrt je Kilometer, eigene Anlage, Gasttechniker. Darunter der Nachlass fürs Dorffest, die Umsatzsteuer, die Summe — und was davon je Mitglied übrig bleibt. Ein Knopf trägt den Betrag als Gage in den Termin, damit nicht zwei Zahlen nebeneinander leben und irgendwann auseinanderlaufen. Gebraucht wird das nur für den Veranstalter, der den Preis wissen will, bevor er sich bindet — deshalb ist es ein eigener Schritt, den ihr einschaltet, und nicht der Weg, den alle gehen müssen.

Terminübersicht mit Verfügbarkeitsabfrage je Mitglied

Termine und Verfügbarkeit

Ein Klick auf ✔ ? ✘, und alle sehen, wer kann. Drei Zeiten je Termin — Treffen, Bühne, Ende —, Status von angefragt bis bestätigt, Gage, Kommentare, Vorband. Wer im Urlaub ist, fällt auf, bevor jemand losfährt.

Veranstaltungsort mit Adresse, Navi-Knopf, Zählern und den Terminen dort

Veranstaltungsorte mit Gedächtnis

Adresse, Ansprechpartner und was beim letzten Mal war — Bühnengröße, Strom, Zufahrt. „Adresse suchen" fragt auf Wunsch bei OpenStreetMap nach und trägt die Koordinaten ein, das Navi-Symbol öffnet die Karten-App eures Geräts. Erlaubt werden muss das erst in den Einstellungen — sonst bleibt der Knopf grau und es verlässt nichts den Server. Jeder Ort zählt mit, wie oft ihr dort gespielt habt, was noch ansteht, was nur angefragt war und was abgesagt wurde; Abgesagtes liegt zusammengeklappt unter den Terminen, die stattfanden.

Setlist mit Songs, Pausen und Zugabenblock

Setlisten

Pausen, Ansagen und Zugaben an der richtigen Stelle, Spielzeit im Blick, kopieren statt neu bauen. Eine Klammer fasst mehrere Songs unter eine Ansage. Für die Bühne gibt es eine Druckansicht — ihr wählt, was daraufsteht —, den Teleprompter startet ihr direkt aus dem Set, und was gespielt wurde, bleibt als Verlauf stehen.

Bühnen-Teleprompter mit farbig markierten Abschnitten und Tempo in BPM

Teleprompter für die Bühne

Liedtext und Akkordblatt in Vollbild, die von selbst scrollen — Abschnitte farbig, der Bildschirm bleibt wach. Aus der Setlist gestartet, Song für Song, das Tempo in BPM. Jeder Musiker schaltet auf sein eigenes Notenblatt.

Songliste mit Suchfeld, Statusfilter, Livezähler und Bewertung

Songs mit Lebenslauf

Jeder Song hat einen Lebenslauf — von der Idee über „im Programm" bis zum Rausschmiss — und einen Zähler, wie oft er live lief. Liedtext und das Akkordblatt des Gitarristen liegen dabei, auf der Bühne lesbar im Teleprompter. Ein Suchfeld über Titel und Original und ein Filter über den Status finden den einen Song auch in einer langen Liste — die Auswahl steht in der Adresse, also lässt sie sich weitergeben, und der Zurück-Knopf tut, was er soll. Als Status liegt „Demo" zwischen Vorschlag und Vorbereitung.

Bandkasse mit Buchungen, Daueraufträgen und Salden

Bandkasse

Daueraufträge buchen sich selbst, die Einlagen der Mitglieder stehen der Proberaummiete gegenüber, offene Gagen fallen auf. Wer die Kasse sehen darf, entscheidet die Rechteverwaltung.

Equipmentliste mit verschachtelten Teilen und Fristen

Equipment

Alles ineinander, vom Flightcase bis zur Kapsel — jedes Teil mit Besitzer, Standort und Zustand (neu, B-Ware, gebraucht). Der Kaufpreis gehört dem, der bezahlt hat, und sonst niemandem; die Rechnung liegt als eigener Beleg dabei. Wiederkehrende Fristen — Prüfung, Wartung — melden sich von selbst.

Bühnenplan mit Positionen der Mitglieder und Kanalliste

Bühnenplan und Rider

Aus den Mitgliedern und ihren Instrumenten entsteht ein Plan, den der Veranstalter lesen kann — mit Kanalliste und Eingängen statt einer Skizze auf einer Serviette.

Thema im Bandchat mit Beiträgen und der Marke für den ersten ungelesenen

Reden, ohne Gruppenchat

Ein Thema je Sache, die Beiträge darunter — und der Einstieg landet beim ersten Beitrag, den ihr noch nicht gelesen habt, markiert mit „Ab hier neu". Kein Scrollen durch dreihundert Nachrichten auf der Suche nach der Stelle, an der ihr aufgehört habt. Was ungelesen ist, steht als Zahl auf dem App-Symbol.

Mitgliederliste mit Rollen und Rechten

Mitglieder und Rechte

Wer was sehen und ändern darf, entscheidet eine feine Rechteverwaltung — die Bandkasse etwa sieht nicht jeder. Aushilfen bekommen nur, was sie für ihre Termine brauchen, und fallen aus der Vorlage für den Bühnenplan.

Profil-Auswahl, was offline auf dem Handy bleibt

Offline auf der Bühne

Ohne Empfang ist trotzdem alles da: Jedes Mitglied wählt im Profil, was aufs eigene Handy soll — Termine, Setlisten mit Druckansicht, Songs mit Text und Akkorden, Rider, Patchliste. Hält sich im Hintergrund frisch; ein einzelner Termin ist mit einem Knopf dabei.

Mitteilungs-Einstellungen mit Themen je Gerät

Bescheid wissen, ohne nachzusehen

Push für neue Termine, Kommentare, Zu- und Absagen — je Thema an- oder abwählbar, je Gerät. Was noch offen ist, steht als Zahl auf dem App-Symbol. Wer eine Woche nicht hineinschaut, bekommt abends eine Mail mit dem, was er noch nicht gesehen hat: neue Einträge, ungelesene Beiträge, eigene offene Aufgaben, unbeantwortete Auftritte. Was nicht bis abends warten kann — der Auftritt ist verschoben, die Probe fällt aus —, wird als wichtig markiert und geht sofort raus. Eine abgesagte oder verschobene Veranstaltung meldet sich von selbst; jede andere Änderung bleibt still, damit eine Meldung etwas wert ist.

Profil-Abschnitt für den zweiten Faktor der Anmeldung

Anmelden ohne Passwort-Sorgen

Mit Passkey anmelden — per Fingerabdruck, Gesicht oder Geräte-PIN, ganz ohne Passwort. Wer beim Passwort bleibt, sichert es mit einem zweiten Faktor: eine sechsstellige Zahl, die alle 30 Sekunden wechselt. Wer das Passwort kennt, kommt damit trotzdem nicht hinein.

Fotoverwaltung mit Suche, Termin-Zuordnung und Ordnern nach Jahr

Fotogalerie, die sich selbst ordnet

Ein Suchfeld über alles — Beschreibung, Herkunft, Termin, Schlagworte. Die dreißig Bilder eines Auftritts hakt man an und ordnet sie in einem Zug dem Termin zu; sortiert nach Jahr, Termin und Fotograf. Ein verknüpfter OneDrive-Ordner wird täglich geprüft, neue Bilder kommen von selbst dazu — die Dateien bleiben, wo sie sind, in der Galerie liegt die Vorschau und daneben der Ordnerbaum, in dem die Bilder ohnehin schon stecken. Was raus darf, zeigt ein Haken auf der öffentlichen Seite.

Die Rechnung zum Auftritt

Nach dem Auftritt wird abgerechnet. Die Rechnung entsteht aus dem Vertrag — Veranstalter, Leistung, Gage und Steuersatz stehen dort schon —, bekommt eine fortlaufende Nummer und wandert als offener Posten in die Kasse, bis das Geld da ist. Bezahlt wird nirgends in der Anwendung: Sie schreibt die Rechnung und merkt sich, was aussteht.

Ein Zugang für die Agentur

Wer eure Termine vermittelt, bekommt ein eigenes Konto — und sieht weniger als die Band. Ihr entscheidet, ob die Agentur die Termine mit Inhalt sieht oder nur, dass ein Tag belegt ist; Verträge sieht sie ausschließlich die eigenen. Die Einstellung beginnt auf der geschlossenen Seite, denn eine Rolle, die mit allem offen ankommt, hat schon durchgereicht, bevor jemand darüber nachdenkt.

Aufgaben, die mehreren gehören

Plakate kleben machen drei Leute. Eine Aufgabe gehört deshalb so vielen Mitgliedern, wie sie braucht, mit einer Zahl dabei: alle, oder eine, oder zwei. Jeder hakt für sich ab, und man sieht, wer seinen Teil schon erledigt hat — statt dass einer für alle abhakt und niemand weiß, woran er ist. Eine Aufgabe hängt an dem, worum es geht: Termin, Song, Ort.

Das Bandpostfach

Anfragen kommen per Mail — und bleiben dort liegen, bis jemand sie in einen Termin übersetzt. Bandregie holt das Postfach per IMAP ab, nur lesend, und macht aus einer Anfrage einen Terminvorschlag, den ihr prüft, bevor er im Kalender steht. Geantwortet wird an Ort und Stelle, die Antwort bleibt beim Vorgang, und Anhänge wandern in den Termin, zu dem sie gehören.

Gäste für einen Abend

Tontechnikerin, Bläsersatz, Aushilfe — wer für einen Abend dazukommt, braucht kein Konto. Gäste stehen in einer Kontaktliste und werden auf einen Termin gebucht; die Einladung ist ein Link, über den zu- oder abgesagt wird. Nach der Zusage ist derselbe Link der Zugang zu Ablauf, Rider und Setlist — nur für diesen Termin, nur lesend, bis zum Mittag danach. Eine Absage entwertet ihn sofort. Wie es lief, wird je Einsatz bewertet; die Kontaktliste zeigt den Durchschnitt.

Und außerdem

  • Abwesenheiten mit Warnung bei Terminkonflikten
  • Steuerübersicht über die Einnahmen eines Jahres
  • Kalenderabo (iCal) für Handy und Rechner — mit Ort und antippbarem Navi-Link
  • Marken auf allem, was neu oder geändert ist, bis jeder es gesehen hat
  • Bebilderte Hilfe, die den Weg von der Anfrage bis zur Gage erklärt
  • Sicherungen mit Wiederherstellung und Systemprüfung

Live ausprobieren

Eine vollständige Installation mit einer erfundenen Band: Termine, Songs, Setlisten, Kasse, Equipment. Meldet euch als Admin an, um alles zu sehen — oder als Mitglied und als Aushilfe, um zu sehen, wie viel weniger die beiden gezeigt bekommen.

Die Demo setzt sich jede volle Stunde zurück. Alles, was ihr anlegt, ändert oder löscht, ist danach wieder weg — probiert also ruhig alles aus.

Demo öffnen

Zugangsdaten — für alle Besucher dieselben
Admin admin@example.com demo
Mitglied lisa@example.com demo
Aushilfe nora@example.com demo

Sechs Sprachen

Die Oberfläche gibt es auf Deutsch, Englisch, Niederländisch, Französisch, Spanisch und Italienisch. Bandtexte und Rechtsseiten werden je Sprache gepflegt, fehlt eine Übersetzung, erscheint der Text in der nächstbesten Sprache statt einer leeren Stelle. Welche Sprachen erscheinen, entscheidet die Band, und jeder Text lässt sich im Bandbereich nachbessern.

Eure Seite, nicht unsere

Bandname, Logo, Hintergrundbild und Favicon stehen in den Einstellungen. Nach außen weist nichts auf Bandregie hin, wenn ihr das nicht wollt — die öffentliche Seite ist eure.

Lizenz

Bandregie steht unter der Functional Source License 1.1 mit Apache 2.0 als Zukunftslizenz. Erlaubt ist alles außer der konkurrierenden Nutzung: Bandregie selbst als kommerzielles Produkt oder gehosteten Dienst anzubieten. Zwei Jahre nach jeder Veröffentlichung fällt auch diese Einschränkung weg und die Version steht unter Apache 2.0.

Für die eigene Band kostenlos: installieren, betreiben, ändern, weitergeben — auch wenn die Band mit ihren Auftritten Geld verdient.

Das ist eine quelloffene, aber keine von der OSI anerkannte Open-Source-Lizenz, weil Open Source die kommerzielle Nutzung per Definition nicht einschränken darf. GitHub zeigt sie deshalb als „Other“ an.

Loslegen

PHP 8.1 oder neuer mit pdo_mysql und fileinfo, MariaDB 10.4+ oder MySQL 8, ein Webserver. Kein Build, keine Paketinstallation, kein Node.

git clone https://github.com/computi71/bandregie.git
cp app/config.example.php app/config.php

Zugangsdaten eintragen und die Seite aufrufen: Tabellen und Übersetzungen legt die Anwendung selbst an, und sie sagt euch, wie ihr euch das erste Mal anmeldet. Ein Knopf in den Einstellungen füllt die Installation mit Demodaten, ein zweiter entfernt genau diese Zeilen wieder.

Zur Installationsanleitung

Aktuelle Version: 2.27.0