{"id":13522306,"url":"https://github.com/Gyarbij/Plexist","last_synced_at":"2025-03-31T22:31:00.960Z","repository":{"id":45839567,"uuid":"514805491","full_name":"Gyarbij/Plexist","owner":"Gyarbij","description":"Plex+Playlist=Plexist, An application for recreating Spotify and Deezer playlist in Plex (because Plex music playlist are a croc of tihs)","archived":false,"fork":false,"pushed_at":"2025-02-14T07:23:44.000Z","size":287,"stargazers_count":41,"open_issues_count":12,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-28T18:58:14.046Z","etag":null,"topics":["deezer","deezer-playlist","deezer-util","plex-deezer","plex-playlist","plex-spotify","plex-utills","plexist","spotify","spotify-playlist","spotify-util"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Gyarbij.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-17T09:57:08.000Z","updated_at":"2025-03-19T09:06:48.000Z","dependencies_parsed_at":"2024-03-02T22:25:21.875Z","dependency_job_id":"9f016d9c-5344-4feb-8a0a-fcb74af58993","html_url":"https://github.com/Gyarbij/Plexist","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gyarbij%2FPlexist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gyarbij%2FPlexist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gyarbij%2FPlexist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Gyarbij%2FPlexist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Gyarbij","download_url":"https://codeload.github.com/Gyarbij/Plexist/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246552254,"owners_count":20795789,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deezer","deezer-playlist","deezer-util","plex-deezer","plex-playlist","plex-spotify","plex-utills","plexist","spotify","spotify-playlist","spotify-util"],"created_at":"2024-08-01T06:00:45.399Z","updated_at":"2025-03-31T22:30:58.952Z","avatar_url":"https://github.com/Gyarbij.png","language":"Python","funding_links":[],"categories":["Python","Complimenting Apps"],"sub_categories":[],"readme":"[![CodeQL](https://github.com/Gyarbij/Plexist/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/Gyarbij/Plexist/actions/workflows/codeql-analysis.yml) [![DockerHub](https://github.com/Gyarbij/Plexist/actions/workflows/image.yml/badge.svg)](https://github.com/Gyarbij/Plexist/actions/workflows/image.yml) [![Docker Dev Image CI](https://github.com/Gyarbij/Plexist/actions/workflows/dev-docker-image.yml/badge.svg)](https://github.com/Gyarbij/Plexist/actions/workflows/dev-docker-image.yml)\n\n# Plexist\nPlex+Playlist=Plexist, An application for recreating and syncing Spotify and Deezer playlist in Plex (because Plex music playlist are a croc of tihs)\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./assets/plexist.png\" width=\"802\" /\u003e\n\u003c/p\u003e\n\n## What it does:\n\n* Recreates your streaming playlist within Plex, using files you already have in your library.\n* Keeps created playlist in sync with the streaming service.\n* Creates new playlist in Plex when they're added to your streaming service.\n\n## What it will NOT do:\n\n* Steal Shit!\n\n## User Requirements\n\n### Plex\n* Plex server host and port (http://192.420.0.69:32400)\n* Plex token - [Instructions here](https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/)\n\n### Spotify\n* Spotify client ID and client secret - Can be obtained from [Spotify developer](https://developer.spotify.com/dashboard/login)\n* Spotify user ID - This can be found on  your [Spotify account page](https://www.spotify.com/nl/account/overview/)\n\n### Deezer\n* Deezer profile ID of the account to fetch the playlist\n  * Login to deezer.com\n  * Click on your profile\n  * Grab the profile ID from the URL\n  *  Example: https://www.deezer.com/nl/profile/######## -  ######## is the profile ID\nOR\n* Get playlists IDs of playlists you want to sync\n  *  Example: https://www.deezer.com/en/playlist/10484834882 - 10484834882 is the playlist ID\n\n## Installation\n\nThe below will only run once unless you create a cronjob, etc. Docker is the recommended deployment method.\nOne-time run installation steps:\n```Bash\ngit clone https://github.com/Gyarbij/Plexist.git\ncd Plexist\npip3 install -r requirements.txt\npython3 plexist.py\n```\n\n## Docker Deployment\n\nYou can run the image via docker run or docker compose, choice is yours. Multi-Platform mages are available on [Docker Hub](https://hub.docker.com/r/gyarbij/plexist/).\n\nConfigure the parameters as required. Plex URL and TOKEN are mandatory and the options for your respective streaming service.\n\n### Docker Run\n\n```\ndocker run -d \\\n  --name=plexist \\\n  --restart unless-stopped \\\n  -e PLEX_URL=                          # \u003cyour local plex url\u003e\n  -e PLEX_TOKEN=                        # \u003cyour plex token\u003e\n  -e WRITE_MISSING_AS_CSV=              # \u003c1 or 0\u003e, Default 0, 1 = writes missing tracks to a csv\n  -e ADD_PLAYLIST_POSTER=               # \u003c1 or 0\u003e, Default 1, 1 = add poster for each playlist\n  -e ADD_PLAYLIST_DESCRIPTION=          # \u003c1 or 0\u003e, Default 1, 1 = add description for each playlist\n  -e APPEND_INSTEAD_OF_SYNC=            # \u003c0 or 1\u003e, Default 0, 1 = Sync tracks, 0 = Append only\n  -e SECONDS_TO_WAIT=84000              # Seconds to wait between syncs\n  -e SPOTIFY_CLIENT_ID=                 # Your Spotify Client/App ID\n  -e SPOTIFY_CLIENT_SECRET=             # Your Spotify client secret\n  -e SPOTIFY_USER_ID=                   # Spotify ID to sync (Sync's all playlist)\n  -e DEEZER_USER_ID=                    # Deezer ID to sync (Sync's all playlist)\n  -e DEEZER_PLAYLIST_ID=                # Individual playlist\n  gyarbij/plexist:latest\n\n```\n#### Notes\n- Include `http://` or `https://` in the PLEX_URL\n- Remove comments (e.g.  `# Optional x`) before running \n\n### Docker Compose\n\ndocker-compose.yml should be configured per the below, if you don't user Spotify you can remove the Spotify variables and vice versa for Deezer. \n\nA template is Here: [docker-compose.yml](https://github.com/gyarbij/plexist/blob/main/assets/compose.yaml)\n\n```\nversion: '3.8'\nservices:\n  plexist:\n    container_name: plexist\n    image: gyarbij/plexist:latest\n    environment:\n      - PLEX_URL=                # your local plex url\n      - PLEX_TOKEN=              # your plex token\n      - WRITE_MISSING_AS_CSV=    # \u003c1 or 0\u003e, Default 0, 1 = writes missing tracks to a csv\n      - ADD_PLAYLIST_POSTER=     # \u003c1 or 0\u003e, Default 1, 1 = add poster for each playlist\n      - ADD_PLAYLIST_DESCRIPTION=# \u003c1 or 0\u003e, Default 1, 1 = add description for each playlist\n      - APPEND_INSTEAD_OF_SYNC=  # \u003c0 or 1\u003e, Default 0, 1 = Sync tracks, 0 = Append only\n      - SECONDS_TO_WAIT=84000    # Seconds to wait between syncs\n      - SPOTIFY_CLIENT_ID=       # your spotify client id\n      - SPOTIFY_CLIENT_SECRET=   # your spotify client secret\n      - SPOTIFY_USER_ID=         # your spotify user id\n      - DEEZER_USER_ID=          # your deezer user id\n      - DEEZER_PLAYLIST_ID=      # deezer playlist ids space separated\n    restart: unless-stopped\n\n```\nAnd run with :\n```\ndocker-compose up\n```\n\n## Contributing\n\nRefer to [contributor documentation](CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGyarbij%2FPlexist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGyarbij%2FPlexist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGyarbij%2FPlexist/lists"}