Skip to main content

Installation

This section covers the basics of installing the platform on your own infrastructure.

Docker Standalone is the current available method of deploy StreamWise. This method consists in a Docker Compose project that contains all the essential containers, components and services to run the platform.

Prerequisites

Please refer to the Prerequisites section to ensure that your environment meets the necessary requirements before proceeding with the installation.

Environment Variables

StreamWise Video Platform is a twelve-factor app, therefore configuring StreamWise can be accomplished using environment variables.

You can find the environment variables in the .env file located in the root directory of the platform. StreamWise can be configured with the following variables:

VariableRequiredDefaultDescription
APP_KEYYesThe application key used for encryption.
ADMIN_AUTH_IDYesThe ID of the administration account.
ADMIN_AUTH_SECRETYesThe secret of the administration account.
USER_AUTH_IDYesThe ID of the user account.
USER_AUTH_SECRETYesThe secret of the user account.
APP_NAMEYesStreamWise VPaaSThe name of the application.
APP_LOCALEYespt_BRThe default locale of the application.
APP_TIMEZONEYesUTCThe default timezone of the application.
APP_URLYesThe URL of the application.
API_URLYesThe URL of the API.
API_PREFIXNo/The prefix of the API.
HASH_IDNotrueEnable hashed ids.
HASH_ID_KEYYesThe key used to hash ids.
HASH_ID_LENGTHNo8The length of the hashed ids.
GLOBAL_API_RATE_LIMIT_ENABLEDNotrueEnable the global API rate limit.
GLOBAL_API_RATE_LIMIT_ATTEMPTS_PER_MINNo60The number of attempts per minute for the global API rate limit.
GLOBAL_API_RATE_LIMIT_EXPIRES_IN_MINNo1The number of minutes before the global API rate limit expires.
PAGINATION_LIMIT_DEFAULTNo10The default pagination limit.
API_TOKEN_EXPIRESNo1440The number of minutes before the API token expires.
API_REFRESH_TOKEN_EXPIRESNo10800The number of minutes before the API refresh token expires.
DB_HOSTYesThe host of the database.
DB_PORTNo5432The port of the database.
DB_DATABASEYesThe name of the database.
DB_USERNAMEYesThe username of the database.
DB_PASSWORDYesThe password of the database.
DB_SCHEMANopublicThe schema of the database.
REDIS_HOSTYesThe host of the Redis server.
REDIS_PORTNo6379The port of the Redis server.
REDIS_PASSWORDNoThe password of the Redis server.
REDIS_USERNAMENodefaultThe username of the Redis server.
MAIL_MAILERYessmtpThe mailer used to send emails.
MAIL_HOSTYesThe host of the mail server.
MAIL_PORTYes587The port of the mail server.
MAIL_USERNAMEYesThe username of the mail server.
MAIL_PASSWORDYesThe password of the mail server.
MAIL_ENCRYPTIONYestlsThe encryption used to send emails.
MAIL_FROM_ADDRESSYesThe email address used to send emails.
MAIL_FROM_NAMEYesThe name used to send emails.
AWS_ACCESS_KEY_IDNoThe access key ID of the S3 account.
AWS_SECRET_ACCESS_KEYNoThe secret access key of the S3 account.
AWS_DEFAULT_REGIONNoThe default region of the S3 account.
AWS_BUCKETNoThe bucket of the S3 account.
AWS_URLNoThe URL of the S3 account.
AWS_ENDPOINTNoThe endpoint of the S3 account.
AWS_USE_PATH_STYLE_ENDPOINTNofalseUse path style endpoint.
SENTRY_LARAVEL_DSNNoThe DSN of the Sentry account.
SENTRY_TRACES_SAMPLE_RATENo0.1The sample rate of the Sentry traces.
SENTRY_PROFILES_SAMPLE_RATENo0.1The sample rate of the Sentry profiles.

Application

APP_NAME

The APP_NAME variable is used to set the name of the application. This value is used in the application's user interface.

APP_LOCALE

The APP_LOCALE variable is used to set the default locale of the application. This value is used to set the default language of the application.

APP_TIMEZONE

The APP_TIMEZONE variable is used to set the default timezone of the application. This value is used to set the default timezone of the application interface.

APP_URL

The APP_URL variable is used to set the URL of the application interface. This is the main address used on web interfaces.

API_URL

The API_URL variable is used to set the URL of the API. This is the main address used on API interfaces.

API_PREFIX

The API_PREFIX variable is used to set the prefix of the API.

info

When APP_URL has the same value as API_URL, the API_PREFIX needs to have a value different from / (e.g. /api).

Keys & Authentication

APP_KEY

The APP_KEY variable is used to set the internal application key used for encryption. We recommend a random 64-byte secret.

HASH_ID

The HASH_ID variable is used to enable hashed ids. Must be always set to true.

HASH_ID_KEY

The HASH_ID_KEY variable is used to set a internal secret key used to hash ids. We recommend a random 64-byte secret. We recommend a random 16-byte secret.

HASH_ID_LENGTH

The HASH_ID_LENGTH variable is used to set the length of the hashed ids. We recommend a minimum length of 8 characters.

ADMIN_AUTH_ID

The ADMIN_AUTH_ID variable is used to set the admin client_id for the administrators proxy login flow.

ADMIN_AUTH_SECRET

The ADMIN_AUTH_SECRET variable is used to set the admin client_secret for the administrators proxy login flow.

Security & Limits

Database

Cache

Mail

Filesystem

AWS S3