A web application for nocturne-image and the Spotify Car Thing.
How To Use • Local Development Setup • Contributing • Donate • Credits • Related • License
- Follow the steps for your operating system in the image's repo.
- Once running on your Car Thing, scan the QR Code using your phone's camera.
- Authorize with Spotify and start using Nocturne!
Note
When connecting to Spotify, you may notice the app appears as 'Spotify for Desktop' - this is expected behavior and won't affect functionality.
- Hold one of the top hardware preset buttons while on a playlist page to map it to the button
- Press the mapped buttons to quickly play playlists
- Hold the right-most top hardware button to access settings
- Triple-press the right-most top hardware button to access brightness control
- Press the hardware button underneath of the knob to go back in the application
First, set up the configuration:
- Clone the repository:
# for upstream
git clone https://github.com/usenocturne/nocturne-ui.git
# for forks
git clone https://github.com/yourusername/nocturne-ui.git
cd nocturne-ui
- Install dependencies:
bun install
- Run the local dev server
bun dev
After setting up your local server, you may follow these steps to see your changes on your Car Thing.
- You need to use a computer or Raspberry Pi as a host device for your Car Thing.
- SSH into the Car Thing.
ssh root@172.16.42.2 # The login password is "nocturne".
- Remount the rootfs as read/write.
mount -o remount,rw /
- Edit
/etc/init.d/weston
.vi /etc/init.d/weston
- Jump to the end of the
command_args
line by using arrow keys to go over it, and type$
. - Enter insert mode with
i
and replace the URL to point to your local server's IP address.--app=http://localhost:3000 # turns into --app=http://your.local.ip.address:port
- Remount the rootfs as read-only, sync changes, and restart Weston.
mount -o remount,ro / sync rc-service weston restart
- Fork the repository
- Your changes should be based off the
main
branch.
- Your changes should be based off the
- Create a feature branch:
git checkout -b feature/new-feature
- Commit your changes:
git commit -m 'chore/feat/fix: add new feature'
- Please label your commits with chore, feat, fix, and optionally add a
- Push to the branch:
git push origin feature/new-feature
- Open a Pull Request
Nocturne is a massive endeavor, and the team have spent everyday over the last few months making it a reality out of our passion for creating something that people like you love to use.
All donations are split between the four members of the Nocturne team, and go towards the development of future features. We are so grateful for your support!
This software was made possible only through the following individuals and open source programs:
- Benjamin McGill, for giving Brandon a Car Thing to develop with
- bishopdynamics, for creating the original superbird-tool, and superbird-debian-kiosk
- Thing Labs's fork of superbird-tool, for their contributions on the original superbird-tool
- nocturne-image - The Alpine image that runs this web application
- nocturned - Local API for the Car Thing to handle bluetooth + others
This project is licensed under the GPL-3.0 license.
We kindly ask that any modifications or distributions made outside of direct forks from this repository include attribution to the original project in the README, as we have worked hard on this. :)
© 2025 Nocturne.
"Spotify" and "Car Thing" are trademarks of Spotify AB. This software is not affiliated with or endorsed by Spotify AB.
usenocturne.com · GitHub @usenocturne