Skip to main content

Installation Guide

Requirements

To run TRASAGATE with a bare minimum setup, you will need:

  1. Database (PostgreSQL)
  2. Redis
  3. Guacamole Guacd server (required only if you need to protect Remote Desktop Access)
  4. TRASAGATE server itself

Minimum Server Requirements

  • 1 core CPU
  • 1 GB RAM
  • 20 GB storage
info

Planning for extra storage space is crucial, as session recordings of remote access can quickly consume available space. This depends on the frequency of access and policies that enable session recording.

Installation on Ubuntu/Linux

  1. Download the TRASAGATE binary:

    wget https://storage.googleapis.com/trasa-public-download-assets/release/v1.1.2/trasa.tar.gz
  2. Extract and place static files into respective directories:

    mkdir -p /var/trasa/dashboard
    mkdir -p /etc/trasa/static

    tar -xzf trasa.tar.gz
    mv trasa/dashboard /var/trasa/
    mv trasa/GeoLite2-City.mmdb /etc/trasa/static/
  3. Run PostgreSQL or CockroachDB on port 5432:

    sudo docker run -d -p 5432:5432 --name db \
    -e POSTGRES_PASSWORD=trasauser \
    -e POSTGRES_USER=trasauser \
    -e POSTGRES_DB=trasadb postgres:13.0
  4. Run Redis on port 6379:

    sudo docker run -d -p 6379:6379 --name redis redis:6.0.8
  5. (Optional) Run Guacd for RDP protection:

    sudo docker run -d --rm --name guacd \
    -p 127.0.0.1:4822:4822 \
    -v /tmp/trasa/accessproxy/guac:/tmp/trasa/accessproxy/guac \
    --user root seknox/guacd:v0.0.1
  6. Run the TRASAGATE server binary:

    sudo ./trasa/trasa-server

    Add the -f argument while running the TRASAGATE server to enable logging to /var/log/trasa.log.

  7. Stop the TRASAGATE server with Ctrl + C, then edit the configuration:

    • Edit /etc/trasa/config/config.toml.
    • Change trasa.listenAddr to the domain/IP of the server.
    • If trasa.listenAddr is not a public domain, turn off autocert in the config by setting trasa.autoCert=false.
  8. Start the TRASAGATE server again.

Installation with Docker

  1. Run PostgreSQL or CockroachDB on port 5432:

    sudo docker run -d -p 5432:5432 --name db \
    -e POSTGRES_PASSWORD=trasauser \
    -e POSTGRES_USER=trasauser \
    -e POSTGRES_DB=trasadb postgres:13.0
  2. Run Redis on port 6379:

    sudo docker run -d -p 6379:6379 --name redis redis:6.0.8
  3. (Optional) Run Guacd for RDP protection:

    sudo docker run -d --rm --name guacd \
    -p 127.0.0.1:4822:4822 \
    -v /tmp/trasa/accessproxy/guac:/tmp/trasa/accessproxy/guac \
    --user root seknox/guacd:v0.0.1
  4. Run the TRASAGATE server:

    tip

    Replace app.trasa in TRASA.LISTENADDR with the hostname/IP you want the TRASA server to listen on. If TRASA.LISTENADDR is not a public domain, turn off autocert by passing -e TRASA.AUTOCERT="false".

    sudo docker run -d --link db:db \
    --link guacd:guacd \
    --link redis:redis \
    -p 443:443 \
    -p 80:80 \
    -p 8022:8022 \
    -e TRASA.LISTENADDR=app.trasa \
    -v /tmp/trasa/accessproxy/guac:/tmp/trasa/accessproxy/guac \
    seknox/trasa:v1.1.2

Installation on Kubernetes

Coming soon...

info

Go through the config reference to run TRASAGATE in an environment according to your needs.