Skip to content

usenocturne/nocturne-ui

Repository files navigation


Nocturne
Nocturne UI

Nocturne's standalone web application built with Vite + React

How To UseDevelopmentContributingDonateCreditsRelatedLicense

Website Discord

Nocturne screenshot

How To Use

Flashing

The guide to flash Nocturne to your Car Thing is on the main Nocturne GitHub page.

Login

  1. Follow the steps for your operating system in the image's repo.
  2. Once running on your Car Thing, scan the QR Code using your phone's camera.
  3. 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.

Button Mapping and Button Usage

  • 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
  • Press the right-most top hardware button to go to the lock screen
  • Press the hardware button underneath the knob to go back in the application

Development

  1. Clone the repository:
git clone https://github.com/usenocturne/nocturne-ui.git
cd nocturne-ui
  1. Install dependencies:
bun install
  1. Run the local dev server
bun dev

Displaying your local changes on the Car Thing

After setting up your local server, you may follow these steps to see your changes on your Car Thing.

  1. You need to use a computer or Raspberry Pi as a host device for your Car Thing.
  2. SSH into the Car Thing.
    ssh root@172.16.42.2
    # The login password is "nocturne".
    
  3. Remount the rootfs as read/write.
    mount -o remount,rw /
    
  4. Edit /etc/sv/chromium/run.
    vi /etc/sv/chromium/run
    
  5. Jump to the end of the exec line by using arrow keys to go over it, and type $.
  6. Enter insert mode with i and replace the URL to point to your local server's IP address.
    --app=http://localhost:80
    # turns into
    --app=http://your.local.ip.address:port
  7. Remount the rootfs as read-only, sync changes, and restart Chromium.
    mount -o remount,ro /
    sync
    sv restart chromium
    

Contributing

  1. Fork the repository
    • Your changes should be based off the main branch.
  2. Create a feature branch: git checkout -b feature/new-feature
  3. Commit your changes: git commit -m 'chore/feat/fix: add new feature'
    • Please label your commits with chore, feat, fix, and optionally add which module you changed in parenthesis and a short description of the change (i.e. chore(ui): add new button).
  4. Push to the branch: git push origin feature/new-feature
  5. Open a Pull Request

Donate

Nocturne is a massive endeavor, and the team has spent every day over the last year making it a reality out of our passion for creating something that people like you love to use.

All donations are split between the three members of the Nocturne team and go towards the development of future features. We are so grateful for your support!

Donation Page

Credits

This software was made possible only through the following individuals and open source programs:


Related

License

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. :)

This software contains calls to the Nocturne API. Any use, distribution, or modification of this software constitutes acceptance of the Nocturne API License.


© 2025 Vanta Labs.

"Spotify" and "Car Thing" are trademarks of Spotify AB. This software is not affiliated with or endorsed by Spotify AB.

usenocturne.com  ·  GitHub @usenocturne  ·  Discord

About

Nocturne's standalone web application built with Vite + React

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 9