You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+7-29Lines changed: 7 additions & 29 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,7 +25,7 @@ Powerful real-time tracker for Spotify friend music activity: monitor listening
25
25
pip install spotify_monitor
26
26
```
27
27
28
-
Run setup by itself:
28
+
Run setup wizard:
29
29
30
30
```sh
31
31
spotify_monitor --setup
@@ -41,30 +41,16 @@ Use a macOS shell or Windows PowerShell with a Docker-compatible runtime that pr
41
41
docker run --rm --pull=always -it --init -v "${PWD}:/data:z" misiektoja/spotify-monitor:latest --setup
42
42
```
43
43
44
-
After setup finishes, start monitoring with the files created by the wizard:
45
-
46
-
```sh
47
-
docker run --rm -it --init -v "${PWD}:/data:z" misiektoja/spotify-monitor:latest --config-file /data/spotify_monitor.conf
48
-
```
49
-
50
-
The setup command pulls the current image. Both commands keep configuration, private values and output in the current directory.
51
-
52
-
In Windows Command Prompt replace `${PWD}` with `%cd%`. Windows hosts must use Linux containers.
44
+
In Windows Command Prompt replace `${PWD}` with `%cd%` above.
53
45
54
46
##### Linux
55
47
56
-
`--user "$(id -u):$(id -g)"`runs the container with your numeric user and group IDs. This lets the container write files that your host account can edit.
48
+
Run the container with your numeric user and group IDs (`--user "$(id -u):$(id -g)"`below). This lets the container write files that your host account can edit.
Docker-compatible runtimes on macOS and Windows normally do not need these values.
84
70
85
-
Run setup by itself:
71
+
Run setup wizard:
86
72
87
73
```sh
88
74
docker compose run --rm --pull=always spotify_monitor --setup
89
75
```
90
76
91
-
After setup finishes, start monitoring with the shorter recurring command:
92
-
93
-
```sh
94
-
docker compose up --no-log-prefix
95
-
```
96
-
97
77
For the manual single-file method, optional extras and upgrade commands for every method, see [Installation](https://misiektoja.github.io/spotify_monitor/installation/).
98
78
99
79
<aid="features"></a>
@@ -147,12 +127,10 @@ Spotify only shows a person's listening activity when both of these conditions a
147
127
148
128
The setup wizard checks whether the monitoring account follows the target. It can send the follow request after you confirm. To follow manually, open the target's profile in the Spotify desktop or mobile app. You can use **Share** > **Copy link to profile** and paste the complete link into the wizard. You do not need to extract the user ID. See [Following the Monitored User](https://misiektoja.github.io/spotify_monitor/configuration/#following-the-monitored-user).
149
129
150
-
Firefox import is the recommended login path for local and container installs. See [Container Operation](https://misiektoja.github.io/spotify_monitor/usage/#import-firefox-into-container-authentication) for the host-specific import commands.
151
-
152
130
<aid="common-commands"></a>
153
131
## Common Commands
154
132
155
-
Use [Quick Install & Run](#-quick-install-run) above for first-time setup. The table uses PyPI commands. For manual script, direct Docker and Docker Compose equivalents, see [Run Individual Commands](https://misiektoja.github.io/spotify_monitor/quick-start/#run-individual-commands).
133
+
Use [Quick Install & Run](#-quick-install-run) above for first-time setup. The table uses PyPI commands. For manual script, direct Docker and Docker Compose equivalents, see [Run Individual Commands](https://misiektoja.github.io/spotify_monitor/setup-and-first-run/#run-individual-commands).
156
134
157
135
| I want to... | Run this |
158
136
| --- | --- |
@@ -166,7 +144,7 @@ Use [Quick Install & Run](#-quick-install-run) above for first-time setup. The t
166
144
167
145
Running the tool with no arguments offers the wizard if you have not saved a target. If a target is already saved, it starts monitoring that target.
168
146
169
-
For authentication, saved targets, configuration backups and setup recovery, see the [full Quick Start guide](https://misiektoja.github.io/spotify_monitor/quick-start/).
147
+
For authentication, saved targets, configuration backups and setup recovery, see the [full Setup & First Run guide](https://misiektoja.github.io/spotify_monitor/setup-and-first-run/).
170
148
171
149
For browser profiles, manual cookie extraction, Docker authentication, email and webhook setup, see [Configuration](https://misiektoja.github.io/spotify_monitor/configuration/). For notification choices, playback controls and output files, see [Usage](https://misiektoja.github.io/spotify_monitor/usage/).
172
150
@@ -176,7 +154,7 @@ For browser profiles, manual cookie extraction, Docker authentication, email and
176
154
Full documentation is available at **[misiektoja.github.io/spotify_monitor](https://misiektoja.github.io/spotify_monitor/)**:
177
155
178
156
-[Installation](https://misiektoja.github.io/spotify_monitor/installation/) - PyPI, manual script, Docker installation and upgrades
179
-
-[Quick Start](https://misiektoja.github.io/spotify_monitor/quick-start/) - setup wizard, authentication and first run
157
+
-[Setup & First Run](https://misiektoja.github.io/spotify_monitor/setup-and-first-run/) - setup wizard, authentication and first run
180
158
-[Configuration](https://misiektoja.github.io/spotify_monitor/configuration/) - Spotify login, targets, SMTP, webhooks and secrets
Copy file name to clipboardExpand all lines: RELEASE_NOTES.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,12 @@
2
2
3
3
This is a high-level summary of the most important changes.
4
4
5
+
# Changes in 3.1.1 (24 Jul 2026)
6
+
7
+
**Bug fixes**:
8
+
9
+
-**BUGFIX:** Updated the built-in guide link to the renamed **Setup & First Run** page so CLI help and recovery guidance no longer point to the retired Quick Start URL
10
+
5
11
# Changes in 3.1 (23 Jul 2026)
6
12
7
13
Version **3.1** makes **Docker onboarding portable across macOS, Linux and Windows**. Setup now centers on **host-aware Firefox authentication**, keeps configuration and secrets on the persistent **`/data` bind mount** and carries exact **Doctor and monitoring commands** through recovery.
Copy file name to clipboardExpand all lines: docs/configuration.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -140,7 +140,7 @@ Follow these steps:
140
140
141
141
As an alternative, [Cookie-Editor by cgagnier](https://cookie-editor.com/) can display the `sp_dc` value. Only use a browser extension that you trust because browser extensions can access sensitive login cookies.
142
142
143
-
The recommended `--set-sp-dc` command validates the cookie with Spotify before changing `.env`. Existing cookie replacement requires confirmation. See the [copy-paste commands](quick-start.md#run-individual-commands) for PyPI, downloaded-script, Docker Compose and Docker installations.
143
+
The recommended `--set-sp-dc` command validates the cookie with Spotify before changing `.env`. Existing cookie replacement requires confirmation. See the [copy-paste commands](setup-and-first-run.md#run-individual-commands) for PyPI, downloaded-script, Docker Compose and Docker installations.
144
144
145
145
You can also provide `SP_DC_COOKIE` in these ways:
Copy file name to clipboardExpand all lines: docs/index.md
+8-28Lines changed: 8 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,7 +25,7 @@ Powerful real-time tracker for Spotify friend music activity: monitor listening
25
25
pip install spotify_monitor
26
26
```
27
27
28
-
Run setup by itself:
28
+
Run setup wizard:
29
29
30
30
```sh
31
31
spotify_monitor --setup
@@ -41,32 +41,16 @@ Use a macOS shell or Windows PowerShell with a Docker-compatible runtime that pr
41
41
docker run --rm --pull=always -it --init -v "${PWD}:/data:z" misiektoja/spotify-monitor:latest --setup
42
42
```
43
43
44
-
After setup finishes, start monitoring with the files created by the wizard:
45
-
46
-
```sh
47
-
docker run --rm -it --init -v "${PWD}:/data:z" misiektoja/spotify-monitor:latest --config-file /data/spotify_monitor.conf
48
-
```
49
-
50
-
The setup command pulls the current image. Both commands keep configuration, private values and output in the current directory.
51
-
52
-
In Windows Command Prompt replace `${PWD}` with `%cd%`. Windows hosts must use Linux containers.
53
-
54
-
When setup asks how to import Firefox on Windows, choose PowerShell or Command Prompt. The wizard prints the matching direct Docker command with the current directory mounted at `/data` and the Firefox profile under `%APPDATA%\Mozilla\Firefox` mounted read-only. The same host choice also prints the matching Docker Compose import command.
44
+
In Windows Command Prompt replace `${PWD}` with `%cd%` above.
55
45
56
46
##### Linux
57
47
58
-
`--user "$(id -u):$(id -g)"`runs the container with your numeric user and group IDs. This lets the container write files that your host account can edit.
48
+
Run the container with your numeric user and group IDs (`--user "$(id -u):$(id -g)"`below). This lets the container write files that your host account can edit.
On a native Linux container engine, export your numeric user ID and group ID so files created in the current directory belong to you instead of `root`. Docker-compatible runtimes on macOS and Windows normally do not need these values.
62
+
Linux container engine requires to export your numeric user ID and group ID so files created in the current directory belong to you instead of `root`.
79
63
80
64
```sh
81
65
export SPOTIFY_MONITOR_UID="$(id -u)"
82
66
export SPOTIFY_MONITOR_GID="$(id -g)"
83
67
```
84
68
85
-
Run setup by itself:
69
+
Docker-compatible runtimes on macOS and Windows normally do not need these values.
86
70
87
-
```sh
88
-
docker compose run --rm --pull=always spotify_monitor --setup
89
-
```
90
-
91
-
After setup finishes, start monitoring with the shorter recurring command:
71
+
Run setup wizard:
92
72
93
73
```sh
94
-
docker compose up --no-log-prefix
74
+
docker compose run --rm --pull=always spotify_monitor --setup
95
75
```
96
76
97
-
For the manual single-file method, optional extras and upgrade commands for every method, see [Installation](installation.md).
77
+
For the manual single-file method, optional extras and upgrade commands for every method, see [Installation](https://misiektoja.github.io/spotify_monitor/installation/).
-`spotipy` is optional and is needed only for legacy OAuth metadata access
15
-
-`pycookiecheat` is optional and is needed only to import cookies from Chrome, Brave or Chromium
14
+
-[spotipy](https://github.com/spotipy-dev/spotipy) is optional and is needed only for legacy OAuth metadata access
15
+
-[pycookiecheat](https://github.com/n8henrie/pycookiecheat) is optional and is needed only to import cookies from Chrome, Brave or Chromium
16
16
17
17
**Container path** (Python is included in the image):
18
18
@@ -30,9 +30,9 @@ The examples use the `docker` command. Check that it works with `docker --versio
30
30
31
31
Tested on:
32
32
33
-
***macOS**: Ventura, Sonoma, Sequoia, Tahoe
34
-
***Linux**: Raspberry Pi OS (Bullseye, Bookworm, Trixie), Ubuntu 24/25, Rocky Linux 8.x/9.x, Kali Linux 2024/2025
35
-
***Windows**: 10, 11
33
+
***macOS**: Tahoe, Sequoia, Sonoma, Ventura
34
+
***Linux**: Raspberry Pi OS (Trixie, Bookworm, Bullseye), Ubuntu 24/25, Rocky Linux 8.x/9.x, Kali Linux 2026/2025/2024
35
+
***Windows**: 11, 10
36
36
37
37
It should work on other versions of macOS, Linux, Unix and Windows as well.
38
38
@@ -127,13 +127,19 @@ Use `python spotify_monitor.py --version` on Windows.
127
127
<aid="docker-image"></a>
128
128
### Install from Docker Hub
129
129
130
-
The published [`misiektoja/spotify-monitor`](https://hub.docker.com/r/misiektoja/spotify-monitor) image supports `linux/amd64` and `linux/arm64`:
130
+
The published [`misiektoja/spotify-monitor`](https://hub.docker.com/r/misiektoja/spotify-monitor) image supports `linux/amd64` and `linux/arm64`.
131
131
132
-
No separate image download is required. Continue to [Quick Start](quick-start.md#new-here-run-the-setup-wizard). Its first-run command uses `docker run --pull=always` to pull the current image and start the setup wizard in one step.
132
+
No separate image download is required. Its first-run command uses `docker run --pull=always` to pull the current image and start the setup wizard in one step, so for Docker installing and setting up are a single command:
133
+
134
+
```sh
135
+
docker run --rm --pull=always -it --init -v "${PWD}:/data:z" misiektoja/spotify-monitor:latest --setup
136
+
```
137
+
138
+
On a native Linux container engine, add `--user "$(id -u):$(id -g)"` immediately after `--init`. [Setup & First Run](setup-and-first-run.md#new-here-run-the-setup-wizard) shows the exact command for macOS shells, Windows PowerShell and native Linux engines then explains what the wizard asks.
133
139
134
140
Normal monitoring commands reuse the installed image and do not check for a newer release. The [upgrade instructions](#upgrade-a-direct-docker-installation) pull explicitly when you choose to upgrade.
135
141
136
-
Normal runs make the current directory available as `/data` in the container. Configuration and output written there remain on the host after the temporary container stops. On a native Linux container engine, the command also passes your numeric user and group IDs so new files belong to you.[Quick Start](quick-start.md#new-here-run-the-setup-wizard) shows the complete commands for macOS shells, Windows PowerShell and native Linux engines.
142
+
Normal runs make the current directory available as `/data` in the container. Configuration and output written there remain on the host after the temporary container stops. On a native Linux container engine, the command also passes your numeric user and group IDs so new files belong to you.
137
143
138
144
The macOS shell and Windows PowerShell examples use `${PWD}`. In Windows Command Prompt use `%cd%` for the current directory. Native Linux examples use `$PWD` and pass your numeric user and group IDs.
139
145
@@ -170,7 +176,13 @@ SPOTIFY_MONITOR_GID=1000
170
176
171
177
The values above are only examples. Use the numbers returned on your system. The setup wizard keeps unrelated entries in this file. Docker-compatible runtimes on macOS and Windows normally handle bind-mount ownership, so users on those systems can usually skip this step. If `/data` is not writable, set the host user and group IDs as shown above.
172
178
173
-
Compose makes the current host directory available as `/data` inside the container. This is called a bind mount. The setup wizard creates `spotify_monitor.conf` and `.env` there, so the files remain on your computer when the container is replaced. Keep this directory and continue with [Quick Start](quick-start.md#new-here-run-the-setup-wizard). Its Compose setup command pulls the current image with `--pull=always`, so no separate `docker compose pull` is needed during onboarding.
179
+
Compose makes the current host directory available as `/data` inside the container. This is called a bind mount. The setup wizard creates `spotify_monitor.conf` and `.env` there, so the files remain on your computer when the container is replaced. From this directory your first command is the setup wizard:
180
+
181
+
```sh
182
+
docker compose run --rm --pull=always spotify_monitor --setup
183
+
```
184
+
185
+
The `--pull=always` flag pulls the current image first, so no separate `docker compose pull` is needed during onboarding. On a native Linux container engine, export the UID and GID shown above in the same terminal before you run setup. See [Setup & First Run](setup-and-first-run.md#new-here-run-the-setup-wizard) for the wizard walkthrough.
174
186
175
187
<aid="build-docker-locally"></a>
176
188
### Build the Docker Image Locally
@@ -187,7 +199,7 @@ To use this image through Compose, comment out `image:` in `docker-compose.yml`
187
199
<aid="next-step"></a>
188
200
## Next Step
189
201
190
-
Continue to [Quick Start](quick-start.md). It shows the setup wizard command for every installation method then explains authentication and the first monitoring run.
202
+
Continue to [Setup & First Run](setup-and-first-run.md). It shows the setup wizard command for every installation method then explains authentication and the first monitoring run.
Copy file name to clipboardExpand all lines: docs/setup-and-first-run.md
+9-4Lines changed: 9 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,9 @@
1
-
# Quick Start
1
+
# Setup & First Run
2
2
3
3
<aid="new-here-run-the-setup-wizard"></a>
4
-
## New here? Run the setup wizard
4
+
## Run the setup wizard
5
5
6
-
Quick Start configures an existing installation.If you opened this page first, choose [PyPI](installation.md#install-from-pypi), the [manual Python script](installation.md#manual-installation), the [Docker image](installation.md#docker-image) or [Docker Compose](installation.md#docker-compose). Complete that method's prerequisites and return here.
6
+
This page assumes Spotify Monitor is already installed (see [Installation](installation.md)). It walks through the interactive setup wizard then your first monitoring run. If you opened this page first, choose [PyPI](installation.md#install-from-pypi), the [manual Python script](installation.md#manual-installation), the [Docker image](installation.md#docker-image) or [Docker Compose](installation.md#docker-compose), finish that method's steps then return here.
7
7
8
8
Then use the interactive setup wizard. It asks who to monitor, how to connect to Spotify and which alerts to enable. You can review and change your answers before saving. Regular settings go in `spotify_monitor.conf`. Private values such as login cookies and webhook URLs go in `.env`.
9
9
@@ -74,7 +74,7 @@ After saving authentication, the wizard checks whether the monitoring account fo
74
74
75
75
For Docker or Docker Compose, choose **Import from Firefox after setup**. The wizard asks whether Docker runs on macOS, standard Linux, Linux with Snap, Linux with Flatpak, Windows PowerShell or Windows Command Prompt. It then prints the matching command to mount the signed-in host profile read-only once and save `SP_DC_COOKIE` in the host `.env` file. Windows commands use the Firefox profile under `%APPDATA%\Mozilla\Firefox`. Use [manual extraction](configuration.md#manual-cookie-extraction) only when that mount is unavailable.
76
76
77
-
If the selected configuration contains `TARGET_USER_URI_ID`, running Spotify Monitor without a target starts that saved user. If no target is saved, an interactive no-argument run shows quick-start guidance and offers the setup wizard.
77
+
If the selected configuration contains `TARGET_USER_URI_ID`, running Spotify Monitor without a target starts that saved user. If no target is saved, an interactive no-argument run shows setup guidance and offers the setup wizard.
78
78
79
79
If the selected `.env` file already contains a saved `SP_DC_COOKIE`, container setup offers to keep it. Otherwise Firefox import remains the default. Setup does not run Doctor while that import is pending. It finishes with the host-specific import command followed by the Doctor and monitoring commands.
80
80
@@ -198,3 +198,8 @@ To see all supported command-line arguments and flags:
198
198
```sh
199
199
spotify_monitor --help
200
200
```
201
+
202
+
<aid="next-step"></a>
203
+
## Next Step
204
+
205
+
With authentication saved and a first run working, continue to [Configuration](configuration.md) for targets, Spotify login, SMTP and secrets. See [Usage](usage.md) for command formats, monitoring, container operation, notifications, playback and output.
0 commit comments