I have a Spotify player in JavaScript that I need to run headless in Raspian Bookworm on a RPi5. I am controlling the player using the spotipy module in python. I have both nginx and gunicorn running as system services, and everything is working when started in the GUI using VNC.
However, I need this system to be headless and have it all start up on boot. I can start a Chromium browser in headless, but no sound is produced when starting a song in the Spotify player.
Here is my service for the browser:
[Unit]
Description=Headfull Browser Service
After=gunicorn.service nginx.service network.target
Requires=gunicorn.service nginx.service
[Service]
ExecStartPre=/bin/sleep 10
ExecStart=/usr/bin/chromium-browser --headless --disable-gpu --autoplay-policy=no-user-gesture-required --mute-audio=false --alsa-output-device=default --use-fake-ui-for-media-stream --remote-debugging-port=9222 http://localhost
Restart=always
User=myuser
[Install]
WantedBy=multi-user.target
I tried doing stuff with PulseAudio, but would rather not go that way. Is there another easier way to run my JavaScript in headless?
1