Violet is an open source lightweight media hosting solution. It can be deployed onto Amazon AWS in minutes.
Currently under development and is not considered stable.
AWS and Auth0 infrastructure is created by Terraform.
Terraform Cloud is used as the backend for this project.
The Terraform Cloud workspace execution mode must be
Local
.
- Run
terraform login
- Run
terraform init
You can now create infrastructure.
Currently the backend is deployed via Terraform and the frontend is deployed manually.
- Create a dedicated AWS account (recommended)
- Setup AWS billing alerts (recommended)
- Connect AWS account to an organisation for central management (optional)
- Create AWS IAM user for programmatic access (recommended)
- Attach the relavant AWS IAM policies or roles to the new user
- Populate
infra/terraform/terraform.auto.tfvars
with the AWS access key and secret key - Create an Auth0 account
- Create a dedicated Auth0 tenant (optional)
- Create an Auth0 'Machine to Machine' application for Terraform:
- API: Auth0 Management API
- Scopes: All (not ideal, could be locked down)
- Populate
infra/terraform/terraform.auto.tfvars
with thedomain
(Auth0 tenant),client_id
andclient_secret
- Create a CloudFront key pair, populate private key in terraform.tfvars.