Co-Creation Stage


Please contact Vicomtech or Mikel Zorrilla for more information about this tool.


All code and documentation is licensed by the original authors and contributors under the LGPL-V3 license.


The Co-Creation Stage is a web-based tool that supports both live and on-demand media to enable art professionals and individuals from the TRACTION’s targeted communities to remotely collaborate and to produce engaging and immersive opera shows. The video below contains an introduction to the Co-Creation Stage:

User Documentation

Tutorial 1

This video presents instructions to create a template for a show managed by the Co-Creation Stage, specifying and configuring the needed locations, devices, users and contents for the show.

Tutorial 2

This video shows how to configure and connect all the devices and how to use the Co Creation Stage during a live show.



The deployment of the tool requires to have installed:

  • Nodejs v14.18.1
  • Npm
  • Docker-ce
  • Docker-compose
  • (Optional) AWS Account


The Co-Creation Stage is composed of many services that use the following ports:

  • 443 (reverse proxy)
  • 80
  • 8080 (motion)
  • 8082 (orkestra-server)
  • 3001 (encoding api)
  • 8089,8989 (janus, webrtc gateway)


  1. Clone the project repository:

    git clone
    cd CoCreationStage
  2. The application uses several services and servers. These servers run inside Docker containers. So first of all, we need to download the docker images from here.

    After downloading the files, move them to backend/images folder.

  3. Install the docker images downloaded through next script:

    cd backend

    (Optional) If you want to remove these images later, you can execute:

    cd backend
  4. Run the docker containers using the following commands:

    cd backend
    docker-compose up -d

    (Optional) In case it is necessary to stop the services, the commands are the following:

    cd backend
    docker-compose down
  5. (Optional) Encoding API. In case you want to use pre-recorded content, follow the steps specified here.

  6. Configure the host or IP where the application will be deployed (by default is localhost):

    • Configure the host variable at Orkestra-control config file.

    • Configure the host variable at OrkestraApp config file.

  7. Compile the application:

    npm run build
  8. Once it’s done, the application will be available at the following URL:

    https://YOURHOST/ (Where YOURHOST is the IP or domain specified in the step 6)

Encoding API

The code of the service needed to host all the pre-recorded content and the guidelines to deploy it can be found here. But in this case docker image is provided, so the only thing you need is follow the next steps:

  • This service uses a Elastic Transcoder pipeline from AWS to transcode the multimedia files to several formats and resolutions and a S3 Bucket to store these transcoded files. To configure these services, we need to configure the AWS Credentials in aws.json and .env following the next documentation: link.

  • The application uses specific user credentials to do the authentication in this service. That is why we need to create this user before running the application. To create it, we need to run the next command in the backend folder:

    cd backend
    docker compose exec encodingapi yarn register

    After running this command, it will ask about a username and password. The username must be test and the password 1234

  • The S3 Bucket in AWS must be public. Copy the S3 Bucket URL and add it to subdomains field in environment.ts, and environment.prd.ts files



We are aware that the deployment of the Co-Creation Stage with all its functionalities is not immediate. However, if you would like to carry out an experiment with the Co-Creation Stage in a real event, do not hesitate to contact Vicomtech at