Setting up the Fabricate components
Last updated
Last updated
The Fabricate Docker image is available on .
To pull the image, log in using the credentials that Tonic.ai provided:
Next, run the following command:
To run Fabricate, you need to generate a secret key base. To do this, run the following command:
To run Fabricate, you need to create an fabricate.env file that contains the following settings.
For the application database settings, go to Setting up the Fabricate components.
For the Redis settings, go to Redis.
For the email settings, go to Email service.
For the cloud storage settings, go to Cloud storage.
For the sign-in options, go to Sign-in options.
For the LLM provider settings, go to LLM provider.
For the application database, Fabricate requires PostgreSQL 15 or later.
We recommend that you host the PostgreSQL database on a managed service such as Amazon RDS or Google Cloud SQL.
When Fabricate starts, it automatically creates the database tables.
After you create your database, in fabricate.env, set the following environment variables:
Fabricate uses Redis for background jobs and caching.
We require Redis 7 or later.
For Redis, we recommend that you use a managed service such as Amazon ElastiCache.
In fabricate.env, set the following environment variable:
Fabricates stores uploaded and generated data in cloud storage. You can use either Amazon S3 (or compatible), Azure Blob Storage, or Google Cloud Storage.
To indicate which cloud storage platform to use, in fabricate.env, set the following environment variable:
To use Amazon S3 to store generated data, in fabricate.env, set FABRICATE_BLOCK_STORAGE_SERVICE="amazon"
.
You then set up the S3 bucket:
Create an S3 bucket in the AWS Region closest to where Fabricate will run.
We recommend that you set the bucket name to fabricate
.
To enable Fabricate to upload files to this S3 bucket, either:
In fabricate.env, configure the environment variables FABRICATE_AWS_ACCESS_KEY_ID
and FABRICATE_AWS_SECRET_ACCESS_KEY
.
In fabricate.env, set the following environment variables:
To use Azure Blob Storage to store generated data, in fabricate.env, set FABRICATE_BLOCK_STORAGE_SERVICE="azure"
.
To configure the storage location and credentials, set the following environment variables:
To use Google Cloud Storage to store generated data, in fabricate.env, set FABRICATE_BLOCK_STORAGE_SERVICE="google".
To configure the storage location and credentials, set the following environment variables:
You can configure Fabricate to enable users to sign in using Google, GitHub, and Azure. You can enable multiple options. On the login page, Fabricate displays an icon for each enabled option.
To allow your users to sign in through GitHub, uncomment and configure the following environment variables:
To allow your users to sign in through Google, uncomment and configure the following environment variables:
To allow your users to sign in through Azure, uncomment and configure the following environment variables:
Fabricate sends email messages when users are invited to an account or need to reset their password.
To use Amazon Simple Email Service (Amazon SES) to send email messages:
Under Identity Management > Domains, add the domain where Fabricate will be hosted.
You later set this as the value of the environment variable FABRICATE_DOMAIN
.
Under Identity Management > Emails, add a no-reply@(your domain)
email address.
Under Email Sending > SMTP Settings, create your SMTP credentials. You use these to configure the following environment variables:
To support the many Fabricate features that rely on AI, you need a connection to an LLM provider.
You can either use OpenAI or Azure OpenAI.
To indicate which LLM provider to use, in fabricate.env, set the following environment variable:
To use Azure OpenAI as your LLM provider, in fabricate.env, set FABRICATE_LLM_PROVIDER="azure"
.
Configure the following environment variables:
To use OpenAI as your LLM provider, in fabricate.env, set FABRICATE_LLM_PROVIDER="openai"
.
Configure the following environment variable:
Even if you run a single Fabricate application instance, to provide TLS, you might want to put a load balancer in front of Fabricate.
If you use AWS, you can create an Application Load Balancer with a TLS certificate in front of your Fabricate instance.
You can either:
Use a free SSL/TLS certificate from AWS Certificate Manager
Bring your own certificate
If you use a different cloud provider, use their equivalent of an Application Load Balancer.
Assign an IAM role to the EC2 instances on which Fabricate runs. The role must be able to write to the S3 bucket. For information on how to do this, go to .