Yooooomi / your_spotify

Self hosted Spotify tracking dashboard
GNU General Public License v3.0
3.08k stars 124 forks source link

Docker deployment issues #74

Closed marcstae closed 2 years ago

marcstae commented 2 years ago

Hi from Reddit :)

So I think it'll be easier if I paste my Docker compose file:

version: "3"

services:
  app:
    image: yooooomi/your_spotify_server
    container_name: express-mongo
    restart: always
    ports:
      - "8080:8080"
    links:
      - mongo
    depends_on:
      - mongo
    environment:
      - API_ENDPOINT=http://localhost:8080 # This MUST be included as a valid URL in the spotify dashboard
      - CLIENT_ENDPOINT=http://localhost:3000
      - SPOTIFY_PUBLIC=c65d307da7d748b8a24f946252a9d1b3
      - SPOTIFY_SECRET=#excluded but it's the secret found in the dasboard
      #- CORS=http://localhost:3000,http://localhost:3001
      - CORS=all
      #- MONGO_ENDPOINT=mongodb://mongo:27017/your_spotify
      #- MAX_IMPORT_CACHE_SIZE=100000 # Number of items cached during import of past history
      #- TIMEZONE=Europe/Paris # Only affects read requests, write are in UTC time
  mongo:
    container_name: mongo
    image: mongo
    volumes:
      - ./your_spotify_db:/data/db

  web:
    image: yooooomi/your_spotify_client
    container_name: web
    restart: always
    ports:
      - "3000:3000"
    environment:
      - API_ENDPOINT=http://localhost:8080

After using this docker compose to deploy I got this error:

Deployment error
failed to deploy a stack: Creating mongo ... Creating web ...  Creating mongo ... done Creating express-mongo ...  Creating web ... done Host is already in use by another container  Creating express-mongo ... error  ERROR: for express-mongo Cannot start service app: driver failed programming external connectivity on endpoint express-mongo (6e9e39d90f8bc5dd7a92fce638ae311453a4b7d4d6a80c58456ae1e887a536a9): Error starting userland proxy: listen tcp4 0.0.0.0:8080: bind: address already in use ERROR: for app Cannot start service app: driver failed programming external connectivity on endpoint express-mongo (6e9e39d90f8bc5dd7a92fce638ae311453a4b7d4d6a80c58456ae1e887a536a9): Error starting userland proxy: listen tcp4 0.0.0.0:8080: bind: address already in use Encountered errors while bringing up the project. : exit status 1

I hope you can help me :) btw great project

Yooooomi commented 2 years ago

Hello there! It seems like your 8080 port is already in use by another application.

marcstae commented 2 years ago

Thanks, can I just edit the port to whatever I want?

Yooooomi commented 2 years ago

Yes you can, be sure to change the env variables in your docker-compose file, and change it into your Spotify application you created

marcstae commented 2 years ago

I've now changed it to another port and added "http://localhost:11223/oauth/spotify/callback" into my Spotify Dashboard.

Do I have to open a port on my router, or does it just work?

Sorry if this question is really basic, I'm still learning all the fundamentals. :D

Yooooomi commented 2 years ago

No problem! If you host it locally or use it in your local network you won't have to open your any router's port. Also if you host it locally and shut your device down, you won't be able to access it. If you want to access it from outside, you will need to learn about all of this yeah and will need to open a port in your router.

marcstae commented 2 years ago

Thanks, I think I'll leave it running locally for now.

I've just deployed it without any errors but when I'm opening the Website, in the middle there's an error saying Could not retrieve global preferences and there's a login page. What exactly do I have to enter to get into the application? :)

Yooooomi commented 2 years ago

It's actually a question in the FAQ but I'll answer here. This means your configuration is wrong and your web application cannot connect to your backend. Could you please re post your compose file? Thanks

marcstae commented 2 years ago

Sure, sorry for not reading it.

version: "3"

services:
  app:
    image: yooooomi/your_spotify_server
    container_name: express-mongo
    restart: always
    ports:
      - "11223:11223"
    links:
      - mongo
    depends_on:
      - mongo
    environment:
      - API_ENDPOINT=http://localhost:11223 # This MUST be included as a valid URL in the spotify dashboard
      - CLIENT_ENDPOINT=http://localhost:3000
      - SPOTIFY_PUBLIC=c65d307da7d748b8a24f946252a9d1b3
      - SPOTIFY_SECRET=#excluded
      #- CORS=http://localhost:3000,http://localhost:3001
      - CORS=all
      #- MONGO_ENDPOINT=mongodb://mongo:27017/your_spotify
      #- MAX_IMPORT_CACHE_SIZE=100000 # Number of items cached during import of past history
      #- TIMEZONE=Europe/Paris # Only affects read requests, write are in UTC time
  mongo:
    container_name: mongo
    image: mongo
    volumes:
      - ./your_spotify_db:/data/db

  web:
    image: yooooomi/your_spotify_client
    container_name: web
    restart: always
    ports:
      - "3000:3000"
    environment:
      - API_ENDPOINT=http://localhost:11223
Yooooomi commented 2 years ago

Okay, your port 11223 should redirect to port 8080 in the container, meaning your port definition should look like "11223:8080"

marcstae commented 2 years ago

Added that, but still same error.

Yooooomi commented 2 years ago

Okay, can you post the new compose file and the logs from the browser please?

marcstae commented 2 years ago

Sure

version: "3"

services:
  app:
    image: yooooomi/your_spotify_server
    container_name: express-mongo
    restart: always
    ports:
      - "11223:8080"
    links:
      - mongo
    depends_on:
      - mongo
    environment:
      - API_ENDPOINT=http://localhost:11223 # This MUST be included as a valid URL in the spotify dashboard
      - CLIENT_ENDPOINT=http://localhost:3000
      - SPOTIFY_PUBLIC=c65d307da7d748b8a24f946252a9d1b3
      - SPOTIFY_SECRET=
      #- CORS=http://localhost:3000,http://localhost:3001
      - CORS=all
      #- MONGO_ENDPOINT=mongodb://mongo:27017/your_spotify
      #- MAX_IMPORT_CACHE_SIZE=100000 # Number of items cached during import of past history
      #- TIMEZONE=Europe/Paris # Only affects read requests, write are in UTC time
  mongo:
    container_name: mongo
    image: mongo
    volumes:
      - ./your_spotify_db:/data/db

  web:
    image: yooooomi/your_spotify_client
    container_name: web
    restart: always
    ports:
      - "3000:3000"
    environment:
      - API_ENDPOINT=http://localhost:11223

web container logs:

Setting API Endpoint to 'http://localhost:11223'
INFO: Accepting connections at http://0.0.0.0:3000

express mongo logs:

yarn run v1.22.17
$ node ./lib/migrations.js
[info]  Trying to connect to database at mongodb://mongo:27017/your_spotify
[info]  Connected to database !
[info]  Cannot read migrations from database. If this is the first time you run migrations, then this is normal.
[info]  Starting migrations
[info]  Migrations successfully ran
Done in 1.25s.
yarn run v1.22.17
$ node lib/bin/www
[info]  Trying to connect to database at mongodb://mongo:27017/your_spotify
[info]  Connected to database !
[debug]  Listening on port 8080
[info]  Starting loop for 0 users
[info]  Starting loop for 0 users
[info]  Starting loop for 0 users

mongo container logs:

{"t":{"$date":"2022-02-18T23:48:16.652+00:00"},"s":"I",  "c":"STORAGE",  "id":22262,   "ctx":"initandlisten","msg":"Timestamp monitor starting"}
{"t":{"$date":"2022-02-18T23:48:16.667+00:00"},"s":"W",  "c":"CONTROL",  "id":22120,   "ctx":"initandlisten","msg":"Access control is not enabled for the database. Read and write access to data and configuration is unrestricted","tags":["startupWarnings"]}
{"t":{"$date":"2022-02-18T23:48:16.668+00:00"},"s":"I",  "c":"STORAGE",  "id":20320,   "ctx":"initandlisten","msg":"createCollection","attr":{"namespace":"admin.system.version","uuidDisposition":"provided","uuid":{"uuid":{"$uuid":"87fa5ef6-1bb1-48f2-a094-291921de6182"}},"options":{"uuid":{"$uuid":"87fa5ef6-1bb1-48f2-a094-291921de6182"}}}}
{"t":{"$date":"2022-02-18T23:48:16.697+00:00"},"s":"I",  "c":"INDEX",    "id":20345,   "ctx":"initandlisten","msg":"Index build: done building","attr":{"buildUUID":null,"namespace":"admin.system.version","index":"_id_","commitTimestamp":null}}
{"t":{"$date":"2022-02-18T23:48:16.698+00:00"},"s":"I",  "c":"REPL",     "id":20459,   "ctx":"initandlisten","msg":"Setting featureCompatibilityVersion","attr":{"newVersion":"5.0"}}
{"t":{"$date":"2022-02-18T23:48:16.698+00:00"},"s":"I",  "c":"NETWORK",  "id":4915702, "ctx":"initandlisten","msg":"Updated wire specification","attr":{"oldSpec":{"incomingExternalClient":{"minWireVersion":0,"maxWireVersion":13},"incomingInternalClient":{"minWireVersion":0,"maxWireVersion":13},"outgoing":{"minWireVersion":0,"maxWireVersion":13},"isInternalClient":true},"newSpec":{"incomingExternalClient":{"minWireVersion":0,"maxWireVersion":13},"incomingInternalClient":{"minWireVersion":13,"maxWireVersion":13},"outgoing":{"minWireVersion":13,"maxWireVersion":13},"isInternalClient":true}}}
{"t":{"$date":"2022-02-18T23:48:16.698+00:00"},"s":"I",  "c":"NETWORK",  "id":4915702, "ctx":"initandlisten","msg":"Updated wire specification","attr":{"oldSpec":{"incomingExternalClient":{"minWireVersion":0,"maxWireVersion":13},"incomingInternalClient":{"minWireVersion":13,"maxWireVersion":13},"outgoing":{"minWireVersion":13,"maxWireVersion":13},"isInternalClient":true},"newSpec":{"incomingExternalClient":{"minWireVersion":0,"maxWireVersion":13},"incomingInternalClient":{"minWireVersion":13,"maxWireVersion":13},"outgoing":{"minWireVersion":13,"maxWireVersion":13},"isInternalClient":true}}}
{"t":{"$date":"2022-02-18T23:48:16.698+00:00"},"s":"I",  "c":"STORAGE",  "id":5071100, "ctx":"initandlisten","msg":"Clearing temp directory"}
{"t":{"$date":"2022-02-18T23:48:16.698+00:00"},"s":"I",  "c":"CONTROL",  "id":20536,   "ctx":"initandlisten","msg":"Flow Control is enabled on this deployment"}
{"t":{"$date":"2022-02-18T23:48:16.700+00:00"},"s":"I",  "c":"FTDC",     "id":20625,   "ctx":"initandlisten","msg":"Initializing full-time diagnostic data capture","attr":{"dataDirectory":"/data/db/diagnostic.data"}}
{"t":{"$date":"2022-02-18T23:48:16.700+00:00"},"s":"I",  "c":"STORAGE",  "id":20320,   "ctx":"initandlisten","msg":"createCollection","attr":{"namespace":"local.startup_log","uuidDisposition":"generated","uuid":{"uuid":{"$uuid":"4558ac40-b7a2-4d35-bbbc-83a053499644"}},"options":{"capped":true,"size":10485760}}}
{"t":{"$date":"2022-02-18T23:48:16.730+00:00"},"s":"I",  "c":"INDEX",    "id":20345,   "ctx":"initandlisten","msg":"Index build: done building","attr":{"buildUUID":null,"namespace":"local.startup_log","index":"_id_","commitTimestamp":null}}
{"t":{"$date":"2022-02-18T23:48:16.731+00:00"},"s":"I",  "c":"REPL",     "id":6015317, "ctx":"initandlisten","msg":"Setting new configuration state","attr":{"newState":"ConfigReplicationDisabled","oldState":"ConfigPreStart"}}
{"t":{"$date":"2022-02-18T23:48:16.733+00:00"},"s":"I",  "c":"STORAGE",  "id":20320,   "ctx":"LogicalSessionCacheRefresh","msg":"createCollection","attr":{"namespace":"config.system.sessions","uuidDisposition":"generated","uuid":{"uuid":{"$uuid":"46fc9c8c-2940-4268-b69b-c6f579f674ba"}},"options":{}}}
{"t":{"$date":"2022-02-18T23:48:16.735+00:00"},"s":"I",  "c":"CONTROL",  "id":20712,   "ctx":"LogicalSessionCacheReap","msg":"Sessions collection is not set up; waiting until next sessions reap interval","attr":{"error":"NamespaceNotFound: config.system.sessions does not exist"}}
{"t":{"$date":"2022-02-18T23:48:16.735+00:00"},"s":"I",  "c":"NETWORK",  "id":23015,   "ctx":"listener","msg":"Listening on","attr":{"address":"/tmp/mongodb-27017.sock"}}
{"t":{"$date":"2022-02-18T23:48:16.735+00:00"},"s":"I",  "c":"NETWORK",  "id":23015,   "ctx":"listener","msg":"Listening on","attr":{"address":"0.0.0.0"}}
{"t":{"$date":"2022-02-18T23:48:16.735+00:00"},"s":"I",  "c":"NETWORK",  "id":23016,   "ctx":"listener","msg":"Waiting for connections","attr":{"port":27017,"ssl":"off"}}
{"t":{"$date":"2022-02-18T23:48:16.786+00:00"},"s":"I",  "c":"INDEX",    "id":20345,   "ctx":"LogicalSessionCacheRefresh","msg":"Index build: done building","attr":{"buildUUID":null,"namespace":"config.system.sessions","index":"_id_","commitTimestamp":null}}
{"t":{"$date":"2022-02-18T23:48:16.786+00:00"},"s":"I",  "c":"INDEX",    "id":20345,   "ctx":"LogicalSessionCacheRefresh","msg":"Index build: done building","attr":{"buildUUID":null,"namespace":"config.system.sessions","index":"lsidTTLIndex","commitTimestamp":null}}
{"t":{"$date":"2022-02-18T23:48:17.574+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.4:53096","uuid":"dad03955-f32c-4f70-827d-a5b6f71b164f","connectionId":1,"connectionCount":1}}
{"t":{"$date":"2022-02-18T23:48:17.587+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn1","msg":"client metadata","attr":{"remote":"172.26.0.4:53096","client":"conn1","doc":{"driver":{"name":"nodejs|Mongoose","version":"4.2.2"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-99-generic"},"platform":"Node.js v16.14.0, LE (unified)","version":"4.2.2|6.1.8"}}}
{"t":{"$date":"2022-02-18T23:48:17.628+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.4:53098","uuid":"cfc240d4-ac1d-4d5d-9622-2eb60e02975e","connectionId":2,"connectionCount":2}}
{"t":{"$date":"2022-02-18T23:48:17.629+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn2","msg":"client metadata","attr":{"remote":"172.26.0.4:53098","client":"conn2","doc":{"driver":{"name":"nodejs|Mongoose","version":"4.2.2"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-99-generic"},"platform":"Node.js v16.14.0, LE (unified)","version":"4.2.2|6.1.8"}}}
{"t":{"$date":"2022-02-18T23:48:17.635+00:00"},"s":"I",  "c":"STORAGE",  "id":20320,   "ctx":"conn2","msg":"createCollection","attr":{"namespace":"your_spotify.users","uuidDisposition":"generated","uuid":{"uuid":{"$uuid":"d76fa49f-7456-4888-9422-d0d19a2f5787"}},"options":{}}}
{"t":{"$date":"2022-02-18T23:48:17.637+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.4:53100","uuid":"43698544-7037-45c9-8f73-c528426f67fa","connectionId":3,"connectionCount":3}}
{"t":{"$date":"2022-02-18T23:48:17.639+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn3","msg":"client metadata","attr":{"remote":"172.26.0.4:53100","client":"conn3","doc":{"driver":{"name":"nodejs|Mongoose","version":"4.2.2"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-99-generic"},"platform":"Node.js v16.14.0, LE (unified)","version":"4.2.2|6.1.8"}}}
{"t":{"$date":"2022-02-18T23:48:17.641+00:00"},"s":"I",  "c":"STORAGE",  "id":20320,   "ctx":"conn3","msg":"createCollection","attr":{"namespace":"your_spotify.infos","uuidDisposition":"generated","uuid":{"uuid":{"$uuid":"8d3be465-b30a-4c25-b473-c41a2d0a8a93"}},"options":{}}}
{"t":{"$date":"2022-02-18T23:48:17.642+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.4:53102","uuid":"2fdb44f4-b1db-4995-94c1-5c29e0346113","connectionId":4,"connectionCount":4}}
{"t":{"$date":"2022-02-18T23:48:17.644+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn4","msg":"client metadata","attr":{"remote":"172.26.0.4:53102","client":"conn4","doc":{"driver":{"name":"nodejs|Mongoose","version":"4.2.2"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-99-generic"},"platform":"Node.js v16.14.0, LE (unified)","version":"4.2.2|6.1.8"}}}
{"t":{"$date":"2022-02-18T23:48:17.647+00:00"},"s":"I",  "c":"STORAGE",  "id":20320,   "ctx":"conn4","msg":"createCollection","attr":{"namespace":"your_spotify.artists","uuidDisposition":"generated","uuid":{"uuid":{"$uuid":"5948500a-77c2-4116-958e-167f9e2b21d7"}},"options":{}}}
{"t":{"$date":"2022-02-18T23:48:17.649+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.4:53104","uuid":"1789bcb9-f9c3-4e53-9cf9-cca9aa5aa6f0","connectionId":5,"connectionCount":5}}
{"t":{"$date":"2022-02-18T23:48:17.652+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn5","msg":"client metadata","attr":{"remote":"172.26.0.4:53104","client":"conn5","doc":{"driver":{"name":"nodejs|Mongoose","version":"4.2.2"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-99-generic"},"platform":"Node.js v16.14.0, LE (unified)","version":"4.2.2|6.1.8"}}}
{"t":{"$date":"2022-02-18T23:48:17.655+00:00"},"s":"I",  "c":"STORAGE",  "id":20320,   "ctx":"conn5","msg":"createCollection","attr":{"namespace":"your_spotify.albums","uuidDisposition":"generated","uuid":{"uuid":{"$uuid":"96b29959-2aa4-4fb8-9d62-f213a4b0435c"}},"options":{}}}
{"t":{"$date":"2022-02-18T23:48:17.657+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.4:53106","uuid":"a0515c5f-4aef-43ab-bcef-a30cf776b702","connectionId":6,"connectionCount":6}}
{"t":{"$date":"2022-02-18T23:48:17.660+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn6","msg":"client metadata","attr":{"remote":"172.26.0.4:53106","client":"conn6","doc":{"driver":{"name":"nodejs|Mongoose","version":"4.2.2"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-99-generic"},"platform":"Node.js v16.14.0, LE (unified)","version":"4.2.2|6.1.8"}}}
{"t":{"$date":"2022-02-18T23:48:17.664+00:00"},"s":"I",  "c":"STORAGE",  "id":20320,   "ctx":"conn6","msg":"createCollection","attr":{"namespace":"your_spotify.tracks","uuidDisposition":"generated","uuid":{"uuid":{"$uuid":"e1f650bc-9909-4f65-894d-88ee1957b08f"}},"options":{}}}
{"t":{"$date":"2022-02-18T23:48:17.665+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.4:53108","uuid":"202f90a1-7eb1-4982-8808-f40acec9c276","connectionId":7,"connectionCount":7}}
{"t":{"$date":"2022-02-18T23:48:17.667+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn7","msg":"client metadata","attr":{"remote":"172.26.0.4:53108","client":"conn7","doc":{"driver":{"name":"nodejs|Mongoose","version":"4.2.2"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-99-generic"},"platform":"Node.js v16.14.0, LE (unified)","version":"4.2.2|6.1.8"}}}
{"t":{"$date":"2022-02-18T23:48:17.669+00:00"},"s":"I",  "c":"STORAGE",  "id":20320,   "ctx":"conn7","msg":"createCollection","attr":{"namespace":"your_spotify.migrations","uuidDisposition":"generated","uuid":{"uuid":{"$uuid":"fda3c3ac-d3b4-4ed3-bf47-5673cf1aefc7"}},"options":{}}}
{"t":{"$date":"2022-02-18T23:48:17.671+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.4:53110","uuid":"02753401-f826-4630-8957-c21e4df9bc4b","connectionId":8,"connectionCount":8}}
{"t":{"$date":"2022-02-18T23:48:17.672+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn8","msg":"client metadata","attr":{"remote":"172.26.0.4:53110","client":"conn8","doc":{"driver":{"name":"nodejs|Mongoose","version":"4.2.2"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-99-generic"},"platform":"Node.js v16.14.0, LE (unified)","version":"4.2.2|6.1.8"}}}
{"t":{"$date":"2022-02-18T23:48:17.674+00:00"},"s":"I",  "c":"STORAGE",  "id":20320,   "ctx":"conn8","msg":"createCollection","attr":{"namespace":"your_spotify.globalpreferences","uuidDisposition":"generated","uuid":{"uuid":{"$uuid":"213e8f47-a1a2-473b-8ac6-d462de7bd6e5"}},"options":{}}}
{"t":{"$date":"2022-02-18T23:48:17.676+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.4:53112","uuid":"ce6fc8c7-a6e2-440e-be14-f711f0dbb697","connectionId":9,"connectionCount":9}}
{"t":{"$date":"2022-02-18T23:48:17.678+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn9","msg":"client metadata","attr":{"remote":"172.26.0.4:53112","client":"conn9","doc":{"driver":{"name":"nodejs|Mongoose","version":"4.2.2"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-99-generic"},"platform":"Node.js v16.14.0, LE (unified)","version":"4.2.2|6.1.8"}}}
{"t":{"$date":"2022-02-18T23:48:17.715+00:00"},"s":"I",  "c":"INDEX",    "id":20345,   "ctx":"conn2","msg":"Index build: done building","attr":{"buildUUID":null,"namespace":"your_spotify.users","index":"_id_","commitTimestamp":null}}
{"t":{"$date":"2022-02-18T23:48:17.718+00:00"},"s":"I",  "c":"STORAGE",  "id":20320,   "ctx":"conn9","msg":"createCollection","attr":{"namespace":"your_spotify.globalpreferences","uuidDisposition":"generated","uuid":{"uuid":{"$uuid":"382ea394-b780-429b-999d-c23518cb3171"}},"options":{}}}
{"t":{"$date":"2022-02-18T23:48:17.763+00:00"},"s":"I",  "c":"INDEX",    "id":20345,   "ctx":"conn3","msg":"Index build: done building","attr":{"buildUUID":null,"namespace":"your_spotify.infos","index":"_id_","commitTimestamp":null}}
{"t":{"$date":"2022-02-18T23:48:17.763+00:00"},"s":"I",  "c":"COMMAND",  "id":51803,   "ctx":"conn3","msg":"Slow query","attr":{"type":"command","ns":"your_spotify.infos","command":{"create":"infos","lsid":{"id":{"$uuid":"70c550a4-e9d1-478c-9525-f1a926540d86"}},"$db":"your_spotify"},"numYields":0,"reslen":38,"locks":{"ParallelBatchWriterMode":{"acquireCount":{"r":2}},"ReplicationStateTransition":{"acquireCount":{"w":2}},"Global":{"acquireCount":{"r":1,"w":1}},"Database":{"acquireCount":{"r":1,"w":1}},"Collection":{"acquireCount":{"w":1}},"Mutex":{"acquireCount":{"r":2}}},"flowControl":{"acquireCount":1,"timeAcquiringMicros":9},"storage":{},"remote":"172.26.0.4:53100","protocol":"op_msg","durationMillis":122}}
{"t":{"$date":"2022-02-18T23:48:17.793+00:00"},"s":"I",  "c":"INDEX",    "id":20345,   "ctx":"conn4","msg":"Index build: done building","attr":{"buildUUID":null,"namespace":"your_spotify.artists","index":"_id_","commitTimestamp":null}}
{"t":{"$date":"2022-02-18T23:48:17.793+00:00"},"s":"I",  "c":"COMMAND",  "id":51803,   "ctx":"conn4","msg":"Slow query","attr":{"type":"command","ns":"your_spotify.artists","command":{"create":"artists","lsid":{"id":{"$uuid":"7108baeb-42b6-4a6b-8531-58e24eedc395"}},"$db":"your_spotify"},"numYields":0,"reslen":38,"locks":{"ParallelBatchWriterMode":{"acquireCount":{"r":2}},"ReplicationStateTransition":{"acquireCount":{"w":2}},"Global":{"acquireCount":{"r":1,"w":1}},"Database":{"acquireCount":{"r":1,"w":1}},"Collection":{"acquireCount":{"w":1}},"Mutex":{"acquireCount":{"r":2}}},"flowControl":{"acquireCount":1,"timeAcquiringMicros":9},"storage":{},"remote":"172.26.0.4:53102","protocol":"op_msg","durationMillis":145}}
{"t":{"$date":"2022-02-18T23:48:17.800+00:00"},"s":"I",  "c":"INDEX",    "id":20438,   "ctx":"conn4","msg":"Index build: registering","attr":{"buildUUID":{"uuid":{"$uuid":"f080aa88-d170-4d89-bc11-f6b9ab3e0b0b"}},"namespace":"your_spotify.artists","collectionUUID":{"uuid":{"$uuid":"5948500a-77c2-4116-958e-167f9e2b21d7"}},"indexes":1,"firstIndex":{"name":"id_1"}}}
{"t":{"$date":"2022-02-18T23:48:17.812+00:00"},"s":"I",  "c":"INDEX",    "id":20345,   "ctx":"conn5","msg":"Index build: done building","attr":{"buildUUID":null,"namespace":"your_spotify.albums","index":"_id_","commitTimestamp":null}}
{"t":{"$date":"2022-02-18T23:48:17.812+00:00"},"s":"I",  "c":"COMMAND",  "id":51803,   "ctx":"conn5","msg":"Slow query","attr":{"type":"command","ns":"your_spotify.albums","command":{"create":"albums","lsid":{"id":{"$uuid":"08410437-d171-4566-b3ba-3eb92c3375a4"}},"$db":"your_spotify"},"numYields":0,"reslen":38,"locks":{"ParallelBatchWriterMode":{"acquireCount":{"r":2}},"ReplicationStateTransition":{"acquireCount":{"w":2}},"Global":{"acquireCount":{"r":1,"w":1}},"Database":{"acquireCount":{"r":1,"w":1}},"Collection":{"acquireCount":{"w":1}},"Mutex":{"acquireCount":{"r":2}}},"flowControl":{"acquireCount":1,"timeAcquiringMicros":8},"storage":{},"remote":"172.26.0.4:53104","protocol":"op_msg","durationMillis":157}}
{"t":{"$date":"2022-02-18T23:48:17.817+00:00"},"s":"I",  "c":"INDEX",    "id":20438,   "ctx":"conn5","msg":"Index build: registering","attr":{"buildUUID":{"uuid":{"$uuid":"c37546d4-ff6d-432d-8207-061bda1163dc"}},"namespace":"your_spotify.albums","collectionUUID":{"uuid":{"$uuid":"96b29959-2aa4-4fb8-9d62-f213a4b0435c"}},"indexes":1,"firstIndex":{"name":"id_1"}}}
{"t":{"$date":"2022-02-18T23:48:17.839+00:00"},"s":"I",  "c":"INDEX",    "id":20345,   "ctx":"conn6","msg":"Index build: done building","attr":{"buildUUID":null,"namespace":"your_spotify.tracks","index":"_id_","commitTimestamp":null}}
{"t":{"$date":"2022-02-18T23:48:17.839+00:00"},"s":"I",  "c":"COMMAND",  "id":51803,   "ctx":"conn6","msg":"Slow query","attr":{"type":"command","ns":"your_spotify.tracks","command":{"create":"tracks","lsid":{"id":{"$uuid":"471e31be-b1f9-4da3-af41-06c1ece1488a"}},"$db":"your_spotify"},"numYields":0,"reslen":38,"locks":{"ParallelBatchWriterMode":{"acquireCount":{"r":2}},"ReplicationStateTransition":{"acquireCount":{"w":2}},"Global":{"acquireCount":{"r":1,"w":1}},"Database":{"acquireCount":{"r":1,"w":1}},"Collection":{"acquireCount":{"w":1}},"Mutex":{"acquireCount":{"r":2}}},"flowControl":{"acquireCount":1,"timeAcquiringMicros":8},"storage":{},"remote":"172.26.0.4:53106","protocol":"op_msg","durationMillis":175}}
{"t":{"$date":"2022-02-18T23:48:17.844+00:00"},"s":"I",  "c":"INDEX",    "id":20438,   "ctx":"conn6","msg":"Index build: registering","attr":{"buildUUID":{"uuid":{"$uuid":"a13c2401-e5ff-4393-8266-f86f866adc2a"}},"namespace":"your_spotify.tracks","collectionUUID":{"uuid":{"$uuid":"e1f650bc-9909-4f65-894d-88ee1957b08f"}},"indexes":1,"firstIndex":{"name":"id_1"}}}
{"t":{"$date":"2022-02-18T23:48:17.854+00:00"},"s":"I",  "c":"INDEX",    "id":20345,   "ctx":"conn7","msg":"Index build: done building","attr":{"buildUUID":null,"namespace":"your_spotify.migrations","index":"_id_","commitTimestamp":null}}
{"t":{"$date":"2022-02-18T23:48:17.854+00:00"},"s":"I",  "c":"COMMAND",  "id":51803,   "ctx":"conn7","msg":"Slow query","attr":{"type":"command","ns":"your_spotify.migrations","command":{"create":"migrations","lsid":{"id":{"$uuid":"c8315f0d-53e6-4e0f-9418-ed965290070c"}},"$db":"your_spotify"},"numYields":0,"reslen":38,"locks":{"ParallelBatchWriterMode":{"acquireCount":{"r":2}},"ReplicationStateTransition":{"acquireCount":{"w":2}},"Global":{"acquireCount":{"r":1,"w":1}},"Database":{"acquireCount":{"r":1,"w":1}},"Collection":{"acquireCount":{"w":1}},"Mutex":{"acquireCount":{"r":2}}},"flowControl":{"acquireCount":1,"timeAcquiringMicros":8},"storage":{},"remote":"172.26.0.4:53108","protocol":"op_msg","durationMillis":185}}
{"t":{"$date":"2022-02-18T23:48:17.872+00:00"},"s":"I",  "c":"INDEX",    "id":20345,   "ctx":"conn8","msg":"Index build: done building","attr":{"buildUUID":null,"namespace":"your_spotify.globalpreferences","index":"_id_","commitTimestamp":null}}
{"t":{"$date":"2022-02-18T23:48:17.872+00:00"},"s":"I",  "c":"COMMAND",  "id":51803,   "ctx":"conn8","msg":"Slow query","attr":{"type":"command","ns":"your_spotify.globalpreferences","command":{"create":"globalpreferences","lsid":{"id":{"$uuid":"74c93d44-15b2-453d-8990-4773cce1e0d3"}},"$db":"your_spotify"},"numYields":0,"reslen":38,"locks":{"ParallelBatchWriterMode":{"acquireCount":{"r":2}},"ReplicationStateTransition":{"acquireCount":{"w":2}},"Global":{"acquireCount":{"r":1,"w":1}},"Database":{"acquireCount":{"r":1,"w":1}},"Collection":{"acquireCount":{"w":1}},"Mutex":{"acquireCount":{"r":2}}},"flowControl":{"acquireCount":1,"timeAcquiringMicros":8},"storage":{},"remote":"172.26.0.4:53110","protocol":"op_msg","durationMillis":198}}
{"t":{"$date":"2022-02-18T23:48:17.886+00:00"},"s":"I",  "c":"INDEX",    "id":20345,   "ctx":"conn4","msg":"Index build: done building","attr":{"buildUUID":null,"namespace":"your_spotify.artists","index":"id_1","commitTimestamp":null}}
{"t":{"$date":"2022-02-18T23:48:17.886+00:00"},"s":"I",  "c":"INDEX",    "id":20440,   "ctx":"conn4","msg":"Index build: waiting for index build to complete","attr":{"buildUUID":{"uuid":{"$uuid":"f080aa88-d170-4d89-bc11-f6b9ab3e0b0b"}},"deadline":{"$date":{"$numberLong":"9223372036854775807"}}}}
{"t":{"$date":"2022-02-18T23:48:17.886+00:00"},"s":"I",  "c":"INDEX",    "id":20447,   "ctx":"conn4","msg":"Index build: completed","attr":{"buildUUID":{"uuid":{"$uuid":"f080aa88-d170-4d89-bc11-f6b9ab3e0b0b"}}}}
{"t":{"$date":"2022-02-18T23:48:17.900+00:00"},"s":"I",  "c":"INDEX",    "id":20345,   "ctx":"conn5","msg":"Index build: done building","attr":{"buildUUID":null,"namespace":"your_spotify.albums","index":"id_1","commitTimestamp":null}}
{"t":{"$date":"2022-02-18T23:48:17.900+00:00"},"s":"I",  "c":"INDEX",    "id":20440,   "ctx":"conn5","msg":"Index build: waiting for index build to complete","attr":{"buildUUID":{"uuid":{"$uuid":"c37546d4-ff6d-432d-8207-061bda1163dc"}},"deadline":{"$date":{"$numberLong":"9223372036854775807"}}}}
{"t":{"$date":"2022-02-18T23:48:17.900+00:00"},"s":"I",  "c":"INDEX",    "id":20447,   "ctx":"conn5","msg":"Index build: completed","attr":{"buildUUID":{"uuid":{"$uuid":"c37546d4-ff6d-432d-8207-061bda1163dc"}}}}
{"t":{"$date":"2022-02-18T23:48:17.913+00:00"},"s":"I",  "c":"STORAGE",  "id":20279,   "ctx":"conn9","msg":"Conflicted creating a collection","attr":{"namespace":"your_spotify.globalpreferences","uuid":{"uuid":{"$uuid":"382ea394-b780-429b-999d-c23518cb3171"}}}}
{"t":{"$date":"2022-02-18T23:48:17.927+00:00"},"s":"I",  "c":"INDEX",    "id":20345,   "ctx":"conn6","msg":"Index build: done building","attr":{"buildUUID":null,"namespace":"your_spotify.tracks","index":"id_1","commitTimestamp":null}}
{"t":{"$date":"2022-02-18T23:48:17.928+00:00"},"s":"I",  "c":"INDEX",    "id":20440,   "ctx":"conn6","msg":"Index build: waiting for index build to complete","attr":{"buildUUID":{"uuid":{"$uuid":"a13c2401-e5ff-4393-8266-f86f866adc2a"}},"deadline":{"$date":{"$numberLong":"9223372036854775807"}}}}
{"t":{"$date":"2022-02-18T23:48:17.928+00:00"},"s":"I",  "c":"INDEX",    "id":20447,   "ctx":"conn6","msg":"Index build: completed","attr":{"buildUUID":{"uuid":{"$uuid":"a13c2401-e5ff-4393-8266-f86f866adc2a"}}}}
{"t":{"$date":"2022-02-18T23:48:17.929+00:00"},"s":"I",  "c":"COMMAND",  "id":51803,   "ctx":"conn9","msg":"Slow query","attr":{"type":"command","ns":"your_spotify.globalpreferences","command":{"insert":"globalpreferences","documents":[{"allowRegistrations":true,"_id":{"$oid":"6210304192bf0ed642947828"},"__v":0}],"ordered":true,"lsid":{"id":{"$uuid":"1dd8db58-8fb9-42a1-8d42-9b8a79ba90b1"}},"$db":"your_spotify"},"ninserted":1,"keysInserted":1,"writeConflicts":1,"numYields":0,"reslen":45,"locks":{"ParallelBatchWriterMode":{"acquireCount":{"r":5}},"ReplicationStateTransition":{"acquireCount":{"w":5}},"Global":{"acquireCount":{"r":1,"w":4}},"Database":{"acquireCount":{"r":1,"w":4}},"Collection":{"acquireCount":{"w":4}},"Mutex":{"acquireCount":{"r":5}}},"flowControl":{"acquireCount":4,"timeAcquiringMicros":26},"storage":{},"remote":"172.26.0.4:53112","protocol":"op_msg","durationMillis":211}}
{"t":{"$date":"2022-02-18T23:48:17.982+00:00"},"s":"I",  "c":"NETWORK",  "id":22944,   "ctx":"conn8","msg":"Connection ended","attr":{"remote":"172.26.0.4:53110","uuid":"02753401-f826-4630-8957-c21e4df9bc4b","connectionId":8,"connectionCount":8}}
{"t":{"$date":"2022-02-18T23:48:17.982+00:00"},"s":"I",  "c":"NETWORK",  "id":22944,   "ctx":"conn1","msg":"Connection ended","attr":{"remote":"172.26.0.4:53096","uuid":"dad03955-f32c-4f70-827d-a5b6f71b164f","connectionId":1,"connectionCount":7}}
{"t":{"$date":"2022-02-18T23:48:17.982+00:00"},"s":"I",  "c":"NETWORK",  "id":22944,   "ctx":"conn5","msg":"Connection ended","attr":{"remote":"172.26.0.4:53104","uuid":"1789bcb9-f9c3-4e53-9cf9-cca9aa5aa6f0","connectionId":5,"connectionCount":5}}
{"t":{"$date":"2022-02-18T23:48:17.982+00:00"},"s":"I",  "c":"NETWORK",  "id":22944,   "ctx":"conn6","msg":"Connection ended","attr":{"remote":"172.26.0.4:53106","uuid":"a0515c5f-4aef-43ab-bcef-a30cf776b702","connectionId":6,"connectionCount":6}}
{"t":{"$date":"2022-02-18T23:48:17.983+00:00"},"s":"I",  "c":"NETWORK",  "id":22944,   "ctx":"conn3","msg":"Connection ended","attr":{"remote":"172.26.0.4:53100","uuid":"43698544-7037-45c9-8f73-c528426f67fa","connectionId":3,"connectionCount":4}}
{"t":{"$date":"2022-02-18T23:48:17.983+00:00"},"s":"I",  "c":"NETWORK",  "id":22944,   "ctx":"conn2","msg":"Connection ended","attr":{"remote":"172.26.0.4:53098","uuid":"cfc240d4-ac1d-4d5d-9622-2eb60e02975e","connectionId":2,"connectionCount":3}}
{"t":{"$date":"2022-02-18T23:48:17.983+00:00"},"s":"I",  "c":"NETWORK",  "id":22944,   "ctx":"conn9","msg":"Connection ended","attr":{"remote":"172.26.0.4:53112","uuid":"ce6fc8c7-a6e2-440e-be14-f711f0dbb697","connectionId":9,"connectionCount":2}}
{"t":{"$date":"2022-02-18T23:48:17.983+00:00"},"s":"I",  "c":"NETWORK",  "id":22944,   "ctx":"conn7","msg":"Connection ended","attr":{"remote":"172.26.0.4:53108","uuid":"202f90a1-7eb1-4982-8808-f40acec9c276","connectionId":7,"connectionCount":1}}
{"t":{"$date":"2022-02-18T23:48:17.983+00:00"},"s":"I",  "c":"NETWORK",  "id":22944,   "ctx":"conn4","msg":"Connection ended","attr":{"remote":"172.26.0.4:53102","uuid":"2fdb44f4-b1db-4995-94c1-5c29e0346113","connectionId":4,"connectionCount":0}}
{"t":{"$date":"2022-02-18T23:48:19.685+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.4:53114","uuid":"7f1b7d5a-e250-4bee-a87e-e0174869d9ba","connectionId":10,"connectionCount":1}}
{"t":{"$date":"2022-02-18T23:48:19.698+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn10","msg":"client metadata","attr":{"remote":"172.26.0.4:53114","client":"conn10","doc":{"driver":{"name":"nodejs|Mongoose","version":"4.2.2"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-99-generic"},"platform":"Node.js v16.14.0, LE (unified)","version":"4.2.2|6.1.8"}}}
{"t":{"$date":"2022-02-18T23:48:19.741+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.4:53116","uuid":"cdf34ba5-309d-4834-8a0c-d9996fe758f1","connectionId":11,"connectionCount":2}}
{"t":{"$date":"2022-02-18T23:48:19.743+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn11","msg":"client metadata","attr":{"remote":"172.26.0.4:53116","client":"conn11","doc":{"driver":{"name":"nodejs|Mongoose","version":"4.2.2"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-99-generic"},"platform":"Node.js v16.14.0, LE (unified)","version":"4.2.2|6.1.8"}}}
{"t":{"$date":"2022-02-18T23:48:19.760+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.4:53118","uuid":"8c7eea1d-ac2f-4166-a7c1-754b00ba90b7","connectionId":12,"connectionCount":3}}
{"t":{"$date":"2022-02-18T23:48:19.762+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn12","msg":"client metadata","attr":{"remote":"172.26.0.4:53118","client":"conn12","doc":{"driver":{"name":"nodejs|Mongoose","version":"4.2.2"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-99-generic"},"platform":"Node.js v16.14.0, LE (unified)","version":"4.2.2|6.1.8"}}}
{"t":{"$date":"2022-02-18T23:48:19.771+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.4:53120","uuid":"6d10df45-e085-4cf2-9499-98118f0aea4d","connectionId":13,"connectionCount":4}}
{"t":{"$date":"2022-02-18T23:48:19.773+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn13","msg":"client metadata","attr":{"remote":"172.26.0.4:53120","client":"conn13","doc":{"driver":{"name":"nodejs|Mongoose","version":"4.2.2"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-99-generic"},"platform":"Node.js v16.14.0, LE (unified)","version":"4.2.2|6.1.8"}}}
{"t":{"$date":"2022-02-18T23:48:19.783+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.4:53122","uuid":"93fb8a4e-62a9-4321-b31a-0e9428a2f846","connectionId":14,"connectionCount":5}}
{"t":{"$date":"2022-02-18T23:48:19.785+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn14","msg":"client metadata","attr":{"remote":"172.26.0.4:53122","client":"conn14","doc":{"driver":{"name":"nodejs|Mongoose","version":"4.2.2"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-99-generic"},"platform":"Node.js v16.14.0, LE (unified)","version":"4.2.2|6.1.8"}}}
{"t":{"$date":"2022-02-18T23:48:19.797+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.4:53124","uuid":"73966327-2cf9-4f29-8cb3-7bbf5c141b06","connectionId":15,"connectionCount":6}}
{"t":{"$date":"2022-02-18T23:48:19.798+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn15","msg":"client metadata","attr":{"remote":"172.26.0.4:53124","client":"conn15","doc":{"driver":{"name":"nodejs|Mongoose","version":"4.2.2"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-99-generic"},"platform":"Node.js v16.14.0, LE (unified)","version":"4.2.2|6.1.8"}}}
{"t":{"$date":"2022-02-18T23:48:30.249+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.26.0.4:53130","uuid":"7d9c0f76-57e6-4026-be74-c7f0d5cf4691","connectionId":16,"connectionCount":7}}
{"t":{"$date":"2022-02-18T23:48:30.251+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn16","msg":"client metadata","attr":{"remote":"172.26.0.4:53130","client":"conn16","doc":{"driver":{"name":"nodejs|Mongoose","version":"4.2.2"},"os":{"type":"Linux","name":"linux","architecture":"x64","version":"5.4.0-99-generic"},"platform":"Node.js v16.14.0, LE (unified)","version":"4.2.2|6.1.8"}}}
{"t":{"$date":"2022-02-18T23:49:16.674+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"Checkpointer","msg":"WiredTiger message","attr":{"message":"[1645228156:674720][1:0x7fda6eb06700], WT_SESSION.checkpoint: [WT_VERB_CHECKPOINT_PROGRESS] saving checkpoint snapshot min: 112, snapshot max: 112 snapshot count: 0, oldest timestamp: (0, 0) , meta checkpoint timestamp: (0, 0) base write gen: 1"}}
{"t":{"$date":"2022-02-18T23:50:16.740+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"Checkpointer","msg":"WiredTiger message","attr":{"message":"[1645228216:740693][1:0x7fda6eb06700], WT_SESSION.checkpoint: [WT_VERB_CHECKPOINT_PROGRESS] saving checkpoint snapshot min: 115, snapshot max: 115 snapshot count: 0, oldest timestamp: (0, 0) , meta checkpoint timestamp: (0, 0) base write gen: 1"}}
{"t":{"$date":"2022-02-18T23:51:16.781+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"Checkpointer","msg":"WiredTiger message","attr":{"message":"[1645228276:781905][1:0x7fda6eb06700], WT_SESSION.checkpoint: [WT_VERB_CHECKPOINT_PROGRESS] saving checkpoint snapshot min: 117, snapshot max: 117 snapshot count: 0, oldest timestamp: (0, 0) , meta checkpoint timestamp: (0, 0) base write gen: 1"}}
{"t":{"$date":"2022-02-18T23:52:16.813+00:00"},"s":"I",  "c":"STORAGE",  "id":22430,   "ctx":"Checkpointer","msg":"WiredTiger message","attr":{"message":"[1645228336:813179][1:0x7fda6eb06700], WT_SESSION.checkpoint: [WT_VERB_CHECKPOINT_PROGRESS] saving checkpoint snapshot min: 119, snapshot max: 119 snapshot count: 0, oldest timestamp: (0, 0) , meta checkpoint timestamp: (0, 0) base write gen: 1"}}
Yooooomi commented 2 years ago

Thanks for all the logs ^^. I meant the one you get in the console in the browser, under the network tab :)

marcstae commented 2 years ago

Oh, sorry... Give me a second. :)

Yooooomi commented 2 years ago

Sorry not the one under the network tab, I meant console tab, after you got the errors

marcstae commented 2 years ago

image

Yooooomi commented 2 years ago

Is the browser you're using on the same device as the docker?

marcstae commented 2 years ago

No, but in the same local network.

Yooooomi commented 2 years ago

That's why then. You are telling your browser to access localhost which is your computer. You might want to replace the localhost's by the local ip address of the device hosting the app.

marcstae commented 2 years ago

Updated it to:

version: "3"

services:
  app:
    image: yooooomi/your_spotify_server
    container_name: express-mongo
    restart: always
    ports:
      - "11223:8080"
    links:
      - mongo
    depends_on:
      - mongo
    environment:
      - API_ENDPOINT=http://192.168.1.169:11223 # This MUST be included as a valid URL in the spotify dashboard
      - CLIENT_ENDPOINT=http://192.168.1.169:3000
      - SPOTIFY_PUBLIC=c65d307da7d748b8a24f946252a9d1b3
      - SPOTIFY_SECRET=redacted
      #- CORS=http://localhost:3000,http://localhost:3001
      - CORS=all
      #- MONGO_ENDPOINT=mongodb://mongo:27017/your_spotify
      #- MAX_IMPORT_CACHE_SIZE=100000 # Number of items cached during import of past history
      #- TIMEZONE=Europe/Paris # Only affects read requests, write are in UTC time
  mongo:
    container_name: mongo
    image: mongo
    volumes:
      - ./your_spotify_db:/data/db

  web:
    image: yooooomi/your_spotify_client
    container_name: web
    restart: always
    ports:
      - "3000:3000"
    environment:
      - API_ENDPOINT=http://192.168.1.169:11223
Yooooomi commented 2 years ago

Yes, if 192.168.1.169 is the device hosting the application it should work. Again, make sure you changed it in the Spotify dashboard too

marcstae commented 2 years ago

Changed it in the Dashboard to http://192.168.1.169:11223/oauth/... To what exactly should I edit my CLIENT_ENDPOINT? I didn't find any examples in the README

I've noticed that in the console it shows this error: Is this relevant or can I ignore it image

Yooooomi commented 2 years ago

Your configuration should work fine, forget what I said about CLIENT_ENDPOINT, I was wrong. You can register peacefully now I think :)

marcstae commented 2 years ago

Thanks for your help :)

I've requested my data from Spotify.

Do I have to make my site public to access my 24h Spotify log data in the hosted webpage? Because when I'm trying to log in, I get the Error: INVALID_CLIENT: Invalid redirect URI

Although I added the fallback address in the Spotify dashboard.

Yooooomi commented 2 years ago

Can you please share a screenshot of the edit panel of your Spotify application? The problem is that the url deduced by the server is not the same as the one your registered :) You need this to work if you want the whole application to work, this is needed to fetch your newly listened songs.

marcstae commented 2 years ago

Sure :)

image

Yooooomi commented 2 years ago

It should work it's weird. I had a problem one day I forgot to hit the save button at the bottom of this panel, maybe this is the issue.

Yooooomi commented 2 years ago

Also make sure you recreated your containers after having edited the compose file

marcstae commented 2 years ago

That was it, I had 2 Spotify Dashboard sites open, closed both reopened it, and now I'm logged in :D

And it seems to import my data. I especially like the graph showing how much I listened to which hour of the day!

Yooooomi commented 2 years ago

Glad we got it to work! This graph is one of the latest ones, I love it too haha. You can access specific artists by clicking on them or search on the left. Feel free to close this issue if you feel like everything is working fine :)

marcstae commented 2 years ago

Thanks for your time :)