Installation
Required Tools
- MongoCompass - NICE TO HAVE
While not required, this GUI tool can be useful for querying and managing MongoDB data visually.
https://www.mongodb.com/docs/compass/master/install/
General Installation Instructions
1. Install Docker
For Mac and Windows: Install Docker Desktop and launch it.
For Linux: Ensure the Docker service is running. Verify by using:
sudo services docker status
2. Verify Docker Compose
Make sure Docker Compose is installed. Run:
docker compose version
This should return a version string similar to:
Docker Compose version {Version}
3. Log in to Docker
Use the provided Docker access token to log in:
4. Create a new docker network
Create a dedicated network for Apliqo UX:
Check if the network was created successfully:
You should see a result like:
5. Download and Configure Apliqo UX
Download the Apliqo UX installation package
In the root directory of the package, create a
.env
file (near.env.example
.)Copy the content from
.env.example
into the newly created.env
fileFill in all REQUIRED Environment Variables (details below)
6. Set the APLIQO_SERVER Environment Variable
In docker-compose.yml, set
APLIQO_SERVER
environment variable forapliqo-spa
container.host.docker.internal
- is a reference to your localhost inside the docker network.By default
APLIQO_SERVER
value ishttp://host.docker.internal:${PORT_EXPOSE}
Change it only if apliqo-api is running on different machine.
7. Start the Apliqo UX Application
Run the following command to start the application:
8. Verify That All Containers Are Running
Check that all containers are running properly by listing them:
You should see containers for:
apliqo-spa
apliqo-api
apliqo-mongo
apliqo-redis
To inspect logs for a specific container, run:
9. Access Apliqo UX
Once the containers are running, navigate to the following URL in your browser:
http://your-ip-address
By default, the interface will be accessible from port 80.
Environment Variables
The example file contains all the required variables. Please do not remove them, only update if necessary.
Variable | Description | Default Value | Required | Notes |
---|---|---|---|---|
| A secret string for encrypting access tokens. Ensure it is unique and secure. | None | Yes | There is no default value, set the arbitrary string or generate some random string. |
| Password for default system user which could be used on first install. After the backend service first starts, you will be able to login into the app via: username: service-admin | None | Yes | Password for service user stores as a hashed string by bcryptjs. After user creation in Mongodb, you may remove this password from .env. |
| MongoDB server's domain name or IP address. |
| Yes | Inside the docker network, container names could be used as domain names to access the resource. If you are not using Docker for the MongoDB database, set the IP address or domain name as the value for this variable. |
| Username of a root user from which account would be created a connection to the MongoDB. | None | Yes |
|
| Password of a root user from which account would be created a connection to the MongoDB. | None | Yes | If you are using the default Apliqo UX setup. On first install |
| Description: MongoDB uses a connection variant.
|
| Yes | If you don't have your dedicated MongoDB server - use the default value.
|
| Hostname for the Redis database, used for caching and queues. |
| Yes | Inside the docker network, container names could be used as domain names to access the resource. If you are not using Docker for the Redis database, set an IP address or domain name as the value for this variable. |
| Port on the machine where docker is running to access the MongoDB. | None | No |
|
| Apliqo Content Store database name in MongoDB server. |
| No |
|
| MongoDB server's port. |
| No |
|
| Database inside MongoDB server which stores users and their permission in MongoDB. |
| No |
|
| Port on which the backend server runs inside the Docker container. |
| No |
|
| Port on which the backend server is accessible from machine IP. Docker bridges |
| No |
|
| Variable to control the SSL verification for all TM1 API requests. Available values: 0 or 1 |
| No |
|
| Variable which is used to create a redirect link for CAMPassport authentication. Please make sure that the link doesn’t have slash ('/') and the end | None | No |
|
Authentication
Apliqo supports flexible authentication configurations, allowing multiple options to work together. Below, we break down how to enable and configure various authentication methods step by step.
Refer to the Synchronization article for a detailed setup demonstration.
» Authentication Overview
Authentication Sources:
Apliqo authenticates users through designated TM1 instances. Authentication is successful if at least one configured TM1 instance validates the credentials.Multiple Authentication Instances:
You can configure multiple TM1 instances with different authentication methods. For example:A specific instance may handle authentication for Apliqo.
Other instances may function purely as data models.
Limitations:
If a report relies on a TM1 instance not set up as an authentication source, you won’t have an active session for that instance after logging in.
In such cases, the ‘Login to Instance’ dialog will appear, letting you log in manually. Both sessions will remain cached, even if you close the browser tab.
» Enabling CAMPassport Authentication
To set up CAMPassport Authentication, follow these steps:
Add an Instance with CAMPassport authentication enabled.
Turn on the Authentication Source switch for this instance.
Open the instance’s Edit Dialog.
Go to the CAMPassport tab on the right side.
Check the CAM Server Link:
By default, Apliqo retrieves this link from the
WWW-Authenticate
header. Adjust as necessary.
Configure the Environment:
Add
APLQIO_HOSTNAME
to the.env
file as specified in the Environment Variables guide.Apply the changes by running the following command:
Go to the Login Page and verify that the Login via SSO button appears.
» CAMNamespace
To set up CAMNamespace Authentication, follow these steps:
Add an Instance with CAMNamespace authentication enabled.
Turn on the Authentication Source switch for this instance.
Open the instance’s Edit Dialog.
Go to the CAMNamespace tab on the right side.
Add your supported namespaces to the Client CAMNamespaces field:
Use comma-separated values for multiple namespaces.
Go to the Login Page and verify that the namespace selection dropdown appears.
Combining CAMNamespace and Basic Authentication:
leave the Namespace Select Dropdown empty. Basic authentication will then be used by default.
Troubleshooting
» MacOS with M1 chip peculiarities
If you're using a Mac with the M1 chip, some additional steps are required to ensure compatibility:
Rosetta
1. Install Rosetta
2. Enable Rosetta for Terminal:
Go to Finder > Applications > Terminal
Right-click ‘Terminal’ and select Get Info
Check the box "Open using Rosetta."
Open Terminal and verify it’s running under Rosetta by typing:
It should return
i386
orx86_64
Docker
Ensure Docker Desktop is using
VirtioFS
as a Virtualization framework in general settings for improved I/O performance for operations on bind mounts.For containers that require the AMD architecture, add the following line to the container configuration: