Appearance
Quickstart
ArdenSuite consists of two components: Server and Frontend. The server can run independently of the frontend. This is a short guide on how to get a basic server and frontend installation running.
Set up docker
The server is distributed via docker image and Medexter's private repository medexter.azurecr.io.
Make sure you are logged into the repository:
bash
$ cat FILE_WITH_PASSWORD.txt | docker login medexter.azurecr.io -u your-username --pasword-from-stdinBasic compose setup
As ArdenSuite is best used with the frontend, setting up via docker compose or the podman equivalent is recommended. A basic compose file with server and frontend looks like this
yaml
services:
ardensuite:
image: medexter.azurecr.io/ardensuite/server:0.9.1
ports:
- "8081:8081"
environment:
APPLICATION_SECURITY_DEFAULTADMIN_USERNAME: "<your-username>"
APPLICATION_SECURITY_DEFAULTADMIN_PASSWORD: "<your-password>"
ardensuite-frontend:
image: medexter.azurecr.io/ardensuite/frontend:0.9.1
ports:
- "8082:80"
environment:
VITE_PHOENIX_URL: "http://localhost:8081"Start the compose file
bash
$ docker compose upStartup will be completed once MLM auto-import has run, in this case noting that it is not configured:
com.medexter.arden.server.StartUp : MLM import is disabled.You should now be able to access the frontend at http://localhost:8082 using the username and password you specified. You may now remove the environment variables and/or change the password in the application - they will not be considered after first startup.
WARNING
In this setup, the file-based H2 database is within the container. If you delete the container (e.g. docker compose down), all the content in your database will be gone and your ArdenSuite will start from blank.
Externalizing the database
For persisting your data, you have the option of either mounting the default H2 database into a docker volume or configuring your own external database. For a quick start, we will go with the first option. For configuring your own database, have a look at the database configuration options instead.
Amend your compose file with a bind mount for the database:
yaml
services:
ardensuite:
volumes:
"/path/to/my/data/folder:/server/data"
...
ardensuite-frontend:
...After a docker compose up, the ardendb files should appear in that folder. The server is now safe for a down and up.
Externalizing the configuration
All of the configuration can be provided through environment variables as detailed in configuration, but for extensive configuration a custom application.yml configuration file can be mounted into the server:
yaml
services:
ardensuite:
volumes:
"/path/to/my/application.yml:/server/application.yml"
...
ardensuite-frontend:
...After a docker compose down and a docker compose up, configuration will be loaded from the mounted file.
INFO
If a configuration option is set as both environment variable and in the file, the environment variable takes precedence, as per Spring Boot externalized configuration rules.
Enabling the execution log
As a final touch, especially for a development system, the execution log should be enabled to track past MLM usage. By default, it is disabled for performance reasons because it very slightly affects execution time. In most installations, its benefits outweigh that drawback.
yaml
services:
ardensuite:
environment:
ENGINE_EXECUTION_LOG_ENABLED: "true"
...
ardensuite-frontend:
...🎉 That's it! You now have a working ArdenSuite setup for development. Check out the other chapters on how to make the most out of it.
