{"id":13841692,"url":"https://github.com/Meshiest/mrseedbox","last_synced_at":"2025-07-11T13:31:58.406Z","repository":{"id":83356887,"uuid":"65683673","full_name":"Meshiest/mrseedbox","owner":"Meshiest","description":"[unmaintained] A Containerized Seedbox with Embedded Media Player","archived":false,"fork":false,"pushed_at":"2018-08-15T00:42:44.000Z","size":2247,"stargazers_count":31,"open_issues_count":0,"forks_count":5,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-08-05T17:28:55.880Z","etag":null,"topics":["backend","docker","docker-compose","emby","letsencrypt","mysql","react","redis","ruby","rutorrent","seedbox","sinatra-server"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/Meshiest.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,"governance":null}},"created_at":"2016-08-14T19:50:54.000Z","updated_at":"2021-02-14T03:41:12.000Z","dependencies_parsed_at":"2023-03-12T18:07:57.278Z","dependency_job_id":null,"html_url":"https://github.com/Meshiest/mrseedbox","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/Meshiest%2Fmrseedbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Meshiest%2Fmrseedbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Meshiest%2Fmrseedbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Meshiest%2Fmrseedbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Meshiest","download_url":"https://codeload.github.com/Meshiest/mrseedbox/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225729616,"owners_count":17515146,"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":["backend","docker","docker-compose","emby","letsencrypt","mysql","react","redis","ruby","rutorrent","seedbox","sinatra-server"],"created_at":"2024-08-04T17:01:18.573Z","updated_at":"2024-11-21T12:30:17.497Z","avatar_url":"https://github.com/Meshiest.png","language":"JavaScript","funding_links":[],"categories":["JavaScript","JavaScript (485)"],"sub_categories":[],"readme":"**Disclaimer**: Neither this project nor its owner will take any responsibility for any illegal use.\r\n\r\n## Mr Seedbox\r\n\r\nI use this repo to test weird coding habits on a larger scale, don't expect the code to be pretty\r\n\r\n### New Screenshots\r\n\u003cimg src=\"https://i.imgur.com/rcrpdfS.png\" width=\"512\"/\u003e\r\n\u003cimg src=\"https://i.imgur.com/DVS0ivY.png\" width=\"512\"/\u003e\r\n\u003cimg src=\"https://i.imgur.com/yhPPTDj.png\" width=\"512\"/\u003e\r\n\u003cimg src=\"https://i.imgur.com/dHCrbq6.png\" width=\"512\"/\u003e\r\n\u003cimg src=\"https://i.imgur.com/Dg4yvZs.png\" width=\"512\"/\u003e\r\n\r\n## Install process (Still wip, sorry!):\r\n\r\n1. Be running Linux\r\n* Install Git\r\n* Install docker\r\n* Install docker-compose\r\n* Create a Google API Project\r\n* Add the Google+ API library\r\n* Generate some Credentials for Oauth2\r\n  * Application Type:\r\n    * Web Application\r\n  * Authorized origins:\r\n    * `https://localhost` or `https://yourdomain.com`\r\n  * Authorized redirect URIs:\r\n    * `https://localhost/oauth2callback` or `https://yourdomain.com/oauth2callback`\r\n* `git clone https://github.com/Meshiest/mrseedbox.git`\r\n* `cd mrseedbox`\r\n* `cp common.env.default common.env`\r\n* `cp docker-compose.yml.default docker-compose.yml` OR `cp letsencrypt-docker-compose.yml docker-compose.yml` for letsencrypt\r\n* Edit your docker-compose.yml and common.env files (put google api client and secret in)\r\n  * Make sure you change EXAMPLE.COM if you're using the letsencrypt dockerfile\r\n* Generate a SSL Cert: `./setup`\r\n  * If you are using LetsEncrypt, you can use `certbot certonly --standalone`\r\n  * If you are using LetsEncrypt, make sure you generate a dhparam:\r\n    * `sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048`\r\n* The **first person to connect and auth will be the \"owner\"**\r\n* You will have to go through the initial emby setup at `localhost:8096`!\r\n* If you are migrating from the old versions, you may have to `docker build backend` before starting the containers. If that doesn't work, you should remove all containers and images associated with this app and `./start` it again\r\n* **Don't forget to add this to your MyAnimeList Custom CSS for the best experience**: `@import url(https://gist.githubusercontent.com/Meshiest/cf3a3a4e16f5669ce7540445bf5b4cbf/raw/style.css)`\r\n\r\nIf you do use the above LetsEncrypt instructions, you should get some nice A+ SSL like this:\r\n\r\n![](https://i.imgur.com/ZVDQet3.png)\r\n\r\n### Commands (from shell):\r\n\r\n* `./start` - start, build, and update containers. If you need to update emby, you can run this\r\n* `docker-compose up -d` - same as above\r\n* `./stop` - should stop containers\r\n* `docker-compose kill ; docker-compose rm -f` - same as above\r\n* `./db` - should open db container for debugging\r\n* `./server` - should restart sinatra server container (by force \u003e:) )\r\n* `docker-compose restart mrseedbox_backend_1` - should be a nicer way of doing above\r\n* `docker logs -f mrseedbox_backend_1` - read logs from sinatra server\r\n* `docker ps` - list containers\r\n* `docker exec -it mrseedbox_backend_1 bash` - get a shell in the backend container\r\n* You should know that creating a `debug` file in the backend folder will prevent authentication\r\n\r\n## Contributing\r\n\r\n### Things You Need\r\n* You need docker\r\n* NPM/node\r\n\r\n### Updating the Backend (`./backend`)\r\n1. Make your changes\r\n2. `docker build .` \r\n3. `./start` from the parent directory and `docker logs -f mrseedbox_backend_1` and check if there were any problems starting the container\r\n\r\n### Updating the frontend (`./backend/public/js`)\r\n1. Change app.jsx\r\n2. `npm install --only=dev` in backend/public/js\r\n3. `npm test`\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMeshiest%2Fmrseedbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMeshiest%2Fmrseedbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMeshiest%2Fmrseedbox/lists"}