{"id":29721706,"url":"https://github.com/groovbox/octofin","last_synced_at":"2025-10-16T21:18:54.322Z","repository":{"id":304301469,"uuid":"1017861783","full_name":"Groovbox/octofin","owner":"Groovbox","description":"Giving Jellyfin 8 more legs to kick with","archived":false,"fork":false,"pushed_at":"2025-07-19T15:31:13.000Z","size":486,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-19T19:21:45.217Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/Groovbox.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-11T08:04:50.000Z","updated_at":"2025-07-19T15:31:18.000Z","dependencies_parsed_at":"2025-07-12T08:36:50.857Z","dependency_job_id":"fe9d9022-53b3-4f94-b981-5cd0cf879791","html_url":"https://github.com/Groovbox/octofin","commit_stats":null,"previous_names":["groovbox/octofin"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Groovbox/octofin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Groovbox%2Foctofin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Groovbox%2Foctofin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Groovbox%2Foctofin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Groovbox%2Foctofin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Groovbox","download_url":"https://codeload.github.com/Groovbox/octofin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Groovbox%2Foctofin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279240626,"owners_count":26132386,"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","status":"online","status_checked_at":"2025-10-16T02:00:06.019Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":"2025-07-24T15:42:25.529Z","updated_at":"2025-10-16T21:18:54.310Z","avatar_url":"https://github.com/Groovbox.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eOctofin\u003c/h1\u003e\n\n---\n\n![Octofin Banner](docs/img/Banner.png)\n\nOctofin provides a set of tools, scripts, and an extensive plugin ecosystem to build on top of Jellyfin, essentially giving it more features and making it *smarter*, with more capabilities and flexibility.  \nIt uses a Django backend and provides a beautiful front-end interface for users to manage their Jellyfin installations and content with ease.\n\nOctofin is the culmination of many small tools and scripts I've created over years of using Jellyfin, now polished and unified into a cohesive ecosystem. It may also support third-party extensions in the future.\n\n---\n\n## Octofin Server\n\nThis repository contains the code for Octofin’s backend server. The backend is built with Django because I'm more familiar with it as well as the fact that it comes with many built-in features that reduce the need for custom implementations.\n\nFor the database, it uses SQLite, the default database for Django since it's perfectly suited for handling configurations and lightweight data without the overhead of a full-fledged DBMS.\n\n---\n\n### Development\n\nOctofin requires a few prerequisites to enable full content-management functionality. While you can skip them for basic usage, some tools depend on them:\n\n- [FFmpeg]() – required for any media-processing features.\n\nFor managing Python dependencies, the project uses [Poetry](https://python-poetry.org/) as the dependency manager.  \nTo get started:\n\n```bash\n# Install Poetry (if not already installed)\ncurl -sSL https://install.python-poetry.org | python3 -\n\n# Clone the repository\ngit clone https://github.com/yourusername/octofin.git\ncd octofin\n\n# Install dependencies\npoetry install\n\n# Activate virtual environment\npoetry shell\n```\n\nThen, to run the Django development server on port `3936`:\n\n```shell\npython manage.py runserver 0.0.0.0:3936\n```\n\n\u003e [!NOTE]\\\n\u003e If port 3936 is already in use, feel free to change it.\\\n\u003e However, be sure to reflect the same port change in the front-end webserver configuration.\n\n\n### Octofin Web Client\n\nThe Octofin web client is a React-based front-end that interacts with this Django backend.  \nIt provides a smooth and modern user experience for managing content, running tools, and visualizing data.\n\nYou can find the web client repository here:  \n [https://github.com/groovbox/octofin-web](https://github.com/groovbox/octofin-web)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgroovbox%2Foctofin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgroovbox%2Foctofin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgroovbox%2Foctofin/lists"}