Contributing
Learn how to contribute to the Portabase ecosystem.
We love contributions! Portabase is an open-source project, and we welcome help with the Dashboard, the Agent, and the CLI.
Whether you want to fix a bug, add a new feature, or improve the documentation, here is how you can get started with development for each component.
Dashboard Development
Contribute to the Next.js web interface. Learn how to run it locally and manage the database.
Agent Development
Improve the Python-based agent that handles backups and communication with the dashboard.
CLI Development
Help enhance the Go-based command-line tool that orchestrates the entire ecosystem.
General Workflow
- Fork the repository you want to contribute to.
- Clone your fork locally.
- Create a branch for your changes.
- Commit your work with clear and concise messages.
- Push to your fork and open a Pull Request.
Thank you for helping make Portabase better!
Useful Development Commands
To make managing the development environment easier, make commands are available to handle authentication provider data.
Seed authentication test data
This command loads test data for Keycloak and Pocket ID. It is an alias for make seed-keycloak and make seed-pocket.
make seed-authSeed Keycloak test data
Resets and loads test data for Keycloak from seeds/keycloak/*.json.
make seed-keycloakSeed Pocket ID test data
Resets and loads test data for Pocket ID from seeds/pocket-id/portabase.zip.
make seed-pocketExport Keycloak data
Exports Keycloak configuration and users to seeds/keycloak/.
make export-keycloakExport Pocket ID data
Exports Pocket ID data to seeds/pocket-id/portabase.zip.
make export-pocketGenerate Pocket ID access token
Generates a one-time access token for the Pocket ID administrator.
make pocket-tokenLast updated on