mirror of
https://github.com/devgianlu/go-librespot.git
synced 2026-04-25 21:05:47 +03:00
[GH-ISSUE #201] Feature Request :Seperate state files from config #131
Labels
No labels
bug
enhancement
pull-request
spotify-side
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/go-librespot#131
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @guidcruncher on GitHub (Aug 31, 2025).
Original GitHub issue: https://github.com/devgianlu/go-librespot/issues/201
At the moment, state (persistence and lock file) are stored in the same folder which sometime can cause issues separating concerns in docker for example.
Maybe using the XDG Base directory speciation if these variables are set in the users environment?
https://specifications.freedesktop.org/basedir-spec/latest/
@markferry commented on GitHub (Sep 9, 2025):
Yup. Makes integration in to snapcast more awkward than it should be.
@devgianlu commented on GitHub (Sep 10, 2025):
I could see switching to XDG, but could you elaborate on what exactly are the difficulties introduced by having them in the same folder?
@guidcruncher commented on GitHub (Sep 10, 2025):
It’s more of a security thing, you may not want state (user tokens etc) to be exposed in the same location as your config, and certainly docker containers can offer you secure locations for these things
It doesn’t have to be XDG But the options to use Seperate locations maybe good.
@markferry commented on GitHub (Sep 11, 2025):
From a conventional unixy perspective I do expect to able to specify the path of the config file itself. (But maybe this in unconventional for golang?)
My config really wants to live under
/etcwith all the other daemon configs./etcis version controlled (e.g. etckeeper), and readonly for the go-librespot user. So can't really keep state there.FWIW, I'd also expect the state dir to be configurable (typically under
/var).