Skip to main content
This guide supports technical teams planning an institutional VisuoLab installation, based on its technical summary.
The summary provides a high-level overview. Validate sizing and configuration for each institution. It does not supply executable installation commands or dependency versions.

Architecture and services

Services run in dedicated Docker containers coordinated with Docker Compose. Deploy on institutional infrastructure or cloud infrastructure according to local policies.

Initial infrastructure profile

This single-VM profile is intended as a starting point for testing, pilots and low to moderate usage. It does not guarantee a specific number of users or video sessions. Estimate concurrent use, video upload frequency and size, processing demand, videoconferencing, retention, archive growth and backups. Larger deployments may separate services or use external/object storage; confirm support in the deployed version.

Prepare deployment

Step 0 — Contact Levante Lab

Contact the Levante Lab technical team at contato@levantelab.com.br. Introduce the institution and its local technical contact to begin deployment coordination.
1

Connect Levante Lab with the local team

Introduce both technical teams and define communication channels. Together, identify the platform administrator and support contacts, and assign responsibility for hosting, domains, certificates, database, media, backups and updates.
2

Confirm the release and deployment files

Obtain the repository, approved release, Docker/Compose files and release-specific instructions. Confirm required PHP, Node.js, database and other dependency versions.
3

Prepare server and storage

Provision the agreed resources and persistent volumes. Database records and uploaded files must survive container recreation. Plan storage expansion.
4

Prepare domain and network

Set the institutional address, reverse proxy where applicable and HTTPS. Check Etherpad and Jitsi Meet connectivity requirements.
5

Configure and start services

Follow the release’s documented procedures. Configure credentials and environment settings, database, frontend, queues, media processing and integrations.
6

Configure institutional access

Prepare administrator access, permissions, enabled languages and user support arrangements.
7

Validate before opening access

Complete the checks below and record the release, configuration and responsible teams.
The technical summary does not provide Compose service names, environment variables, migration, build, startup or update commands. Obtain and verify these in the repository for the installed release.

Network and external access

The summary describes HTTPS on port 443 and internal communication through a Docker network. Verify domain routing, certificates and renewal, NGINX or proxy configuration, container connectivity and isolation, Etherpad integration and Jitsi Meet deployment requirements. Port 443 is the web-access reference, not a complete firewall or videoconferencing port list.

Video storage and processing

Uploaded media and processing outputs can significantly increase disk use. Monitor free space and volume growth, define alerts, plan expansion, and track job failures. Backups must include the database and files required for recovery. Validate Redis/Horizon asynchronous processing and FFmpeg with a test video upload.

Security and continuity

Confirm how each control described in the summary is implemented: These controls are not automatically active simply because the application is installed.

Backups

The summary describes encrypted backups in separate data centers. Agree on frequency, retention, ownership and restoration procedures. Perform a restoration test covering both database and media files.

Data and retention

Account data, videos, audio, annotations, comments, collaborative content, IP addresses, browser information and usage records may be processed. Confirm applicable periods and implementation mechanisms locally. The summary does not demonstrate automatic deletion or anonymization. Define institutional agreements, responsibilities and applicable data-protection requirements.

Configure languages

Language configuration spans the administration panel and frontend. Changing the default also requires technical database intervention.
1

Prepare translations

Create a JSON file in lang, such as en.json, pt.json or de.json, with the interface translation keys and values.
2

Register the frontend locale

In nuxt.config.js, add code, name and file reference to the i18n locales array.
3

Register in administration

With master permissions, use Platform → Platform Form → Languages. The summary states that adding a language here does not require direct database insertion.
4

Set the default if required

After translations and frontend configuration are ready, a developer sets is_default to true on the chosen language record. Verify default-language consistency.
5

Validate and publish

Check menus, messages, notifications and multilingual forms. Follow the repository’s frontend build and publication procedure.
Labels, navigation, notifications and system feedback are translated. Compatible multilingual forms provide fields for the new language. Videos, annotations and other records are not automatically translated.
The default-language field specified for VisuoLab is is_default. Confirm the table name and change procedure in the installed release’s repository.

Validation checklist

  • Open the institutional domain over HTTPS.
  • Test login and permissions for expected roles.
  • View and publish a test resource.
  • Upload, process and play a test video.
  • Check jobs and asynchronous workers.
  • Test Spaces and activities.
  • Test enabled Etherpad and Jitsi Meet integrations.
  • Check languages and the default locale.
  • Verify persistence and disk capacity.
  • Validate backup and restoration.
  • Record release, responsibilities and maintenance procedures.

Requirements for executable instructions

To add reproducible commands, obtain the Compose files, dependency versions, environment configuration template, database procedures, frontend build, workers, scheduled tasks, integrations and release update procedure.