Object storage example - Potree

Introduction#


Walkthrough to create a static website using Arbutus cloud object storage.

This tutorial assumes you already have access to an Arbutus cloud project and you have installed

All the required software is available on Grex as modules.

Some useful links:

Deploy a Potree website#


  1. Load required modules
module load git nodejs openstack-client s3cmd
  1. Download the openrc file from Arbutus dashboard

  2. Create credential for the object storage

source def-training-cloud-openrc.sh
openstack ec2 credentials create
  1. Configure s3cmd (using object-arbutus.cloud.computecanada.ca as endpoints)
s3cmd -c $HOME/.s3cmd_ws_2026 --configure
  1. Download and compile Potree
git clone https://github.com/potree/potree.git
cd potree
npm install
  1. Create an index.html
vim index.html
<!DOCTYPE html>
<html>
<head><title>Potree Examples</title></head>
<body>
<ul>
<li><a href="examples/viewer.html">Basic viewer</a></li>
<li><a href="examples/lion.html">Lion</a></li>
</ul>
</body>
</html>
  1. Create BUCKET_NAME using Arbutus dashboard (enabling Public Access)

  2. Upload files to the bucket

for i in index.html build/ examples/ libs/ pointclouds/ ; do
  s3cmd -c ${HOME}/.s3cmd_ws_2026 --no-mime-magic -M sync ${i} s3://BUCKET_NAME/${i}
done
  1. Navigate to https://object-arbutus.cloud.computecanada.ca/BUCKET_NAME