Skip to content

Install DTaaS on Localhost (GUI)

This guide runs DTaaS on localhost through a graphical user interface (GUI). It suits a single user who wants to run DTaaS on their own computer.

Two installation scenarios are available:

Scenario Auth Provider External Account Required
DTaaS Localhost GitLab OAuth Yes (gitlab.com)
Workspace Localhost Dex (local) No

Requirements

Download Packages

Download the package for your scenario:

  1. dtaas-localhost-xx.zip for the DTaaS localhost installation, or
  2. workspace-dex-localhost-xx.zip for the Workspace localhost installation

Tip

The guide uses Linux-style paths such as /Users/username/DTaaS. On Windows use an equivalent path, for example C:\DTaaS.

Start Portainer

Portainer Community Edition provides a graphical interface for managing Docker containers at https://localhost:9443.

Follow the official Portainer CE documentation or run these commands:

1
2
3
4
docker volume create portainer_data
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v portainer_data:/data portainer/portainer-ce:2.21.4

Open https://localhost:9443 and complete the Initial Setup to create an administrator account.

Portainer Admin Dashboard

Tip

To restart Portainer later, run docker start portainer.

1. DTaaS Localhost

Unzip the dtaas-localhost-xx.zip package, which contains the installation files. This scenario uses GitLab OAuth for authentication and needs a GitLab account on https://gitlab.com.

DTaaS Localhost

1.1 Configuration

1.2 Create Configuration Files

Copy the example files:

cp config/.env.example config/.env
cp config/client.js.example config/client.js

1.3 Environment Variables

Edit config/.env:

Variable Example Description
DEFAULT_USER user1 Workspace path prefix and folder name
COMPOSE_PROJECT_NAME dtaas Docker Compose project name

1.4 Client Configuration

This step is optional. If the localhost installation needs its own OAuth 2.0 application, follow these steps to create one. Then edit config/client.js and set the OAuth application credentials from the GitLab account:

Variable Example Description
REACT_APP_CLIENT_ID (OAuth app id) GitLab OAuth application ID
REACT_APP_AUTH_AUTHORITY https://gitlab.com/ OAuth authority URL

1.5 Create User Workspace

Create a workspace directory for the user set in DEFAULT_USER:

cp -R files/template files/<DEFAULT_USER>
sudo chown -R 1000:100 files/*

The logger microservice writes its events to logs/logger. Create the directory and give it to uid 1000, the user that runs the logger:

mkdir -p logs/logger
sudo chown -R 1000:1000 logs/logger

1.6 Create the Portainer Stack

Portainer Stacks

  1. Navigate to Stacks and click Add Stack.
  2. Name the stack, for example dtaas-localhost.
  3. Select the Upload build method.
  4. Upload the compose file (docker-compose.yml).
  5. Load the environment file (config/.env).

Tip

If the .env file is not visible, select All Files in the file explorer dialog.

Click Deploy the stack. Portainer creates a stack with this name, which looks like this:

Portainer DTaaS Stack

1.7 Use

Open http://localhost in a web browser and sign in with the configured GitLab credentials.

1.8 Limitations

This scenario does not include the library microservice or backend forward-auth.

2. Workspace Localhost

Unzip the workspace-dex-localhost-xx.zip package, which contains the installation files.

This scenario uses Dex as a local identity provider. It needs no external account and comes with default credentials.

Workspace Localhost

2.1 Configuration

Copy the example files:

cp config/.env.example config/.env
cp config/dex-config.yaml.example config/dex-config.yaml

2.2 Environment Variables

Edit config/.env:

Variable Example Description
COMPOSE_PROJECT_NAME dtaas Docker Compose project name
DEFAULT_USER user Default user login profile for Dex

Tip

The local login users are defined in config/dex-config.yaml.

2.3 Create the Portainer Stack

  1. Navigate to Stacks and click Add Stack.
  2. Name the stack, for example workspace-localhost.
  3. Select the Upload build method.
  4. Upload the compose file (docker-compose.yml).
  5. Load the environment file (config/.env).

Click Deploy the stack.

2.4 Use

Open http://localhost in a web browser. Sign in with the default Dex credentials:

  • Email: user@intocps.org
  • Password: user

2.5 Limitations

References

Image sources: Traefik logo, reactjs, gitlab