{"id":19818902,"url":"https://github.com/websoft9/plugin-portainer","last_synced_at":"2026-06-04T20:31:08.154Z","repository":{"id":176590715,"uuid":"658549633","full_name":"Websoft9/plugin-portainer","owner":"Websoft9","description":"Websoft9 plugin which for connect Portainer","archived":false,"fork":false,"pushed_at":"2025-09-03T03:38:04.000Z","size":51493,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-24T10:16:22.682Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Websoft9.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2023-06-26T03:05:56.000Z","updated_at":"2025-09-03T03:38:00.000Z","dependencies_parsed_at":"2024-05-08T01:29:18.299Z","dependency_job_id":"8948b4b0-9598-48d9-9953-5e7e63cb7ff5","html_url":"https://github.com/Websoft9/plugin-portainer","commit_stats":null,"previous_names":["websoft9/plugin-portainer"],"tags_count":19,"template":false,"template_full_name":"Websoft9/plugin-appstore","purl":"pkg:github/Websoft9/plugin-portainer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Websoft9%2Fplugin-portainer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Websoft9%2Fplugin-portainer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Websoft9%2Fplugin-portainer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Websoft9%2Fplugin-portainer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Websoft9","download_url":"https://codeload.github.com/Websoft9/plugin-portainer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Websoft9%2Fplugin-portainer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33917202,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-04T02:00:06.755Z","response_time":64,"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":"2024-11-12T10:17:12.770Z","updated_at":"2026-06-04T20:31:08.149Z","avatar_url":"https://github.com/Websoft9.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](http://www.gnu.org/licenses/gpl-3.0)\n[![GitHub last commit](https://img.shields.io/github/last-commit/websoft9/plugin-portainer)](https://github.com/websoft9/plugin-portainer)\n[![GitHub Release Date](https://img.shields.io/github/release-date/websoft9/plugin-portainer)](https://github.com/websoft9/plugin-portainer)\n[![GitHub Repo stars](https://img.shields.io/github/stars/websoft9/plugin-portainer?style=social)](https://github.com/websoft9/plugin-portainer)\n\n# Websoft9 Plugin - `portainer`\n\nThis plugin is the entrance to portainer service, it is used to manage installed applications and docker containers.\n\n![image](https://github.com/Websoft9/plugin-portainer/assets/16741975/772eba54-32d9-45c5-8f89-9eb1fc2b8970)\n\n## Installation and update\n\nYour server must be have [Websoft9](https://github.com/Websoft9) installed.  \n\n```\nwget https://websoft9.github.io/websoft9/scripts/update_zip.sh \u0026\u0026 bash ./update_zip.sh --channel release --package_name \"portainer-latest.zip\" --sync_to \"/usr/share/cockpit/portainer\"\n```\n\n## Security Considerations\n\n**Current Limitation**: Portainer credentials are retrieved client-side and briefly visible in browser DevTools during authentication. This is mitigated by:\n\n- **Cockpit authentication required**: Users must authenticate with Cockpit before accessing the plugin\n- **Local network usage**: Plugin is typically used in local/trusted networks, not exposed to public internet\n- **Planned improvement**: Story 4.4 will implement backend proxy to keep credentials server-side only\n\n**Recommendations**:\n- ✅ Use the plugin in trusted environments (local networks, VPNs)\n- ⚠️ Avoid using on shared/untrusted systems until backend proxy is implemented (Story 4.4)\n- ✅ Regularly rotate Portainer credentials for enhanced security\n\n**Session Management**:\n- JWT tokens are stored as cookies with 8-hour expiration\n- Automatic token refresh occurs 5 minutes before expiry\n- Graceful degradation: If SSO fails, users can manually login to Portainer\n\n## Development\n\nSee [Developer.md](docs/developer.md) for details about how to efficiently change the code, run, and test it.\n\n### Building\n\nThese commands check out the source and build it into the directory:build/\n```\ngit clone https://github.com/Websoft9/plugin-portainer\ncd plugin-portainer\nnpm build\n```\nYou can also triggers action workflow for building\n\n### Release\n\n#### When\n\nTwo scenarios that trigger this plugin release:\n\n* Add new functions for this plugin\n* [Websoft9](https://github.com/Websoft9/websoft9) release\n\n#### How\n\nYou should following the standard [release process](https://github.com/Websoft9/websoft9/blob/main/docs/plugin-developer.md#release).   \n\nEvery release will creates the official release zipball and publishes as upstream release to GitHub\n\n## License\n\n**plugin-portainer** is maintained by [Websoft9](https://www.websoft9.com) and released under the GPL3 license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebsoft9%2Fplugin-portainer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebsoft9%2Fplugin-portainer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebsoft9%2Fplugin-portainer/lists"}