https://github.com/websoft9/plugin-portainer
Websoft9 plugin which for connect Portainer
https://github.com/websoft9/plugin-portainer
Last synced: 20 days ago
JSON representation
Websoft9 plugin which for connect Portainer
- Host: GitHub
- URL: https://github.com/websoft9/plugin-portainer
- Owner: Websoft9
- License: other
- Created: 2023-06-26T03:05:56.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-09-03T03:38:04.000Z (10 months ago)
- Last Synced: 2025-12-24T10:16:22.682Z (6 months ago)
- Language: JavaScript
- Homepage:
- Size: 49.1 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
[](http://www.gnu.org/licenses/gpl-3.0)
[](https://github.com/websoft9/plugin-portainer)
[](https://github.com/websoft9/plugin-portainer)
[](https://github.com/websoft9/plugin-portainer)
# Websoft9 Plugin - `portainer`
This plugin is the entrance to portainer service, it is used to manage installed applications and docker containers.

## Installation and update
Your server must be have [Websoft9](https://github.com/Websoft9) installed.
```
wget https://websoft9.github.io/websoft9/scripts/update_zip.sh && bash ./update_zip.sh --channel release --package_name "portainer-latest.zip" --sync_to "/usr/share/cockpit/portainer"
```
## Security Considerations
**Current Limitation**: Portainer credentials are retrieved client-side and briefly visible in browser DevTools during authentication. This is mitigated by:
- **Cockpit authentication required**: Users must authenticate with Cockpit before accessing the plugin
- **Local network usage**: Plugin is typically used in local/trusted networks, not exposed to public internet
- **Planned improvement**: Story 4.4 will implement backend proxy to keep credentials server-side only
**Recommendations**:
- ✅ Use the plugin in trusted environments (local networks, VPNs)
- ⚠️ Avoid using on shared/untrusted systems until backend proxy is implemented (Story 4.4)
- ✅ Regularly rotate Portainer credentials for enhanced security
**Session Management**:
- JWT tokens are stored as cookies with 8-hour expiration
- Automatic token refresh occurs 5 minutes before expiry
- Graceful degradation: If SSO fails, users can manually login to Portainer
## Development
See [Developer.md](docs/developer.md) for details about how to efficiently change the code, run, and test it.
### Building
These commands check out the source and build it into the directory:build/
```
git clone https://github.com/Websoft9/plugin-portainer
cd plugin-portainer
npm build
```
You can also triggers action workflow for building
### Release
#### When
Two scenarios that trigger this plugin release:
* Add new functions for this plugin
* [Websoft9](https://github.com/Websoft9/websoft9) release
#### How
You should following the standard [release process](https://github.com/Websoft9/websoft9/blob/main/docs/plugin-developer.md#release).
Every release will creates the official release zipball and publishes as upstream release to GitHub
## License
**plugin-portainer** is maintained by [Websoft9](https://www.websoft9.com) and released under the GPL3 license.