GUI - Web Module¶
Commands¶
Start the web module:¶
golem gui
Specify the port¶
golem gui -p 8080
Specify the host¶
golem gui --host 127.0.0.1
Default is localhost. Running it in host=0.0.0.0 will make Golem accessible from outside the computer by using the public IP of the computer running Golem. Use this only if debug mode is turned off or if you trust the users of your network.
If public access to the web module is needed, consider using a production server.
Run in debug mode¶
golem gui -d
Users¶
User Permissions¶
There are five user permissions: superuser, admin, standard, read-only, reports-only. Permissions are defined for each project except superuser that is global. Permission access is documented in the table below.
Page | Permission | superuser | admin | standard | read-only | reports-only |
---|---|---|---|---|---|---|
Suite/Test/Page List | view | ✓ | ✓ | ✓ | ✓ | |
add | ✓ | ✓ | ✓ | |||
duplicate | ✓ | ✓ | ✓ | |||
rename | ✓ | ✓ | ✓ | |||
run | ✓ | ✓ | ✓ | |||
delete | ✓ | ✓ | ||||
Suite/Test/Page Builder | view | ✓ | ✓ | ✓ | ✓ | |
edit | ✓ | ✓ | ✓ | |||
run | ✓ | ✓ | ✓ | |||
Environments | view | ✓ | ✓ | ✓ | ✓ | |
edit | ✓ | ✓ | ||||
Project Settings | view | ✓ | ✓ | ✓ | ✓ | |
edit | ✓ | ✓ | ||||
Global Settings | view/edit | ✓ | ||||
User Management | view/edit | ✓ | ||||
Reports | view | ✓ | ✓ | ✓ | ✓ | ✓ |
delete | ✓ | ✓ |
Creating Users¶
Superusers can be created using the createsuperuser command. Non superusers have to be created from the User Management page.
Secret Key¶
For security purposes, each test directory is generated with a unique secret key stored in the .golem file.
Example .golem file:
[gui]
secret_key = <your_super_secret_key_string>
If the secret key is not provided, a default key will be used (not recommended).
Using a Production Server¶
The default server (Flask development server) is not suited for production.
The Golem GUI web application can be run with a production WSGI server just like any other Flask application.
As an example, these are the steps to use Waitress:
pip install waitress
waitress-serve --call "golem.gui:create_app"
There are a lot of different options. Here is a complete guide: https://flask.palletsprojects.com/en/2.0.x/deploying/