Eén band, geen platform
Een installatie hoort bij één band. Geen accounts over banden heen, geen scheiding tussen huurders die mis kan gaan, geen dienst ertussen die kan verdwijnen. De server, de database en de gegevens zijn van de band.
Bandsoftware op je eigen server
Optredens, setlists, nummers, de bandkas, materiaal en een openbare bandpagina. Bandregie draait op je eigen server — geen account bij wie dan ook, geen abonnement, niemand anders die jullie gegevens heeft.
Demo proberen Bekijk op GitHub
PHP en een database. Geen framework, geen buildstap, geen afhankelijkheden — één keer installeren en over vijf jaar draait het nog.
Een band van zes draait op een groepsapp, drie spreadsheets en één persoon die alles onthoudt. Het antwoord op elke vraag staat érgens — je moet alleen weten wie het heeft en wanneer diegene weer op de telefoon kijkt.
Elk scherm in Bandregie bestaat omdat iemand precies die vraag ooit in de groepsapp zette en toen ging wachten.
Een installatie hoort bij één band. Geen accounts over banden heen, geen scheiding tussen huurders die mis kan gaan, geen dienst ertussen die kan verdwijnen. De server, de database en de gegevens zijn van de band.
Niet nóg een programma om gegevens in te typen. Elke pagina beantwoordt een vraag die anders in de groepsapp blijft hangen — meteen en voor iedereen hetzelfde.
Geen framework om bij te werken, geen buildstap, geen pakketlijst, geen script van derden. Wie dit installeert, moet het over vijf jaar nog kunnen draaien zonder dat iemand eraan gewerkt heeft.
Wat iemand voor zijn eigen materiaal betaalde, wat hij inlegt, wat van hem is — zichtbaar voor hem, niet voor de band. Rechten worden in de route gecontroleerd, nooit alleen in de weergave, en een invaller ziet de data waarvoor hij gevraagd is en verder niets.
De afbeeldingen tonen de meegeleverde demogegevens — een verse installatie ziet er meteen zo uit.
Wat organisatoren en publiek zien: komende optredens, foto's, muziek, contact. Bandnaam, logo en achtergrond komen uit de instellingen. Heb je al een site? Zet de openbare pagina op doorverwijzen — het ledengedeelte, de agenda-feed en de juridische pagina's blijven bereikbaar.
Eén klik op ✔ ? ✘ en iedereen ziet wie kan. Drie tijden per afspraak — verzamelen, podium, einde — status van aangevraagd tot bevestigd, gage, opmerkingen. Wie weg is, valt op voordat iemand vertrekt.
Adres, contactpersoon en hoe het de vorige keer was — podiumgrootte, stroom, toegang. „Adres zoeken" vraagt desgewenst bij OpenStreetMap na en vult de coördinaten in, het navigatiepictogram opent de kaartenapp van je toestel. Het moet eerst in de instellingen worden toegestaan — anders blijft de knop grijs en verlaat er niets de server.
Pauzes, aankondigingen en toegiften op de juiste plek, speelduur in beeld, kopiëren in plaats van opnieuw bouwen. Een accolade vat meerdere nummers samen onder één aankondiging. Voor het podium is er een printweergave — je kiest wat erop komt —, de teleprompter start rechtstreeks vanuit de set, en wat gespeeld is blijft als geschiedenis staan.
Songtekst en akkoordblad schermvullend, scrollen vanzelf — secties in kleur, het scherm blijft aan. Gestart vanuit de setlist, nummer voor nummer, het tempo in BPM. Elke muzikant schakelt naar zijn eigen blad.
Elk nummer heeft een levensloop — van idee via „in het programma" tot afgevoerd — en een teller hoe vaak het live klonk. Songtekst en het akkoordblad van de gitarist horen erbij, op het podium leesbaar in de teleprompter.
Doorlopende opdrachten boeken zichzelf, de inleg van de leden staat tegenover de huur van de oefenruimte, openstaande gages vallen op. Wie de kas mag zien, bepaalt het rechtenbeheer.
Alles in elkaar, van de flightcase tot de capsule — elk onderdeel met eigenaar, standplaats en staat (nieuw, B-stock, gebruikt). De aankoopprijs is van wie betaald heeft en van niemand anders; de factuur ligt er als eigen bewijsstuk bij. Terugkerende termijnen — keuring, onderhoud — melden zichzelf.
Uit de leden en hun instrumenten ontstaat een plan dat de organisator echt kan lezen — met kanaallijst en ingangen in plaats van een schets op een servet.
Wie wat mag zien en wijzigen bepaalt een fijnmazig rechtenbeheer — niet iedereen ziet de bandkas. Invallers krijgen alleen wat hun optredens nodig hebben en vallen uit de sjabloon voor het podiumplan.
Geen bereik, en toch staat alles er: elk lid kiest in het profiel wat op de eigen telefoon komt — optredens, setlists met afdrukweergave, nummers met tekst en akkoorden, de rider, de patchlijst. Het werkt zichzelf op de achtergrond bij; een los optreden gaat met één knop mee.
Push voor nieuwe optredens, reacties en toe- of afzeggingen — per onderwerp aan of uit, per apparaat. Wat nog openstaat, staat als getal op het app-icoon. Zonder browserondersteuning blijft alles zoals het was.
Inloggen met een passkey — via vingerafdruk, gezicht of apparaat-pin, helemaal zonder wachtwoord. Liever een wachtwoord? Beveilig het met een tweede factor: een zescijferig getal dat elke 30 seconden verandert. Wie het wachtwoord kent, komt er zo nog niet in.
Eén zoekveld over alles — omschrijving, herkomst, optreden, labels. De dertig foto's van een optreden vink je aan en wijs je in één keer aan het optreden toe; gesorteerd op jaar, optreden en fotograaf. Een gekoppelde OneDrive-map wordt dagelijks gecontroleerd, nieuwe foto's komen er vanzelf bij — de bestanden blijven waar ze staan. Eén vinkje zet een foto op de openbare pagina.
Aanvragen komen per mail — en blijven liggen tot iemand er een optreden van maakt. Bandregie haalt de mailbox op via IMAP, alleen lezend, en maakt van een aanvraag een voorstel dat je controleert voordat het in de agenda staat. Antwoorden schrijf je ter plekke en ze blijven bij het gesprek, bijlagen verhuizen naar het optreden waar ze bij horen.
Een volledige installatie met een verzonnen band: optredens, nummers, setlists, kas, materiaal. Meld je aan als beheerder om alles te zien — of als lid en als invaller, om te zien hoeveel minder die twee te zien krijgen.
De demo wordt elk heel uur teruggezet. Alles wat je aanmaakt, wijzigt of verwijdert is daarna weg — probeer dus gerust alles uit.
| Beheerder | admin@example.com |
demo |
|---|---|---|
| Lid | lisa@example.com |
demo |
| Invaller | nora@example.com |
demo |
De interface is er in het Duits, Engels, Nederlands, Frans, Spaans en Italiaans. Bandteksten en juridische pagina's worden per taal onderhouden, met een terugvalketen: gekozen taal → standaardtaal → Engels → Duits. Welke talen verschijnen bepaalt de band, en elke tekst is in het bandgedeelte bij te werken.
Bandnaam, logo, achtergrond en favicon staan in de instellingen. Naar buiten toe wijst niets op Bandregie als jullie dat niet willen — de openbare pagina is van jullie.
Bandregie staat onder de Functional Source License 1.1 met Apache 2.0 als toekomstige licentie. Alles is toegestaan behalve concurrerend gebruik: Bandregie zelf aanbieden als commercieel product of gehoste dienst. Twee jaar na elke uitgave vervalt ook die beperking en valt die versie onder Apache 2.0.
Gratis voor je eigen band: installeren, draaien, aanpassen, doorgeven — ook als de band met optredens geld verdient.
Dit is een licentie met openbare broncode, maar geen door de OSI erkende opensourcelicentie, omdat opensource per definitie commercieel gebruik niet mag beperken. GitHub toont hem daarom als “Other”.
PHP 8.1 of nieuwer met pdo_mysql en fileinfo, MariaDB 10.4+ of MySQL 8, en een webserver. Geen build, geen pakketinstallatie, geen Node.
git clone https://github.com/computi71/bandregie.git
cp app/config.example.php app/config.php
Toegangsgegevens invullen en de pagina openen: de toepassing maakt zelf de tabellen aan en importeert de vertalingen, en het eerste beheerderswachtwoord komt in een bestand buiten de webroot te staan. Eén knop in de instellingen vult de installatie met demogegevens, een tweede verwijdert precies die regels weer.
Naar de installatiehandleiding
Huidige versie: 1.246.1