{"id":24607634,"url":"https://github.com/adrianmarino/karajoker","last_synced_at":"2026-04-19T19:05:26.205Z","repository":{"id":25289385,"uuid":"28715397","full_name":"adrianmarino/karajoker","owner":"adrianmarino","description":"Another youtube karaoke application","archived":false,"fork":false,"pushed_at":"2016-02-23T19:48:25.000Z","size":19514,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-24T17:38:54.330Z","etag":null,"topics":["angular","karaoke-application","rails","youtube"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adrianmarino.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-02T14:24:37.000Z","updated_at":"2017-03-25T21:33:57.000Z","dependencies_parsed_at":"2022-08-23T04:50:09.416Z","dependency_job_id":null,"html_url":"https://github.com/adrianmarino/karajoker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianmarino%2Fkarajoker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianmarino%2Fkarajoker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianmarino%2Fkarajoker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianmarino%2Fkarajoker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adrianmarino","download_url":"https://codeload.github.com/adrianmarino/karajoker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244209230,"owners_count":20416240,"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":["angular","karaoke-application","rails","youtube"],"created_at":"2025-01-24T17:39:11.554Z","updated_at":"2025-12-17T21:20:48.388Z","avatar_url":"https://github.com/adrianmarino.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/adrianmarino/ruml.svg?branch=master)](https://travis-ci.org/adrianmarino/karajoker)\n[![License](http://img.shields.io/:license-mit-blue.svg)](http://badges.mit-license.org)\n\n# Karajoker\nOnly another karaoke application.\n\n## Application setup\n\n#### Requisites\n * Redis\n * Mysql\n\n#### Steps\n\n1. Install mysql lib\n\t* In Arch\n\n\t\t```\n\t\tsudo pacman -S libmysqlclient\n\t\t```\n\n\t* In Debian\n\n\t\t```\n\t\tsudo apt-get install libmysqlclient-dev\n\t\t```\n\n2. Clone repository\n\n\t ```\n\tgit clone https://github.com/adrianmarino/karajoker.git\n\t ```\n\n2. Go to karajoker\n\n\t```\n\tcd karajoker\n\t```\n\n4. Install dependencies\n\n\t```\n\tbundle install\n\t```\n\n5. Start MySQL server\n\n\t```\n\tbundle exec rake mysql:start\n\t```\n\n6. Setup on bashrc:\n\n\t```\n\texport DB_HOSTNAME=\"localhost\"\n\texport DB_USERNAME=\"root\"\n\texport DB_PASSWORD=\"Your password\"\n\t```\n\n8. Open a new bash session\n\n9. Setup db\n\t1. Get db username and password\n\n\t\t```\n\t\tbundle exec rake db:config\n\t\t```\n\n\t2.  Create schema (Require password)\n\n\t\t```\n\t\tbundle exec rake db:create-schema\n\t\t```\n\n\t3. Migrate schema\n\n\t\t```\n\t\tbundle exec rake db:migrate\n\t\t```\n\n\n10. Check whether the application works perfectly, runing all test (Optional)\n\n\t ```\n\tbundle exec rake\n\t```\n\n11. Start redis\n\n\t```\n\tbundle exec rake redis:start\n\t```\n\n12. Start sidekiq worker (On other bash session)\n\n\t```\n\tbundle exec rake sidekiq:start\n\t```\n\n13. Run application\n\n\t```\n\tbundle exec rails server\n\t```\n\n14. Find and index top karaokes\n\t * Index first 10 songs from a top 100 songs chart at 2015 (This cloud take many time):\n\n\t   ```\n\t   bundle exec rake job:index[10,2015..2015,3000]\n\t   ```\n\n\t  * Index all songs of top 100 songs charts from 1970 to 2015 (This cloud take days):\n\n\t   ```\n\t   bundle exec rake job:index[100,1970..2015,3000]\n\t   ```\n\n  \t **Notes**\n\t\t* Last parameter is the application port.\n\t\t* On zsh session user  \\ before [ or ].\n\n15. Monitor index process with [Sidekiq](http://localhost:8081/sidekiq).\n\n16. Go to [Karajoker](http://localhost:8081)\n\n## Setup in Docker\n\n#### Requisites\n* Docker 1.9.1\n* Docker Compose 1.5.1\n\n#### Steps\n\n1. Build images: This action is required after some changes on kararajoker application to update these on the docker container.\n\n\t```\n\tbundle exec rake docker:build\n\t```\n\n2. Start containers\n\n\t```\n\tbundle exec rake docker:start\n\t```\n\n3. Setup db\n\n\t1. Get  container id of karajoker_karajoker\n\n\t\t```\n\t\tdocker ps\n\t\t```\n\n\t2. Open a bash session on karajoker_karajoker container\n\n\t\t```\n\t\tdocker exec -it CONTAINER_ID bash\n\t\t```\n\n\t3. Get db user and password\n\n\t\t```\n\t\tbundle exec rake db:config\n\t\t```\n\n\t4.  Create schema (Require password)\n\n\t\t```\n\t\tbundle exec rake db:create-schema\n\t\t```\n\n\t5. Migrate schema\n\n\t\t```\n\t\tbundle exec rake db:migrate\n\t\t```\n\n4. Find and index top karaokes\n\n\t ```\n  \tbundle exec rake job:index[10,2015]\n\t```\n\n5. Config greylog input (only one time):\n\n\t1. Sign in:\n\t\t* Username: admin\n\t\t* Password: password\n\t1. Menu System -\u003e Input\n\t2. Select \"GELF UDP\" input type\n\t3. Launch new input\n\t4. Title: Karajoker\n\t5. Launch\n\n6. Monitor index process with:\n\t* [Sidekiq](http://localhost:8081/sidekiq)\n\t* [Graylog](http://localhost:9000)\n\n7. Go to [Karajoker](http://localhost:8081)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrianmarino%2Fkarajoker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadrianmarino%2Fkarajoker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrianmarino%2Fkarajoker/lists"}