-
Notifications
You must be signed in to change notification settings - Fork 34
Upgrading to Materia v10.3.0
Materia is open sourced under the AGPL v3.0 license, and use of Materia does not entitle you to support associated with the installation, upgrading, or use of our software.
Our documentation (including this document) assumes you are operating Materia in a docker environment and making use of best practices associated with Materia in production. We are not liable for data loss associated with this upgrade process.
Most notably, v10.3.0
reconfigures docker compose files and .env
variable locations. If you are coming from an earlier version of Materia v10.x
, it should be sufficient to run the docker/run_first_for_dev.sh
script.
We highly recommend starting your development environment from scratch by first stopping and removing all containers associated with Materia in dev (app
, webserver
, fakes3
, mysql
, and memcached
.)
Refer to guidance for updating Materia in production in the docker README. Note that while we made significant modifications to first-time setup, no existing environment variable configuration values were modified.
Important
10.3.0 includes two database migrations. If using an existing database, you must perform a DB migration or your Materia instance will be > rendered inoperable.
Additionally, we modified references to ReactDOM
's render
method to comply with React 18 requirements. End users may note pages do not load if they continue to use browser cached versions from prior to 10.3. We updated the production NGINX configuration with new expiration values for cache headers, but you may need to add more aggressive cache headers in the short term.
We added numerous optional environment variable configurations associated with S3 asset storage and AI generation:
Asset Storage with S3
The following additions are available when ASSET_STORAGE_DRIVER=s3
is set:
# ASSET_STORAGE_S3_CREDENTIAL_PROVIDER= # must be 'env' or 'imds'.
# ASSET_STORAGE_S3_BUCKET=<MUST_SET> # refers to the S3 bucket name on AWS.
# ASSET_STORAGE_S3_ENDPOINT= # not required for S3 on AWS, but used for fakes3.
# ASSET_STORAGE_S3_KEY=<MUST_SET> # must be set if credential provider is 'env'. Recommend using imds if possible.
# ASSET_STORAGE_S3_SECRET=<MUST_SET> # must be set if credential provider is 'env'. Recommend using imds if possible.
# ASSET_STORAGE_S3_REGION= # optional.
# ASSET_STORAGE_S3_BASEPATH= # optional.
# AWS_SESSION_TOKEN=<MUST_SET> # STS token for S3. Not required if using imds.
Question Generation
#GENERATION_ENABLED=true # Master flag, other values are only required if this is true.
#GENERATION_ALLOW_IMAGES=false # While image generation is possible, it is not recommended. It is VERY expensive.
#GENERATION_API_PROVIDER=<MUST_SET> # Must be 'openai' or 'azure_openai'.
#GENERATION_API_KEY=<MUST_SET> # Required.
#GENERATION_API_ENDPOINT= # Required for azure openai.Ex: my-azure-portal.openai.azure.com/openai/deployments/gpt-4o-mini
#GENERATION_API_VERSION= # Required for azure openai. Ex: 2023-03-15-preview
#GENERATION_API_MODEL= # required for openai.
#GENERATION_LOG_STATS=true # optional. stats are logged to debug threshold.