Administration¶
This section will guide administrators in the behind-the-scenes configuration.
Recover User Accounts¶
If you are unable to change a user password via the UI, you can set a new one in the directly in the database.
- Generate a hashed password using the
hash_password.py
script. - Update the database field in
user.password_hash
to the password hash
Example SQL:
UPDATE user SET password_hash = 'THE-PASSWORD-HASH' WHERE username = 'THE-USERNAME';
Plugins¶
Web Portal works by implementing a plugin system allowing for different widgets to be installed.
Plugins are stored in a plugins folder, this plugin system allows you to easily install a new plugin (or remove) without requiring Web Portal to be re-installed.
Add¶
To install a plugin into this folder follow these steps:
- Ensure Web Portal is shutdown
- Ensure plugin loader is enabled (set by the environment variable)
- Ensure "plugins" directory has a empty file called
__init__.py
in it. - Copy/Move plugin package into folder
- Startup Web Portal
- Plugin should now be registered
Remove¶
To remove follow these steps:
- Follow any steps given by the plugins guide
- Ensure Web Portal is shutdown
- Move/Delete the specific plugin package from the "plugins" directory
- Startup Web Portal
- Go to
"Plugin Settings" > "Missing Plugins"
(as admin) to remove plugin data
Where Is The Plugins Directory?¶
Assuming you are running the official Docker image; Web Portal is structured as shown below:
data/
...
app/
web_portal/
...
plugins/
core
core_extras
another_plugin
...
To add plugins you can mount a volume as shown below using Docker Compose:
# filepath: docker-compose.yml
volumes:
- ./data:/app/data
- ./plugins:/app/plugins
IMPORTANT: When you mount the plugins folder as a docker volume it will disable the built-in plugins provided by the image.