{"id":23705702,"url":"https://github.com/ccakes/spot","last_synced_at":"2026-02-03T02:30:19.087Z","repository":{"id":25225592,"uuid":"28649953","full_name":"ccakes/spot","owner":"ccakes","description":"Spotify for the office","archived":false,"fork":false,"pushed_at":"2015-09-21T02:53:42.000Z","size":6112,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-30T14:56:32.330Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ccakes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-12-31T00:11:02.000Z","updated_at":"2015-04-04T10:27:04.000Z","dependencies_parsed_at":"2022-08-06T03:15:17.929Z","dependency_job_id":null,"html_url":"https://github.com/ccakes/spot","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccakes%2Fspot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccakes%2Fspot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccakes%2Fspot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ccakes%2Fspot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ccakes","download_url":"https://codeload.github.com/ccakes/spot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239786254,"owners_count":19696772,"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":[],"created_at":"2024-12-30T14:56:50.608Z","updated_at":"2026-02-03T02:30:19.028Z","avatar_url":"https://github.com/ccakes.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spot\n\nSpot and the [web interface](https://github.com/ccakes/spot-webui) is a way for a small group of people to control a single instance of Spotify.\n\nThe idea was heavily inspired by [Play](https://github.com/play/play) but for our small office, we didn't need anything quite so elaborate. We already have an AirPlay-driven sound system driven by whoever arrived first in the morning, this just adds a social aspect to that.\n\nI'm also **not** a web developer by any stretch so this was a fun opportunity for me to experiment with some technology that I'd heard about but never really had a chance to play with myself.\n\n## Installation\n\nI'm aiming to include a script to bootstrap the install on linux \u0026 OS X but for now, here's something of a step-by-step.\n```bash\n# If you haven't already, set up Perlbrew and cpanm, go do that now.\n# A local Perl environment isn't required but highly recommended\n\n# Install Redis\nbrew install redis\napt-get install redis-server redis-tools\n\n# Install Carton\ncpanm -i Carton\n\n# Install Spotify::Control\ncpanm -i git://github.com/ccakes/p5-spotify-control.git\n\n# Install dependencies\ncarton install\n\ngit clone https://github.com/ccakes/spot\ncd spot\ncp spot.conf.sample spot.conf\n\n# Edit spot.conf to suit environment, defaults should be sane\nvim spot.conf\n\n# Run under test server to verify\ncarton exec morbo script/spot\n```\n\nAt this stage, you should have Mojolicious listening on tcp/3000 accepting requests. The simplest way to test is to start something playing in Spotify and then browse to http://localhost:3000/v2/state to see the current player status.\n\nNext step is to run under Hypnotoad and to put something like nginx in front of everything. There is a sample nginx config in [examples/](https://github.com/ccakes/spot/tree/master/examples).\n\n## Next Steps\n\nVisit the [web interface](https://github.com/ccakes/spot-webui) repository and install that along side Spot.\n\n## Support\n\nThe best way to get support is using the [GitHub issue tracker](https://github.com/ccakes/spot/issues). Please raise an issue for any bugs, feature requests or general questions.\n\n## Contributing\n\nI try to create issues for features that I want to include over time tagged with the enhancement label. Pull Requests are welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fccakes%2Fspot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fccakes%2Fspot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fccakes%2Fspot/lists"}