{"id":13763772,"url":"https://github.com/hassio-addons/addon-octobox","last_synced_at":"2025-05-10T17:30:56.365Z","repository":{"id":88120989,"uuid":"138414541","full_name":"hassio-addons/addon-octobox","owner":"hassio-addons","description":"Octobox - Community Hass.io Add-on for Home Assistant","archived":true,"fork":false,"pushed_at":"2019-02-27T19:30:07.000Z","size":427,"stargazers_count":2,"open_issues_count":0,"forks_count":3,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-11-16T23:32:20.984Z","etag":null,"topics":["github","github-notification","hass","hassio","hassio-addons","home-assistant","homeassistant","octobox"],"latest_commit_sha":null,"homepage":"https://addons.community","language":"Shell","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/hassio-addons.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":".github/support.yml","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-06-23T15:57:18.000Z","updated_at":"2023-01-28T18:55:44.000Z","dependencies_parsed_at":"2023-05-18T09:31:36.177Z","dependency_job_id":null,"html_url":"https://github.com/hassio-addons/addon-octobox","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hassio-addons%2Faddon-octobox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hassio-addons%2Faddon-octobox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hassio-addons%2Faddon-octobox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hassio-addons%2Faddon-octobox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hassio-addons","download_url":"https://codeload.github.com/hassio-addons/addon-octobox/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253453207,"owners_count":21911059,"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":["github","github-notification","hass","hassio","hassio-addons","home-assistant","homeassistant","octobox"],"created_at":"2024-08-03T15:00:58.257Z","updated_at":"2025-05-10T17:30:55.274Z","avatar_url":"https://github.com/hassio-addons.png","language":"Shell","funding_links":["https://www.buymeacoffee.com/frenck","https://www.patreon.com/frenck"],"categories":["Hass.io"],"sub_categories":["Third Party Add-ons"],"readme":"# Community Hass.io Add-ons: Octobox\n\n[![GitHub Release][releases-shield]][releases]\n![Project Stage][project-stage-shield]\n[![License][license-shield]](LICENSE.md)\n\n[![GitLab CI][gitlabci-shield]][gitlabci]\n![Project Maintenance][maintenance-shield]\n[![GitHub Activity][commits-shield]][commits]\n\n[![Bountysource][bountysource-shield]][bountysource]\n[![Discord][discord-shield]][discord]\n[![Community Forum][forum-shield]][forum]\n\n[![Buy me a coffee][buymeacoffee-shield]][buymeacoffee]\n\n[![Support my work on Patreon][patreon-shield]][patreon]\n\nTake back control of your GitHub notifications.\n\n![Octobox on the Home Assistant frontend](images/screenshot.png)\n\n## About\n\nIf you manage more than one active project on GitHub, you probably find\nGitHub notifications pretty lacking.\n\nNotifications are marked as read and disappear from the list as soon as you load\nthe page or view the email of the notification. This makes it very hard to keep\non top of which notifications you still need to follow up on.\n\nMost open source maintainers and GitHub staff end up using a complex combination\nof filters and labels in Gmail to manage their notifications from their inbox.\nIf you are like me, try to avoid email, then you might want something else.\n\nOctobox is a beautiful application that manages your GitHub notifications via\nGitHub’s API, allowing you to filter down by organization, project,\nnotification type, or the reason why you are receiving the notification in the\nfirst place.\n\nIt is easy to drill down into the issues that matter to you in the current\nmoment while still allowing you to be subscribed to projects that you’d like\nto keep an eye on. You can quickly address threads that you’ve authored yourself\nor remember that you still need to submit your review that someone requested.\nYou can “star” long-running issues that you know might be important down the\nroad.\n\nA real must-have for every GitHub opensource contributor.\n\n## Installation\n\nThe installation of this add-on is pretty straightforward and not different in\ncomparison to installing any other Hass.io add-on.\n\n1. [Add our Hass.io add-ons repository][repository] to your Hass.io instance.\n1. Install the \"Octobox\" add-on.\n1. [Register a GitHub application](#registering-a-github-application),\n   and set the `github_client_id` and `github_client_secret` add-on options.\n1. Start the \"Octobox\" add-on\n1. Check the logs of the \"Octobox\" add-on to see if everything went well.\n\n**NOTE**: Starting the add-on might take a couple of minutes (especially the\nfirst time starting the add-on).\n\n**NOTE**: Do not add this repository to Hass.io, please use:\n`https://github.com/hassio-addons/repository`.\n\n## Docker status\n\n![Supports armhf Architecture][armhf-shield]\n![Supports aarch64 Architecture][aarch64-shield]\n![Supports amd64 Architecture][amd64-shield]\n![Supports i386 Architecture][i386-shield]\n\n[![Docker Layers][layers-shield]][microbadger]\n[![Docker Pulls][pulls-shield]][dockerhub]\n\n## Configuration\n\n**Note**: _Remember to restart the add-on when the configuration is changed._\n\nExample add-on configuration:\n\n```json\n{\n  \"log_level\": \"info\",\n  \"github_client_id\": \"59e0ec28d71d42d60104\",\n  \"github_client_secret\": \"3c63dfc42ecb8fc65bb27d3f6ae3f271846367fe\",\n  \"username\": \"MarryPoppins\",\n  \"password\": \"Supercalifragilisticexpialidocious\",\n  \"ssl\": true,\n  \"certfile\": \"fullchain.pem\",\n  \"keyfile\": \"privkey.pem\",\n  \"sync_timeout\": 600,\n  \"fetch_subject\": true,\n  \"minimum_refresh_interval\": 1,\n  \"allow_personal_access_token\": false,\n  \"github_restrict_access\": false,\n  \"github_organization_id\": 0,\n  \"github_team_id\": 0,\n  \"ipv6\": false\n}\n```\n\n**Note**: _This is just an example, don't copy and paste it! Create your own!_\n\n### Option: `log_level`\n\nThe `log_level` option controls the level of log output by the addon and can\nbe changed to be more or less verbose, which might be useful when you are\ndealing with an unknown issue. Possible values are:\n\n- `trace`: Show every detail, like all called internal functions.\n- `debug`: Shows detailed debug information.\n- `info`: Normal (usually) interesting events.\n- `warning`: Exceptional occurrences that are not errors.\n- `error`:  Runtime errors that do not require immediate action.\n- `fatal`: Something went terribly wrong. Add-on becomes unusable.\n\nPlease note that each level automatically includes log messages from a\nmore severe level, e.g., `debug` also shows `info` messages. By default,\nthe `log_level` is set to `info`, which is the recommended setting unless\nyou are troubleshooting.\n\n### Option: `github_client_id`\n\nThe GitHub application client ID for Octobox. You can get this ID by\nregistering a new application on GitHub.\n\nFor more information, please see the \"Registering a GitHub application\" chapter.\n\n**Note**: _This option support secrets, e.g., `!secret github_client_id`._\n\n### Option: `github_client_secret`\n\nThe GitHub application client ID for Octobox. You can get this secret by\nregistering a new application on GitHub.\n\nFor more information, please see the \"Registering a GitHub application\" chapter.\n\n**Note**: _This option support secrets, e.g., `!secret github_client_secret`._\n\n### Option: `username`\n\nUsername for authenticating with the Octobox interface. Leaving the username\nfield empty, will disable the authentication mechanism entirely.\n\nOctox is already protected by a GitHub authentication, nevertheless, other\nusers might still use your installation (still, they need to authenticate\nwith their own GitHub account).\n\nSetting a username/password can be added as an extra line of defense,\nto prevent users of using your installation for themselves.\n\nThis option is HIGHLY recommended in case you expose this add-on to the outside\nworld.\n\n**Note**: _This option support secrets, e.g., `!secret octobox_username`._\n\n### Option: `password`\n\nPassword for authenticating with Octobox interface.\n\n**Note**: _This option support secrets, e.g., `!secret octobox_password`._\n\n### Option: `ssl`\n\nEnables/Disables SSL (HTTPS) on the web interface of Octobox. Set it `true`\nto enable it, `false` otherwise.\n\n### Option: `certfile`\n\nThe certificate file to use for SSL.\n\n**Note**: _The file MUST be stored in `/ssl/`, which is the default for Hass.io_\n\n### Option: `keyfile`\n\nThe private key file to use for SSL.\n\n**Note**: _The file MUST be stored in `/ssl/`, which is the default for Hass.io_\n\n### Option: `sync_timeout`\n\nThe add-on will sync the notification automatically in the background using\na special task. This option allows you to specify a timeout before each sync.\n\nFor example, setting this to `900` will automatically sync you\nthe notifications every 15 minutes.\n\n### Option: `fetch_subject`\n\nExperimental feature for downloading extra information about the subject of\neach notification, namely:\n\n- Author for Issues, Pull Requests, Commit Comments and Releases\n- State (open/closed/merged) for Issues, Pull Requests\n- Labels\n\nThis feature is enabled by default in this add-on, but can be disabled by\nsetting this option to `false`.\n\nIf you want this feature to work for private repositories, you'll need to\nCustomize the Scopes on GitHub adding the `repo` scope to allow Octobox to get\nsubject information for private issues and pull requests.\n\n### Option: `minimum_refresh_interval`\n\nYou may allow users to set an auto-refresh interval that will cause a periodic\nsync and page reload when they are viewing notifications.\n\nTo disable this simply set the environment variable `minimum_refresh_interval`\nto 0. `minimum_refresh_interval` is the lowest number of minutes between\nauto-syncs that the add-on will allow.\n\n### Option: `allow_personal_access_token`\n\nOctobox can optionally allow you to set a personal access token to use when\nquerying for notifications. This must be enabled at add-on level, by setting\nthis option to `true`.\n\nOnce that is set, users can set a personal access token on the Settings\npage (found on the user drop-down menu).\n\n### Option: `github_restrict_access`\n\nYou can restrict access to your Octobox instance, and only allow members of a\nGitHub organization or team. To limit access set the configuration option\n`github_restrict_access` to `true`. Next set either `github_organization_id`\nor `github_team_id`.\n\n### Option: `github_organization_id`\n\nThis option allows you to limit access to your add-on, by only allowing access\nto Octobox for members of a specific GitHub organization.\n\nYou can get an organization's ID with this curl command:\n\n```bash\ncurl https://api.github.com/orgs/\u003corg_name\u003e\n```\n\n### Option: `github_team_id`\n\nThis option allows you to limit access to your add-on, by only allowing access\nto Octobox for members of a specific GitHub team.\n\nYou can get a team's ID with this curl command:\n\n```bash\ncurl https://api.github.com/orgs/\u003corg_name\u003e/teams\n```\n\nFind your team on the list and copy its ID.\n\n### Option: `ipv6`\n\nSet this option too `false` to disable IPv6 support.\n\n### Option: `i_like_to_be_pwned`\n\nAdding this option to the add-on configuration allows to you bypass the\nHaveIBeenPwned password requirement by setting it to `true`.\n\n**Note**: _We STRONGLY suggest picking a stronger/safer password instead of\nusing this option! USE AT YOUR OWN RISK!_\n\n### Option: `leave_front_door_open`\n\nAdding this option to the add-on configuration allows you to disable\nauthentication on the add-on by setting it to `true` and leaving the\nusername and password empty.\n\n**Note**: _We STRONGLY suggest, not to use this, even if this add-on is\nonly exposed to your internal network. USE AT YOUR OWN RISK!_\n\n## Registering a GitHub application\n\nOctobox works as a GitHub application. In order to work, this application\nmust be registered with GitHub. Every registered OAuth application is assigned\na unique Client ID and Client Secret, which is needed by this add-on.\n\nSurf to the following URL to register a new GitHub application:\n\n\u003chttps://github.com/settings/applications/new\u003e\n\nYou can fill out every piece of information however you like, except the\n**Authorization callback URL**. This is easily the most important piece to\nset up your Octobox. It's the callback URL that GitHub returns the user\nto after successful authentication.\n\nThe configuration for Octobox should look something like this:\n\n![Registering a new application on GitHub](images/register.png)\n\nAfter creating it, GitHub should show you your GitHub's application Client ID\nand Client Secret.\n\n![Registered GitHub application showing credentials](images/secrets.png)\n\nUse them both in the matching add-on configuration options.\n\n## Embedding into Home Assistant\n\nIt is possible to embed Octobox directly into Home Assistant, allowing you to\naccess your Octobox through the Home Assistant frontend.\n\nHome Assistant provides the `panel_iframe` component, for these purposes.\n\nExample configuration:\n\n```yaml\npanel_iframe:\n  octobox:\n    title: Octobox\n    icon: mdi:github-face\n    url: http://addres.to.your.hass.io:3333\n```\n\n## Changelog \u0026 Releases\n\nThis repository keeps a change log using [GitHub's releases][releases]\nfunctionality. The format of the log is based on\n[Keep a Changelog][keepchangelog].\n\nReleases are based on [Semantic Versioning][semver], and use the format\nof ``MAJOR.MINOR.PATCH``. In a nutshell, the version will be incremented\nbased on the following:\n\n- ``MAJOR``: Incompatible or major changes.\n- ``MINOR``: Backwards-compatible new features and enhancements.\n- ``PATCH``: Backwards-compatible bugfixes and package updates.\n\n## Support\n\nGot questions?\n\nYou have several options to get them answered:\n\n- The [Community Hass.io Add-ons Discord chat server][discord] for add-on\n  support and feature requests.\n- The [Home Assistant Discord chat server][discord-ha] for general Home\n  Assistant discussions and questions.\n- The Home Assistant [Community Forum][forum].\n- Join the [Reddit subreddit][reddit] in [/r/homeassistant][reddit]\n\nYou could also [open an issue here][issue] GitHub.\n\n## Contributing\n\nThis is an active open-source project. We are always open to people who want to\nuse the code or contribute to it.\n\nWe have set up a separate document containing our\n[contribution guidelines](CONTRIBUTING.md).\n\nThank you for being involved! :heart_eyes:\n\n## Authors \u0026 contributors\n\nThe original setup of this repository is by [Franck Nijhof][frenck].\n\nFor a full list of all authors and contributors,\ncheck [the contributor's page][contributors].\n\n## We have got some Hass.io add-ons for you\n\nWant some more functionality to your Hass.io Home Assistant instance?\n\nWe have created multiple add-ons for Hass.io. For a full list, check out\nour [GitHub Repository][repository].\n\n## License\n\nMIT License\n\nCopyright (c) 2018 Franck Nijhof\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n[aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg\n[amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg\n[anchore-shield]: https://anchore.io/service/badges/image/67d1185473090e99d5ac5e1bb4d1aa2295117a9bd3d7abbf8cd8a71e331c8388\n[anchore]: https://anchore.io/image/dockerhub/hassioaddons%2Funifi%3Alatest\n[armhf-shield]: https://img.shields.io/badge/armhf-yes-green.svg\n[bountysource-shield]: https://img.shields.io/bountysource/team/hassio-addons/activity.svg\n[bountysource]: https://www.bountysource.com/teams/hassio-addons/issues\n[buymeacoffee-shield]: https://www.buymeacoffee.com/assets/img/guidelines/download-assets-sm-2.svg\n[buymeacoffee]: https://www.buymeacoffee.com/frenck\n[commits-shield]: https://img.shields.io/github/commit-activity/y/hassio-addons/addon-octobox.svg\n[commits]: https://github.com/hassio-addons/addon-octobox/commits/master\n[contributors]: https://github.com/hassio-addons/addon-octobox/graphs/contributors\n[discord-ha]: https://discord.gg/c5DvZ4e\n[discord-shield]: https://img.shields.io/discord/478094546522079232.svg\n[discord]: https://discord.me/hassioaddons\n[dockerhub]: https://hub.docker.com/r/hassioaddons/octobox\n[forum-shield]: https://img.shields.io/badge/community-forum-brightgreen.svg\n[forum]: https://community.home-assistant.io/t/community-hass-io-add-on-octobox/57695?u=frenck\n[frenck]: https://github.com/frenck\n[gitlabci-shield]: https://gitlab.com/hassio-addons/addon-octobox/badges/master/pipeline.svg\n[gitlabci]: https://gitlab.com/hassio-addons/addon-octobox/pipelines\n[home-assistant]: https://home-assistant.io\n[i386-shield]: https://img.shields.io/badge/i386-yes-green.svg\n[issue]: https://github.com/hassio-addons/addon-octobox/issues\n[keepchangelog]: http://keepachangelog.com/en/1.0.0/\n[layers-shield]: https://images.microbadger.com/badges/image/hassioaddons/octobox.svg\n[license-shield]: https://img.shields.io/github/license/hassio-addons/addon-octobox.svg\n[maintenance-shield]: https://img.shields.io/maintenance/yes/2018.svg\n[microbadger]: https://microbadger.com/images/hassioaddons/octobox\n[patreon-shield]: https://www.frenck.nl/images/patreon.png\n[patreon]: https://www.patreon.com/frenck\n[project-stage-shield]: https://img.shields.io/badge/project%20stage-%20!%20DEPRECATED%20%20%20!-ff0000.svg\n[pulls-shield]: https://img.shields.io/docker/pulls/hassioaddons/octobox.svg\n[reddit]: https://reddit.com/r/homeassistant\n[releases-shield]: https://img.shields.io/github/release/hassio-addons/addon-octobox.svg\n[releases]: https://github.com/hassio-addons/addon-octobox/releases\n[repository]: https://github.com/hassio-addons/repository\n[semver]: http://semver.org/spec/v2.0.0.htm\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhassio-addons%2Faddon-octobox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhassio-addons%2Faddon-octobox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhassio-addons%2Faddon-octobox/lists"}