At the beginning of the day, this was the status of squeezelite.service after install and enabling and starting:
$ sudo systemctl status squeezelite
× squeezelite.service - Squeezelite headless streaming music client
Loaded: loaded (/usr/lib/systemd/system/squeezelite.service; enabled; preset: disabled)
Drop-In: /usr/lib/systemd/system/service.d
└─10-timeout-abort.conf, 50-keep-warm.conf
Active: failed (Result: exit-code) since Sat 2026-03-14 19:15:37 GMT; 3s ago
Duration: 58ms
Invocation: 7e869c682da94bfa9774e935b3ace237
Docs: man:squeezelite.service(7)
Process: 1072061 ExecStart=/usr/bin/squeezelite -N /var/lib/squeezelite/player-name $ARGS (code=exited, status=1/FAILURE)
Main PID: 1072061 (code=exited, status=1/FAILURE)
Mem peak: 11.4M
CPU: 79ms
Mar 14 19:15:37 morgansmachine systemd[1]: Starting squeezelite.service - Squeezelite headless streaming music client...
Mar 14 19:15:37 morgansmachine (eezelite)[1072061]: squeezelite.service: Referenced but unset environment variable evaluates to an >
Mar 14 19:15:37 morgansmachine systemd[1]: Started squeezelite.service - Squeezelite headless streaming music client.
Mar 14 19:15:37 morgansmachine squeezelite[1072061]: [19:15:37.448045] test_open:281 playback open error: Host is down
Mar 14 19:15:37 morgansmachine squeezelite[1072061]: [19:15:37.448078] output_init_common:401 unable to open output device: default
Mar 14 19:15:37 morgansmachine systemd[1]: squeezelite.service: Main process exited, code=exited, status=1/FAILURE
Mar 14 19:15:37 morgansmachine systemd[1]: squeezelite.service: Failed with result 'exit-code'.
And, after having a look at the unit file and realising it was running as usr/grp system user squeezelite this is what I’ve done:
$ sudo loginctl enable-linger squeezelite
$ ls /var/lib/systemd/linger
squeezelite
$ cat /etc/passwd|grep squeezelite
squeezelite:x:965:965:Squeezelite headless streaming music client:/var/lib/squeezelite:/sbin/nologin
Give squeezelite a login:
$ cat /etc/passwd|grep squeezelite
squeezelite:x:965:965:Squeezelite headless streaming music client:/var/lib/squeezelite:/bin/bash
$ sudo su - squeezelite
$ export XDG_RUNTIME_DIR=/run/user/$UID
$ systemctl --user enable pipewire
$ systemctl --user enable pipewire-pulse.service # unsure if this is necessary, it's not enabled in my user login but is running
$ systemctl --user start pipewire-pulse.service pipewire.service
$ systemctl --user enable --now wireplumber.service
$ systemctl --user daemon-reload
$ systemctl --user status pipewire pipewire-pulse wireplumber
● pipewire.service - PipeWire Multimedia Service
Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; preset: disabled)
Drop-In: /usr/lib/systemd/user/pipewire.service.d
└─00-uresourced.conf
/usr/lib/systemd/user/service.d
└─10-timeout-abort.conf
Active: active (running) since Sun 2026-03-15 18:07:19 GMT; 35min ago
Invocation: c4143b87cc684c6a9a8a102f7031e861
TriggeredBy: ● pipewire.socket
Main PID: 1394358 (pipewire)
Tasks: 3 (limit: 37656)
Memory: 4M (peak: 5.1M)
CPU: 23ms
CGroup: /user.slice/user-965.slice/user@965.service/session.slice/pipewire.service
└─1394358 /usr/bin/pipewire
● pipewire-pulse.service - PipeWire PulseAudio
Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; enabled; preset: disabled)
Drop-In: /usr/lib/systemd/user/service.d
└─10-timeout-abort.conf
Active: active (running) since Sun 2026-03-15 18:07:19 GMT; 35min ago
Invocation: 54346fc7b9454995856e94dd883a001f
TriggeredBy: ● pipewire-pulse.socket
Main PID: 1394360 (pipewire-pulse)
Tasks: 3 (limit: 37656)
Memory: 1.3M (peak: 2M)
CPU: 12ms
CGroup: /user.slice/user-965.slice/user@965.service/session.slice/pipewire-pulse.service
└─1394360 /usr/bin/pipewire-pulse
● wireplumber.service - Multimedia Service Session Manager
Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; preset: enabled)
Drop-In: /usr/lib/systemd/user/service.d
└─10-timeout-abort.conf
Active: active (running) since Sun 2026-03-15 18:07:19 GMT; 35min ago
Invocation: df283d8c92554d70a4cd5197ad6614a3
Main PID: 1394359 (wireplumber)
Tasks: 9 (limit: 37656)
Memory: 7.2M (peak: 8.4M)
CPU: 108ms
CGroup: /user.slice/user-965.slice/user@965.service/session.slice/wireplumber.service
└─1394359 /usr/bin/wireplumber
Remove squeezelite a login:
$ cat /etc/passwd|grep squeezelite
squeezelite:x:965:965:Squeezelite headless streaming music client:/var/lib/squeezelite:/sbin/nologin
And, at the end of the day, this is the status of squeezelite.service:
$ sudo systemctl status squeezelite
× squeezelite.service - Squeezelite headless streaming music client
Loaded: loaded (/usr/lib/systemd/system/squeezelite.service; enabled; preset: disabled)
Drop-In: /usr/lib/systemd/system/service.d
└─10-timeout-abort.conf, 50-keep-warm.conf
Active: failed (Result: exit-code) since Sun 2026-03-15 18:16:35 GMT; 3s ago
Duration: 57ms
Invocation: edbd9ccaaa5949bb81aa96c3853b2767
Docs: man:squeezelite.service(7)
Process: 1395413 ExecStart=/usr/bin/squeezelite -N /var/lib/squeezelite/player-name $ARGS (code=exited, status=1/FAILURE)
Main PID: 1395413 (code=exited, status=1/FAILURE)
Mem peak: 10.9M
CPU: 77ms
Mar 15 18:16:35 morgansmachine systemd[1]: Starting squeezelite.service - Squeezelite headless streaming music client...
Mar 15 18:16:35 morgansmachine systemd[1]: Started squeezelite.service - Squeezelite headless streaming music client.
Mar 15 18:16:35 morgansmachine squeezelite[1395413]: [18:16:35.130246] test_open:281 playback open error: Host is down
Mar 15 18:16:35 morgansmachine squeezelite[1395413]: [18:16:35.130308] output_init_common:401 unable to open output device: pipewire
Mar 15 18:16:35 morgansmachine systemd[1]: squeezelite.service: Main process exited, code=exited, status=1/FAILURE
Mar 15 18:16:35 morgansmachine systemd[1]: squeezelite.service: Failed with result 'exit-code'.
I found this that seemed relevant:
I’m all out of ideas - can anyone give me any pointers getting this running as a system service?