You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This guide supports both AWS EC2 and Azure VM with Terraform.
Notes
Ensure that meeting room names and user display names are unique.
Prepare Repository
# Local and VM# Clone repository
git clone git@github.com:Arata1202/WorkAdventure.git
cd WorkAdventure
# Install dependencies
make wa-init
Create Resources with Terraform
# Local# Move to repositorycd WorkAdventure
cd terraform/aws # or terraform/azure# Prepare and edit variables file
cp variables.tf.example variables.tf
vi variables.tf
# Create resources
terraform init
terraform plan
terraform apply
Connect AWS EC2 with SSM
Default for AWS is SSM.
Default for Azure is SSH (Azure Bastion can be costly).
# Local# Move to repositorycd WorkAdventure
# Prepare and edit .envrc file
cp .envrc.example .envrc
vi .envrc
# Allow direnv to load variables
direnv allow .# Connect to AWS EC2 via SSM
make ssm
# Switch to ubuntu user
sudo -iu ubuntu
# RequiredexportEC2_INSTANCE_ID=<EC2_INSTANCE_ID>
Configure SSH Access
Default for AWS is SSM.
Default for Azure is SSH (Azure Bastion can be costly).
# Local# Move to repositorycd WorkAdventure
# Prepare and edit .envrc file
cp .envrc.example .envrc
vi .envrc
# Allow direnv to load variables
direnv allow .# Connect to VM via SSH
make ssh P=aws # or P=azure# Sync Repository to VM
make rsync P=aws # or P=azure
# Local# Move to repositorycd WorkAdventure/maps
# Prepare .env file
cp .env.example .env
# Preview the map locally
make wa-dev
# Edit the map file (office.tmj) using Tiled# Upload the map
make wa-upload
Please enter your Map storage URL: https://<YOUR_FQDN>/map-storage/
Please enter your API Key: <MAP_STORAGE_AUTHENTICATION_TOKEN>
Upload directory: maps
# VM# Move to repositorycd WorkAdventure
# Edit .env file
make decrypt
vi .env
make encrypt
# Restart server
make up-f
# VM# Move to repositorycd WorkAdventure
# Generate random strings for .env values
openssl rand -hex 32
# Edit .env file
make decrypt
vi .env
make encrypt
# Restart server
make up-f
Add an A record in your DNS provider to point your domain to the VM public IP
Record Name
Type
Value
TTL
livekit.<YOUR_FQDN>
A
<VM_PUBLIC_IPV4_ADDRESS>
300
Set Up Coturn
# VM# Move to repositorycd WorkAdventure
# Generate random strings for .env values
openssl rand -hex 32
# Edit .env file
make decrypt
vi .env
make encrypt
# Restart server
make up-f
Add an A record in your DNS provider to point your domain to the VM public IP
Record Name
Type
Value
TTL
matrix.<YOUR_FQDN>
A
<VM_PUBLIC_IPV4_ADDRESS>
300
Log in to Matrix using Element
Access Element Web: https://element.io
Click Sign in -> Open Element web
Click Sign in
Enter your Matrix homeserver URL: https://matrix.<YOUR_FQDN>
Click Continue
Enter your Matrix credentials:
Username: admin
Password: <MATRIX_ADMIN_PASSWORD>
Click Sign in
After successful authentication, you will be redirected back to Element and logged in
Set up Egress with MinIO
# VM# Move to repositorycd WorkAdventure
# Generate random strings for .env values
openssl rand -hex 32
# Edit .env file
make decrypt
vi .env
make encrypt
# Restart server
make up-f