Server Administrator Guide
Getting Started
WorkspacesIO is an OpenID Oauth2 application. It should support most OpenID auth providers.
- Auth0 (recommended)
- Google (tested)
You'll need to create an OAuth app if you intend to use more than the defalt root admin user.
MinIO Setup
A minio root account cannot be used to create a Storage because it cannot be used for STS assume role. Create a new user.
# Create alias
mc alias set mybackend http://localhost:9000 minio minio1234
# Create user
mc admin user add mybackend backend backend1234
# Give user access to all buckets
mc admin policy set mybackend readwrite user=backend
Server Config
Place an .env
file in docker/
with these variables.
ENV Name | Default | description |
---|---|---|
WIO_PUBLIC_NAME |
http://localhost:8100/ |
The public name of the workspaces server that clients can use |
WIO_DATABASE_URL |
postgresql:///wio |
postgres connection string |
WIO_SECRET |
fast |
hashing secret for sessions and other needs |
WIO_ES_NODES |
["http://localhost:9200"] |
JSON array of elasticsearch nodes |
WIO_OIDC_NAME |
auth0 |
OpenID Connect provider |
WIO_OIDC_CLIENT_ID |
none | OpenID Connect client id |
WIO_OIDC_CLIENT_SECRET |
none | OpenID Connect client secret |
WIO_OIDC_WELL_KNOWN |
none | OpenID Connect well known discovery endpoint |
WIO_OIDC_ALGOS |
["RS256"] |
JSON array of algos to use |
...plus any configuration that FastAPI takes by default.
Docker
cd docker/
docker-compose up -d
Initialize the stack by running through the commands in initialize.sh
.
Debugging
https://docs.python.org/3/using/cmdline.html#envvar-PYTHONPROFILEIMPORTTIME
PYTHONPROFILEIMPORTTIME=1 wio