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
- Docker Desktop or Docker Engine with the Compose plugin
- Portainer Community Edition (setup below)
Download Packages
Download the package for your scenario:
- dtaas-localhost-xx.zip for the DTaaS localhost installation, or
- 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:
Open https://localhost:9443 and complete the
Initial Setup
to create an administrator account.

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.

1.1 Configuration
1.2 Create Configuration Files
Copy the example files:
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:
The logger microservice writes its events to logs/logger. Create the
directory and give it to uid 1000, the user that runs the logger:
1.6 Create the Portainer Stack

- Navigate to Stacks and click Add Stack.
- Name the stack, for example
dtaas-localhost. - Select the Upload build method.
- Upload the compose file (
docker-compose.yml). - 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:

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.

2.1 Configuration
Copy the example files:
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
- Navigate to Stacks and click Add Stack.
- Name the stack, for example
workspace-localhost. - Select the Upload build method.
- Upload the compose file (
docker-compose.yml). - 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
- This scenario does not include the library microservice.
- DevOps features are not available.
- See the custom user instructions to change the default credentials.
References
Image sources: Traefik logo, reactjs, gitlab