Portable Nextcloud deployment bundle.
- Nextcloud (Apache image)
- MariaDB
- Redis
- Optional Caddy reverse proxy for automatic HTTPS on a real domain
- Persistent bind mounts under
./data .envtemplate and a helper script to generate secrets- Band workspace template generator
- Docker with Compose, or Podman with Compose support
- Enough disk space for your shared files
- A reachable port such as
8080, or a real domain later if you want HTTPS
- Copy this folder to the new machine.
- Generate secrets and data folders:
./scripts/init-env.sh- Review
.envand adjust these values if needed:
NEXTCLOUD_PORTAPP_BINDNEXTCLOUD_TRUSTED_DOMAINSOVERWRITEHOSTOVERWRITEPROTOCOL
- Start the stack:
docker compose up -d- Open:
http://localhost:8080
If you changed NEXTCLOUD_PORT, use that port instead.
This is the simplest setup for a private shared machine on a rehearsal-space or home network.
- Copy
.env.lan.examplevalues into.envas needed. - Set
NEXTCLOUD_TRUSTED_DOMAINSto your LAN IP or hostname. - Leave
OVERWRITEPROTOCOL=http. - Start with:
docker compose up -dExample access URL:
http://192.168.1.10:8080
For internet access or a cleaner domain setup, use the optional Caddy reverse proxy.
- Set up DNS for your domain, such as
cloud.example.com, to point to the future server. - Merge
.env.proxy.examplevalues into.env. - Start with:
docker compose -f docker-compose.yml -f docker-compose.proxy.yml up -d- Open:
https://cloud.example.com
Caddy will request and renew certificates automatically when the domain resolves correctly.
- Create one folder per song or release
- Use shared links for demos and lyrics
- Add the
Deck,Calendar, andTalkapps after login for collaboration - For a ready-made folder skeleton, run
./scripts/create-band-structure.sh
Suggested structure:
Songs/Demos/Lyrics/Setlists/Artwork/Gig Docs/
Start:
docker compose up -dStop:
docker compose downStart with HTTPS proxy:
docker compose -f docker-compose.yml -f docker-compose.proxy.yml up -dView logs:
docker compose logs -fUpdate later:
docker compose pull
docker compose up -d.envis intentionally ignored by git because it contains secrets../datais also ignored because it contains the actual database and uploaded files.APP_BIND=0.0.0.0makes the app reachable on the LAN. SetAPP_BIND=127.0.0.1when using the HTTPS proxy on the same host.- For public internet access, open ports
80and443to the server and use the proxy compose file.