Javis OS
Javis OS is an Agentic AI that assists entrepreneurs in business tasks, helping them grow their work.
AI translation
Your band's whole running order in one place: rehearsals, availability, repertoire, setlists, equipment, finances. Free, open source, self-hosted.
BusinessTypeScript · HTMLGitHub @maxxs78OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Self-hosted web app to organize a band — events, availability, repertoire, setlists, files, equipment and finances in one place. Next.js + SQLite, AGPL-3.0.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
🇩🇪 Dieses README gibt es auch auf Deutsch.
Bandplaner is a self-hosted, open-source band management web app. Rehearsals and gigs, who's available, the repertoire with keys and sheet music, setlists, equipment and packing lists, the band's finances, venues, and shared files — all in one place, instead of scattered across email, WhatsApp groups, and spreadsheets. It runs on your own server, a NAS, or a Raspberry Pi; there is no cloud and no subscription, and your data stays with you.
Built with Next.js and SQLite, packaged as a single Docker container. Interface in English and German.Read the full README ↗🇩🇪 Dieses README gibt es auch auf Deutsch.
Bandplaner is a self-hosted, open-source band management web app. Rehearsals and gigs, who's available, the repertoire with keys and sheet music, setlists, equipment and packing lists, the band's finances, venues, and shared files — all in one place, instead of scattered across email, WhatsApp groups, and spreadsheets. It runs on your own server, a NAS, or a Raspberry Pi; there is no cloud and no subscription, and your data stays with you.
Built with Next.js and SQLite, packaged as a single Docker container. Interface in English and German.
A user account can be a member of several bands and switch between them. Within each band there is a role model: Administrator (full rights including member and role management), Member, and Guest/Substitute with time-limited access (an "access until" date). New members and guests are added via an invitation link. Open self-registration is disabled by default — only the first account and invited people can register; set REGISTRATION_ENABLED=true for open registration (see INSTALLATION.md).
Independently of that, any number of people can be flagged as finance admin — deliberately decoupled from the role, so that the same person can be both administrator and finance admin, and so that several people can look after the finances. Finance admins are the only ones who see the complete financial overview, and they additionally get admin-equivalent rights for songs, equipment, files, and events — but no access to member management or the management page.
Sign-in works with either an email address or a username. All users can change their own password in their profile; admins can additionally set a new initial password for a member, which that member must change at the next login. After 5 consecutive failed login attempts an account is automatically locked for 2 days (protection against brute-force attempts); the lock then expires on its own or is lifted immediately by an admin password reset.
The interface is available in German and English, switchable via a language picker in the header. The choice is stored permanently in the user profile and applies across all bands; before login the app detects the language automatically from the browser settings.
An illustrated, English-language user handbook is linked from the info icon (ⓘ) in the header of every page (handbook, link to the source-code repository, license note, and current app version) and is also available as a standalone HTML file at public/docs/handbook/index.html.
Modules currently implemented:
The complete, more detailed functional specification – including planned, not-yet-implemented extensions such as polls / to-dos and AI-assisted setlist suggestions – is in Funktionsspezifikation-Bandplaner.md (German).
Larger modules can be enabled/disabled per band under Band → Management, so that the interface stays limited to what the group actually uses:
| Module | Default | Note |
|---|---|---|
| Equipment | on | – |
| Packing lists | on | requires Equipment |
| Finances | off | whoever enables it automatically becomes a finance admin if the band has none yet |
| Communication | off | sending mail additionally needs SMTP (see INSTALLATION.md) |
| Chat | off | one group chat per band plus private 1:1 messages, live update via polling |
| Media player | off | only controls playback; files and links remain usable regardless |
| within it: key detection | on | sub-toggle, only effective when the media player is active |
| Venues | off | without the module enabled, events keep just a free-text location field, as before |
Disabled modules disappear from the navigation but delete no data – everything is available again unchanged as soon as the module is re-enabled. The one deliberate exception: disabling public file links also blocks links that already exist, since it is meant as a security barrier.
A band is the central starting point: almost every other object belongs to exactly one band.
erDiagram
BAND }o--o{ MEMBER : "membership (role)"
BAND ||--o{ EVENT : has
BAND ||--o{ SONG : has
BAND ||--o{ SETLIST : has
BAND ||--o{ PACKING_LIST : has
BAND ||--o{ VENUE : has
BAND ||--o{ FINANCE_ENTRY : has
BAND ||--o{ FILE : has
BAND |o--o{ EQUIPMENT : "band-owned"
MEMBER |o--o{ EQUIPMENT : "personally owned"
MEMBER }o--o{ EVENT : "availability"
MEMBER }o--o{ SONG : "voting & notes"
MEMBER }o--o{ FINANCE_ENTRY : "fee / cost share"
EVENT |o--o| VENUE : "takes place at"
EVENT }o--o{ SETLIST : uses
EVENT }o--o{ PACKING_LIST : uses
EVENT ||--o{ FINANCE_ENTRY : causes
EVENT }o--o{ FILE : has
SETLIST }o--o{ SONG : "contains (ordered)"
SONG }o--o{ FILE : has
PACKING_LIST }o--o{ EQUIPMENT : contains
EQUIPMENT }o--o{ FILE : has
VENUE }o--o{ FILE : has
Reading aid:
(Not shown, to keep the overview readable: invitations, personal song notes, stage cues on setlist entries, finance-admin assignment.)
Is Bandplaner free? Yes. It is open-source software under the GNU AGPL-3.0. There is no subscription, no paid tier, and no account on anyone else's server.
Does it need the cloud or an internet connection? No. Bandplaner is self-hosted — it runs entirely on your own machine and all data stays there. The only optional outbound calls are the new-song assistant's metadata lookups (MusicBrainz, Discogs, Spotify) and venue address search (OpenStreetMap); each can be left disabled.
Can it run on a Synology NAS or a Raspberry Pi?
Yes. The Docker image is multi-arch (linux/amd64 + linux/arm64), so it runs on x86 servers, most modern Synology/QNAP NAS models, and a Raspberry Pi 4/5.
Is it a self-hosted alternative to BandHelper, Set List Maker, or Gig-o-Matic? It covers much of the same ground — shared repertoire with keys, setlists, scheduling, availability, and files — with a practice player on top. The trade-off: you host and update it yourself, and in return it is free, private, and has no per-seat pricing.
How many bands and members can I have? Unlimited. One account can belong to several bands and switch between them; each band has its own members, repertoire, and settings.
Is there a hosted version or a public demo? No. Bandplaner is self-hosted only — you run your own instance. Setup with Docker takes about a minute (see below).
Is there a mobile app? No native app. The interface is responsive and works in a phone browser; you can "Add to Home Screen" for an app-like shortcut.
What about GDPR / my members' data? Since you host it, you are the data controller. Bandplaner includes a personal data export and self-service account deletion for every user.
Next.js 16 (App Router), Prisma 7 with SQLite (better-sqlite3 adapter), NextAuth (Auth.js) v5, TypeScript, Tailwind CSS.
npm install
cp .env.example .env # adjust values, see the comments in the file
npx prisma migrate dev
npm run dev
Open http://localhost:3000. On first start, create an account via /register; the first band member automatically becomes the administrator of the first band they create.
For production use, a prebuilt multi-arch Docker image (amd64/arm64) is published at ghcr.io/maxxs78/bandplaner – no local build needed.
Quick start (details, HTTPS/reverse proxy, and platform-specific steps in the installation guide):
mkdir bandplaner && cd bandplaner
curl -fsSLO https://raw.githubusercontent.com/maxxs78/bandplaner/main/docker-compose.yml
curl -fsSL https://raw.githubusercontent.com/maxxs78/bandplaner/main/.env.example -o .env
# edit .env: set AUTH_SECRET (openssl rand -base64 32) and NEXT_PUBLIC_APP_URL
docker compose up -d
Updates: docker compose pull && docker compose up -d. Database migrations run automatically at start; data lives in three named volumes and survives updates.
To modify the code yourself, build the image locally – see docker-compose.build.yml and CONTRIBUTING.md.
Bandplaner is a hobby project, built in spare time.
Bug reports and feature requests are welcome – via the issues using the provided templates. There is no guarantee whether or when anything is implemented.
Pull requests are not accepted. Reviewing and taking responsibility for external code is more than a one-person hobby project can sustain; PRs from forks are closed automatically with a pointer to the issues. Forking and modifying under the AGPL-3.0 is of course allowed. Details: CONTRIBUTING.md.
Please report security vulnerabilities privately – see SECURITY.md, not as a public issue. Code of conduct: CODE_OF_CONDUCT.md.
Bandplaner is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0-only). Anyone who makes a modified version available over a network must provide its complete source code to users (AGPL § 13); for unmodified use, a pointer to this repository is sufficient.
The software is provided without any warranty, and use is at your own risk (see LICENSE, sections 15–17). For production use and hosting on behalf of others, backups, data protection, and availability are entirely the operator's responsibility.
.zip, and restore it later – as a copy on the same server, or on a different Bandplaner instance to migrate the band. Restoring always creates a brand-new band; nothing is ever overwritten.