The Pangolin container includes a CLI tool called pangctl that provides commands to help you manage your Pangolin instance.
Accessing the CLI
Run the following command on the host where the Pangolin container is running:
docker exec -it pangolin pangctl <command>
Available Commands
To see all available commands:
docker exec -it pangolin pangctl --help
Set Admin Credentials
Set or reset admin credentials for your Pangolin instance:
docker exec -it pangolin pangctl set-admin-credentials --email "[email protected]" --password "Password123!"
Use a strong password and keep your admin credentials secure.
Clear Exit Nodes
Clear all exit nodes from the database:
docker exec -it pangolin pangctl clear-exit-nodes
This command permanently deletes all exit nodes from the database. This action cannot be undone.
Reset User Security Keys
Reset a user’s security keys (passkeys) by deleting all their webauthn credentials:
docker exec -it pangolin pangctl reset-user-security-keys --email "[email protected]"
This command permanently deletes all security keys for the specified user. The user will need to re-register their security keys to use passkey authentication again.
Rotate Server Secret
Rotate the server secret by decrypting all encrypted values with the old secret and re-encrypting with a new secret. This command updates OIDC IdP configurations and license keys in the database, as well as the config file.
docker exec -it pangolin pangctl rotate-server-secret --old-secret "current-secret" --new-secret "new-secret"
Options
--old-secret (required): The current server secret (for verification)
--new-secret (required): The new server secret to use (must be at least 8 characters long)
--force (optional): Force rotation even if the old secret doesn’t match the config file. Use this if you know the old secret is correct but the config file is out of sync.
This command performs a critical operation that affects all encrypted data in your database. Ensure you have a backup before running this command.Important considerations:
- The new secret must be at least 8 characters long
- The new secret must be different from the old secret
- The command verifies the old secret matches the config file (unless
--force is used)
- After rotation, you must restart the server for the new secret to take effect
- Using
--force with an incorrect old secret will cause the rotation to fail or corrupt encrypted data
Clear License Keys
Clear all license keys from the database:
docker exec -it pangolin pangctl clear-license-keys
This command permanently deletes all license keys from the database. This action cannot be undone.
Delete Client
Delete a client and all associated data (OLMs, current fingerprint, userClients, approvals). Snapshots are preserved.
docker exec -it pangolin pangctl delete-client --orgId "org-123" --niceId "client-identifier"
Options
--orgId (required): The organization ID
--niceId (required): The client niceId (identifier)
This command permanently deletes the client and its associated data:
- All OLMs (One-time Login Mechanisms) associated with the client
- Current fingerprint entries
- Approval records
- UserClient associations
Note: Snapshots are preserved and will not be deleted.This action cannot be undone. Ensure you have backups if needed.