From 25fbffbbda1c004ea0b5a848217fa771fcfdfc68 Mon Sep 17 00:00:00 2001 From: katarzyna_koltun Date: Tue, 24 Mar 2026 12:51:33 +0100 Subject: [PATCH 01/15] PAD docs --- content/en/docs/deployment/general/pad/_index.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 content/en/docs/deployment/general/pad/_index.md diff --git a/content/en/docs/deployment/general/pad/_index.md b/content/en/docs/deployment/general/pad/_index.md new file mode 100644 index 00000000000..df8a05c51aa --- /dev/null +++ b/content/en/docs/deployment/general/pad/_index.md @@ -0,0 +1,9 @@ +--- +title: "Portable Apps Distribution" +url: /developerportal/deploy/portable-apps-distribution/ +weight: 15 +description: "Describes the Portable Apps Distribution deployment method for Mendix apps." +--- + +## Introduction + From 215547b346d4ac2c9a63dfca77afef42cda9015c Mon Sep 17 00:00:00 2001 From: katarzyna_koltun Date: Wed, 25 Mar 2026 23:24:08 +0100 Subject: [PATCH 02/15] updates --- .../docs/deployment/docker-deploy/_index.md | 69 +--- .../docker-deploy/docker-buildpack.md | 88 +++++ .../deployment/docker-deploy/docker-pad.md | 119 ++++++ .../docker-deploy/run-mendix-docker-image.md | 55 --- .../docker-deploy/run-mendix-on-kubernetes.md | 367 ------------------ .../general/licensing-apps/_index.md | 2 - .../en/docs/deployment/general/pad/_index.md | 30 +- .../deployment/general/pad/pad-reference.md | 109 ++++++ .../cloud-foundry/_index.md | 13 + .../cloud-foundry/cloud-foundry-deploy-pad.md | 51 +++ .../cloud-foundry}/cloud-foundry-deploy.md | 11 +- .../on-premises-design/linux/_index.md | 13 + .../on-premises-design/linux/linux-pad.md | 112 ++++++ .../on-premises-design/{ => linux}/linux.md | 8 +- .../installation/system-requirements.md | 2 - .../runtime/clustered-mendix-runtime.md | 2 +- .../installation/system-requirements.md | 2 - .../runtime/clustered-mendix-runtime.md | 2 +- .../refguide8/general/system-requirements.md | 2 - .../runtime/clustered-mendix-runtime.md | 2 +- .../refguide9/general/system-requirements.md | 2 - .../runtime/clustered-mendix-runtime.md | 2 +- .../support/deployment-strategy-support.md | 8 +- .../docs/support/mendix-stack-components.md | 4 +- 24 files changed, 565 insertions(+), 510 deletions(-) create mode 100644 content/en/docs/deployment/docker-deploy/docker-buildpack.md create mode 100644 content/en/docs/deployment/docker-deploy/docker-pad.md delete mode 100644 content/en/docs/deployment/docker-deploy/run-mendix-docker-image.md delete mode 100644 content/en/docs/deployment/docker-deploy/run-mendix-on-kubernetes.md create mode 100644 content/en/docs/deployment/general/pad/pad-reference.md create mode 100644 content/en/docs/deployment/on-premises-design/cloud-foundry/_index.md create mode 100644 content/en/docs/deployment/on-premises-design/cloud-foundry/cloud-foundry-deploy-pad.md rename content/en/docs/deployment/{ => on-premises-design/cloud-foundry}/cloud-foundry-deploy.md (96%) create mode 100644 content/en/docs/deployment/on-premises-design/linux/_index.md create mode 100644 content/en/docs/deployment/on-premises-design/linux/linux-pad.md rename content/en/docs/deployment/on-premises-design/{ => linux}/linux.md (87%) diff --git a/content/en/docs/deployment/docker-deploy/_index.md b/content/en/docs/deployment/docker-deploy/_index.md index 985b27740ae..bfec623b706 100644 --- a/content/en/docs/deployment/docker-deploy/_index.md +++ b/content/en/docs/deployment/docker-deploy/_index.md @@ -1,73 +1,24 @@ --- title: "Docker" -url: /developerportal/deploy/docker-deploy/ +url: /developerportal/deploy/docker/ weight: 60 -description: "Describes how to deploy using a Docker image." -#If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. +description: "Describes how to deploy using a Docker image using a Docker Buildpack." --- ## Introduction -Docker is an open source container technology. With Mendix, you can use it for simple deployments, particularly when running local or development versions of your app. However, it lacks some scaling and integration features. +This section describes how to deploy your Mendix app to a Docker environment. -The Docker Buildpack simplifies the creation of Docker images locally, but it falls short in terms of running, managing, and operating them effectively compared to the capabilities offered by Mendix on Kubernetes. Leveraging Mendix on Kubernetes means entrusting the Mendix Operator to automate these essential tasks whenever Kubernetes handles your containers. The following diagram illustrates the disparity between Docker Buildpack and Mendix Operator: +## Docker Deployment Options -{{< figure src="/attachments/deployment/docker-deploy/dockerbuildpack-vs-mxoperator.png" class="no-border" >}} +Mendix offers two options for Docker deployments: Portable App Distribution or the Docker Buildpack. -{{% alert color="info" %}} -Mendix suggests that, if you are planning to deploy to your own cloud platform at scale, a better solution for production apps is to use [Mendix on Kubernetes](/developerportal/deploy/private-cloud/). This provides you with structured and tested solutions for integrating with your own cloud infrastructure using comprehensive, automated, native functions, avoiding the need to create your own processes from scratch. -{{% /alert %}} +### Portable App Distribution -This page explains how to build a Docker image from your Mendix App. Every time you make changes to your app, you must create a new Docker image that can be pushed through the different stages of your application pipeline. +[Portable App Distribution](/developerportal/deploy/portable-app-distribution/) allows users to generate their portable app with a single MxBuild command. It requires fewer manual steps than the Docker Buildpack, simpler environment configuration, and no `rootfs` preparation. Running Portable App Distribution can take as little as 3-6 minutes (the time may vary based on the application's size and complexity). -This how-to teaches you how to do the following: +### Docker Buildpack -* Build the image -* Push the image to a registry +The Docker Buildpack offers custom `rootfs` configuration, but requires multiple build steps, a more complex setup process, and a longer total build time (at least 14-25 minutes). -## Prerequisites - -Before starting these instructions, make sure you have completed the following prerequisites: - -* Download the latest version of [Mendix Studio Pro](https://marketplace.mendix.com/link/studiopro/) from the *Mendix Marketplace* -* Install Docker from the [Docker site](https://docs.docker.com/engine/installation/) -* Download the [Mendix Docker Buildpack](https://github.com/mendix/docker-mendix-buildpack) - -## Building the Image - -To build the Docker image, follow these steps: - -1. Install Docker on your computer. -2. Restart the computer to ensure that you have been granted access to Docker. -3. Unzip the buildpack into a location of your choice. -4. Open the **Command Prompt** and navigate to the folder where you unzipped the buildpack. -5. Open your app in Studio Pro and select the menu option **App** > **Show App Directory in Explorer**: - - {{< figure src="/attachments/deployment/docker-deploy/create-deployment-package.png" class="no-border" >}} - -6. Copy the project folder and all its subfolders to the unzipped docker build folder. The project folder needs to be in the same folder as the Docker file, otherwise Docker cannot access it. -7. Execute the following command: - - ```bash - docker build --build-arg BUILD_PATH="{relative-mendix-project-location}" -t {image name} . - ``` - - **{relative-mendix-project-location}** is the BUILD_PATH which indicates where the application model is located. It is the directory where your .MPR file is located after you copied the project into the docker build folder. If you do not specify it, it defaults to `./project`. - - A successful build will resemble the output shown below: - - {{< figure src="/attachments/deployment/docker-deploy/build-image.png" class="no-border" >}} - -{{% alert color="info" %}} -You can find much more information and links to relevant Docker documentation in the [Mendix Docker Buildpack](https://github.com/mendix/docker-mendix-buildpack) GitHub repository. -{{% /alert %}} - -## Pushing the Image - -A new Docker image has been created with the name (`{image name}`) you gave it. You can see the image by using the command `docker images`. - -Next, you need to push the image to a registry. This can be a public registry or your own. To push it to your own registry, use the command `docker push {image name}`. - -## Read More - -* [How to Run a Mendix Docker Image](/developerportal/deploy/run-mendix-docker-image/) +## Documents in This Section diff --git a/content/en/docs/deployment/docker-deploy/docker-buildpack.md b/content/en/docs/deployment/docker-deploy/docker-buildpack.md new file mode 100644 index 00000000000..1015d62c22b --- /dev/null +++ b/content/en/docs/deployment/docker-deploy/docker-buildpack.md @@ -0,0 +1,88 @@ +--- +title: "Docker Buildpack" +url: /developerportal/deploy/docker-deploy/ +weight: 60 +description: "Describes how to deploy using a Docker image using a Docker Buildpack." +#If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. +--- + +## Introduction + +This page explains how to build a Docker image from your Mendix App using a Docker buildpack. Every time you make changes to your app, you must create a new Docker image that can be pushed through the different stages of your application pipeline. + +This how-to teaches you how to do the following: + +* Build the image +* Push the image to a registry + +## Prerequisites + +Before starting these instructions, make sure you have completed the following prerequisites: + +* Download the latest version of [Mendix Studio Pro](https://marketplace.mendix.com/link/studiopro/) from the *Mendix Marketplace* +* Install Docker from the [Docker site](https://docs.docker.com/engine/installation/) +* Download the [Mendix Docker Buildpack](https://github.com/mendix/docker-mendix-buildpack) + +## Compatibility + +Mendix is compatible with Docker hosts as long as there are compatible database services like PostgreSQL, RDS, or Azure SQL. External file store support can be set up with Amazon S3 or Azure Blob store. + +## Building the Image + +To build the Docker image, follow these steps: + +1. Install Docker on your computer. +2. Restart the computer to ensure that you have been granted access to Docker. +3. Unzip the buildpack into a location of your choice. +4. Open the **Command Prompt** and navigate to the folder where you unzipped the buildpack. +5. Open your app in Studio Pro and select the menu option **App** > **Show App Directory in Explorer**: + + {{< figure src="/attachments/deployment/docker-deploy/create-deployment-package.png" class="no-border" >}} + +6. Copy the project folder and all its subfolders to the unzipped docker build folder. The project folder needs to be in the same folder as the Docker file, otherwise Docker cannot access it. +7. Execute the following command: + + ```bash + docker build --build-arg BUILD_PATH="{relative-mendix-project-location}" -t {image name} . + ``` + + **{relative-mendix-project-location}** is the BUILD_PATH which indicates where the application model is located. It is the directory where your .MPR file is located after you copied the project into the docker build folder. If you do not specify it, it defaults to `./project`. + + A successful build will resemble the output shown below: + + {{< figure src="/attachments/deployment/docker-deploy/build-image.png" class="no-border" >}} + +{{% alert color="info" %}} +You can find much more information and links to relevant Docker documentation in the [Mendix Docker Buildpack](https://github.com/mendix/docker-mendix-buildpack) GitHub repository. +{{% /alert %}} + +## Pushing the Image + +A new Docker image has been created with the name (`{image name}`) you gave it. You can see the image by using the command `docker images`. + +Next, you need to push the image to a registry. This can be a public registry or your own. To push it to your own registry, use the command `docker push {image name}`. + +## Running the Mendix Docker Image + +To start the container, you must provide the container with the password in order to create an administrative account for your Mendix application's `ADMIN_PASSWORD` +and `DATABASE_ENDPOINT`, as you can see in this example: + +```shell +docker run -it \ + -e ADMIN_PASSWORD=Password1! \ + -e DATABASE_ENDPOINT=postgres://username:password@host:port/mendix \ + mendix/mendix-buildpack:v1.2 +``` + +This is an example for Microsoft SQL Server: + +```powershell +docker run -it \ + -e ADMIN_PASSWORD=Password1! \ + -e DATABASE_ENDPOINT=sqlserver://username:password@host:port/mendix \ + mendix/mendix-buildpack:v1.2 +``` + +## Read More + +* [Mendix Docker Buildpack](https://github.com/mendix/docker-mendix-buildpack) diff --git a/content/en/docs/deployment/docker-deploy/docker-pad.md b/content/en/docs/deployment/docker-deploy/docker-pad.md new file mode 100644 index 00000000000..4e4e04d1a2b --- /dev/null +++ b/content/en/docs/deployment/docker-deploy/docker-pad.md @@ -0,0 +1,119 @@ +--- +title: "Portable App Distribution for Docker" +url: /developerportal/deploy/docker-deploy-pad/ +weight: 20 +description: "Describes how to deploy using a Docker image by using Portable App Distribution." +--- + +## Introduction + +This guide provides a walkthrough for deploying your Mendix application using [Portable App Distribution](/developerportal/deploy/portable-app-distribution/) with Docker. This approach is particularly useful for containerized environments, and can significantly ease your CI/CD setup. + +{{% alert color="info" %}} +This document is not an official Mendix implementation, or a substitute for recommended production deployment strategies. For more features, such as app management or governance, we suggest using [Mendix on Kubernetes](/developerportal/deploy/private-cloud/) or [Mendix on Azure](/developerportal/deploy/mendix-on-azure/), which offer a structured, tested experience with cloud infrastructure. + +For information about the scope of support, see [Support for Different Deployment Strategies](/support/deployment-strategy-support/). +{{% /alert %}} + +## Benefits of Portable App Distribution + +Portable App Distribution revolutionizes the way in which Mendix applications are packaged and delivered. This innovative approach bundles your application code with all its necessary dependencies into a single, self-contained, and runnable artifact. This greatly simplifies the deployment of Mendix applications, whether you are targeting on-premise infrastructure or modern containerized environments like Docker, making the entire process more efficient and seamless. + +The ability to generate a Portable App Distribution with a single build command means that creating a Docker-ready artifact becomes a streamlined process, making the overall integration into existing Docker-based CI/CD pipelines more efficient and less prone to errors. + +Portable App Distribution offers a more agile, user-centric, and efficient deployment ecosystem, empowering customers with greater control over their Docker deployments and simplifying the internal deployment processes. + +## Deploying an App with Portable App Distribution + +The Portable App Distribution feature in Mendix Studio Pro provides you with the necessary application files to build a Docker image. It packages your Mendix application as a self-contained distribution, ready for integration into your Docker environment. + +To deploy your app to Docker, perform the following steps: + +1. Generate the application files. For more information, see [Portable App Distribution](/developerportal/deploy/portable-app-distribution/). + + These files are the core of your Mendix application and are ready to be included in a Docker image. + + The following is an example *Dockerfile* that incorporates them. You must create this Dockerfile yourself and place it alongside the application files generated by the Portable App Distribution. The `COPY` commands in the example below assumes that the `app`, `bin`, `etc`, and `lib` directories are in the same location as your Dockerfile. + + ```text + # This file provides an example on how to start the runtime in Docker. + # It is based on the configuration named Default. + + FROM eclipse-temurin:21-jdk + + # Set working directory + WORKDIR /mendix + + # Copy Mendix app files into the image + COPY ./app ./app + COPY ./bin ./bin + COPY ./etc ./etc + COPY ./lib ./lib + + # Environment variables (optional) + ENV MX_LOG_LEVEL=info + ENV M2EE_ADMIN_PASS=${M2EE_ADMIN_PASS} + + # Expose ports + EXPOSE 8090 + EXPOSE 8080 + + # Start command + CMD ["./bin/start", "etc/Default"] + ``` + +2. Build the Docker image by running a command like the following: `docker build -t mx/project:latest -f build/docker/Dockerfile`, where: + + * `-t mx/project:latest` - Tags your image as `mx/project` with the label `latest`. You can customize this to your project's name and version. + + * `-f build/docker/Dockerfile` - Specifies the path to your Dockerfile. + +3. Start your Mendix application in a Docker container by running a command like the following: `docker run --rm -it -p 8080:8080 -e M2EE_ADMIN_PASS= mx/project:latest`, where: + + * `--rm` - Automatically removes the container when it exits. + * `-it` - Runs the container in interactive mode and allocates a pseudo-TTY. + * `-p 8080:8080` - Maps port 8080 on your host machine to port 8080 inside the container, allowing you to access your app. + * `-e M2EE_ADMIN_PASS=` - Ensure that you set your admin password here. + * `mx/project:latest` - Refers to the image that you built. + +You can view your running Mendix application at `localhost:8080`. To stop the application, press **Ctrl-C** in your terminal. + +## Docker Compose for Multi-Container Setups + +For more complex setups involving multiple Docker containers, or for simpler local testing purposes, you can use Docker Compose. It allows you to define and run multi-container Docker applications. + +The following is an example of a *docker-compose.yaml* file that sets up your Mendix application with an HSQLDB for local testing. This example assumes you have the Portable App Distribution files (`app`, `bin`, `etc`, `lib`) in a parent directory relative to your *docker-compose.yaml* file. + +```yaml +# This file provides an example on how to start the runtime with HSQLDB. +# This setup is intended for local testing only. +# It is based on the configuration named Default. + +services: + mendix-app: + image: eclipse-temurin:21-jdk + container_name: mendix-app + working_dir: /mendix + volumes: + - ../app:/mendix/app + - ../bin:/mendix/bin + - ../etc:/mendix/etc + - ../lib:/mendix/lib + environment: + - MX_LOG_LEVEL=info + - M2EE_ADMIN_PASS=${M2EE_ADMIN_PASS} + ports: + - "8090:8090" + - "8080:8080" + command: ["./bin/start", "etc/Default"] +``` + +### Running with Docker Compose + +To use this Docker Compose configuration, perform the following steps: + +1. Set your admin port password in the **M2EE_ADMIN_PASS** variable within your environment, or directly in the *docker-compose.yaml* file. +2. Navigate to the directory containing your *docker-compose.yaml* file +3. Run a command like the following: `docker compose -f docker_compose/Default.yaml up` + +This example assumes that your configuration is named Default. \ No newline at end of file diff --git a/content/en/docs/deployment/docker-deploy/run-mendix-docker-image.md b/content/en/docs/deployment/docker-deploy/run-mendix-docker-image.md deleted file mode 100644 index f50a25ea402..00000000000 --- a/content/en/docs/deployment/docker-deploy/run-mendix-docker-image.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: "Run a Mendix Docker Image" -linktitle: "Run Docker Image" -url: /developerportal/deploy/run-mendix-docker-image/ -weight: 10 -description: "Describes running a Mendix Docker image." -#To update these screenshots, you can log in with credentials detailed in How to Update Screenshots Using Team Apps. ---- - -## Introduction - -Docker is an open source container technology that is used broadly in the market in highly scalable solutions and automated delivery pipelines (CI/CD). - -This how-to explains how to run a Mendix Docker image created using the Mendix Docker Buildpack. A Mendix Docker image is uniquely created for each release of a project using this buildpack. To run the Docker image, you need access to a Docker orchestration platform. See [System Requirements](/refguide/system-requirements/) for official supported orchestration platforms. - -This how-to teaches you how to do the following: - -* Check for compatibility -* Run the Mendix Docker image - -## Prerequisites - -Before starting this how-to, make sure you have completed the following prerequisites: - -* Build an image with the Mendix buildpack (for details, see [Docker: Deploy](/developerportal/deploy/docker-deploy/)) - -## Compatibility - -Mendix is compatible with the above Docker hosts as long as there are compatible database services like PostgreSQL, RDS, or Azure SQL. External file store support can be set up with Amazon S3 or Azure Blob store. - -## Running the Mendix Docker Image - -To start the container, you must provide the container with the password in order to create an administrative account for your Mendix application's `ADMIN_PASSWORD` -and `DATABASE_ENDPOINT`, as you can see in this example: - -```shell -docker run -it \ - -e ADMIN_PASSWORD=Password1! \ - -e DATABASE_ENDPOINT=postgres://username:password@host:port/mendix \ - mendix/mendix-buildpack:v1.2 -``` - -This is an example for Microsoft SQL Server: - -```powershell -docker run -it \ - -e ADMIN_PASSWORD=Password1! \ - -e DATABASE_ENDPOINT=sqlserver://username:password@host:port/mendix \ - mendix/mendix-buildpack:v1.2 -``` - -## Read More - -* [Docker: Deploy](/developerportal/deploy/docker-deploy/) -* [Mendix Docker Buildpack](https://github.com/mendix/docker-mendix-buildpack) diff --git a/content/en/docs/deployment/docker-deploy/run-mendix-on-kubernetes.md b/content/en/docs/deployment/docker-deploy/run-mendix-on-kubernetes.md deleted file mode 100644 index 944d526b66b..00000000000 --- a/content/en/docs/deployment/docker-deploy/run-mendix-on-kubernetes.md +++ /dev/null @@ -1,367 +0,0 @@ ---- -title: "Use Docker with Minikube" -linktitle: "Run with Minikube" -url: /developerportal/deploy/run-mendix-on-minikube/ -weight: 20 -aliases: - - /developerportal/deploy/run-mendix-on-kubernetes/ ---- - -## Introduction - -{{% alert color="info" %}} -This document is about local deployments on [Minikube](https://kubernetes.io/docs/getting-started-guides/minikube/). For the Mendix on Kubernetes solution, see [Mendix on Kubernetes](/developerportal/deploy/private-cloud/). -{{% /alert %}} - -This how-to takes you through the process of deploying a Docker image of your Mendix app to [Minikube](https://kubernetes.io/docs/getting-started-guides/minikube/), a local version of [Kubernetes](https://kubernetes.io/docs/home/) which runs in a Windows container or virtual machine. Many of the operations you perform on Minikube are the same as those on a hosted environment and it provides a low-level entry to Kubernetes. For more information, see [Installing Kubernetes with Minikube](https://kubernetes.io/docs/setup/learning-environment/minikube/) on the Kubernetes documentation site. - -Kubernetes is a standard container orchestration platform supported by Mendix. For details on supported version of Kubernetes see [Mendix System Requirements](/refguide/system-requirements/). - -{{% alert color="info" %}} -Deploying a Docker image on Minikube is intended for test projects on a local machine. When publishing to your cloud infrastructure, Mendix suggests you use the [Mendix on Kubernetes](/developerportal/deploy/private-cloud/) solution, as this provides you with integration with the Mendix Portal and takes away much of the heavy lifting. -{{% /alert %}} - -This how-to teaches you how to do the following: - -* Deploy and run a Mendix app using Minikube -* Separate the database deployment from your app -* Attach persistence storage to the app container - -## Prerequisites - -To follow this how-to, you should have a basic knowledge of Docker and Kubernetes. For more information, see [Docker Overview](https://docs.docker.com/engine/docker-overview/) and [Kubernetes Basics](https://kubernetes.io/docs/tutorials/kubernetes-basics/). Although you do not need more knowledge to execute all the commands provided, some experience will help you to understand the how-to better. - -Before starting this how-to, make sure you have completed the following prerequisites: - -* Install kubectl using the instructions provided in [Install and Set Up kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl) - * The kubectl CLI is the default tool to access and manage your Kubernetes cluster -* Install Minikube using the instructions provided in [Install Minikube](https://kubernetes.io/docs/tasks/tools/install-minikube/) - * Minikube allows you to create a local cluster that is convenient for exploring Kubernetes (if you have an account for one of the cloud providers and you choose to use that, this step can be skipped) -* Build your image in Minikube, using the steps in the [Docker](/developerportal/deploy/docker-deploy/) page and replacing Docker commands such as `docker build` with Minikube equivalents such as `minikube image build`. - -This how-to uses commands for a Unix-like system. The commands for Windows may be slightly different. - -## Architecture Overview{#architecture} - -Before you start, here is some background information on the components needed to deploy a Mendix app with Minikube. - -A Mendix application needs, as a minimum, a database to run. In this example you provision a PostgreSQL database within the Kubernetes cluster. In production scenarios, the database is usually provided as a service by the cloud provider, like AWS RDS or Azure SQL. For supported databases see [Mendix System Requirements](/refguide/system-requirements/). - -If the application makes use of persistable FileDocument or FileImage entities, a persistent volume (PV) storage service needs to be attached as well. See [Mendix System Requirements](/refguide/system-requirements/) for supported external storage services. In this how-to you use a node-bound storage volume as an example. For more information, see [Architecture Overview](#architecture), below. - -This architecture overview shows all the components in the deployment: - -{{< figure src="/attachments/deployment/docker-deploy/run-mendix-on-kubernetes/kubernetes.png" class="no-border" >}} - -The deployment of your Mendix app needs the following Kubernetes components: - -* [StatefulSet](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/) -* [Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) -* [Service](https://kubernetes.io/docs/concepts/services-networking/service/) -* [Volume](https://kubernetes.io/docs/concepts/storage/volumes/) -* [Pod](https://kubernetes.io/docs/concepts/workloads/pods/pod/) - -The database is deployed as a **deployment**. Deployment covers control over the pods and the ReplicaSets for these pods. **Pods** are not bound to a specific node in the cluster unless set with selector labels. A deployment can scale pods on one or mode nodes, and it recovers pods when they crash. - -The Mendix application is deployed using a **StatefulSet**. The StatefulSet generally provides the same control options as a deployment, but it will provide a stable index number for the pod as well as a network ID and storage. The StatefulSet is used to provide the application with a unique pod index number that identifies which of the instances is allowed to run scheduled events. - -Data storage should be externalized as much as possible, because pods can be created, destroyed, or moved around. Destroying a pod will also destroy any data stored inside the containers started by the pod. When scaling the app, all instances should be able to retrieve the same data. This how-to uses node-bound **volume** mounts, but please check the list of available [clustered storage](https://kubernetes.io/docs/concepts/storage/volumes/) options. - -To access your Mendix applications inside a pod from outside of the Kubernetes, a **service** must be created to expose the port. Services deal with pod discovery and pod lifecycles, so the consumer of a particular service doesn't need to know where a pod is or what IP is needed to access it. - -## Deploying the Components - -### Deploying the PostgreSQL Database - -Once Minikube is running you must configure your local environment to use the Docker daemon using the following command: - -```bash -minikube docker-env -``` - -You must first deploy your database. Minikube uses an external folder to persist the data outside of the database pod. - -{{% alert color="info" %}} -For simplicity and compatibility with Minikube, we mount a folder from the `minikube node`. This approach is not recommended for production. -{{% /alert %}} - -Here is the definition of the `postgres-deployment.yaml` database component: - -```yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: postgres -spec: - replicas: 1 - selector: - matchLabels: - app: postgres - template: - metadata: - labels: - app: postgres - spec: - containers: - - name: postgres - image: postgres:11 - ports: - - containerPort: 5432 - env: - - name: POSTGRES_DB - value: db0 - - name: POSTGRES_USER - value: mendix - - name: POSTGRES_PASSWORD - value: mendix - volumeMounts: - - mountPath: "/var/lib/postgresql/data" - name: "mendix-pgdata" - volumes: - - hostPath: - path: "/home/docker/pgdata" - name: mendix-pgdata -``` - -To create the PostgreSQL database, Mendix uses the provided [Postgres](https://hub.docker.com/_/postgres/) image. The environment variables provided in `env` are needed to configure the default database. Instead of setting the password in the *yaml* file directly, you can choose to use [secrets](https://kubernetes.io/docs/concepts/configuration/secret/). - -And finally, it is necessary to expose the database as a service and make it available to the application. This is the definition of such a service: - -(`postgres-service.yaml`): - -```yaml -apiVersion: v1 -kind: Service -metadata: - name: postgres-service -spec: - type: ClusterIP - ports: - - port: 5432 - selector: - app: postgres -``` - -To create all the mentioned components, use the following: - -```bash -kubectl create -f postgres-deployment.yaml -kubectl create -f postgres-service.yaml -``` - -The database is now created. To verify the installation, check out the logs: - -```bash -kubectl logs $(kubectl get pods -lapp=postgres -o name) -``` - -The output should be similar to the following: - -`2017-09-14 08:34:37.538 UTC [1] LOG: database system is ready to accept connections` - -The host and port values will be needed to deploy the application. To get these we execute the following command: - -```bash -kubectl get service postgres-service -``` - -If you are using Windows, you need to execute these inline commands first to get the pod name: - -```bash -kubectl get pods -lapp=postgres -o name -``` - -then use the pod name to retrieve the logs: - -```bash -kubectl logs -``` - -### Adding a Persistent Volume - -The Docker Buildpack stores files in /opt/mendix/build/data/files. If you do not have any persistent storage, then these files will disappear if the pod is destroyed. If you mount a Persistent Volume (PV) into this path, any uploaded files will be stored in that PV. - -To do this, you need to ensure that the `volumeMounts` parameter in the `mendixapp.yaml` file points to `/opt/mendix/build/data/files`. This is already set up in the sample file in [Deploying the Application](#deploy), below - -{{% alert color="info" %}} -The CF Buildpack will try to set file permissions in the volume before it starts the app, so it should have permissions to do that. -{{% /alert %}} - -### Deploying the Application{#deploy} - -With the database running, we can deploy our application. You will use a sample Docker container with a Mendix app published in [hub.docker.com](https://hub.docker.com/r/mendix/sample-app-kubernetes/). To create a new Docker container for your Mendix app, see the description on the [docker-mendix-buildpack](https://github.com/mendix/docker-mendix-buildpack). - -Before deploying the app, you need to create some secrets so that sensitive information for the application doesn't need to be in the *yaml* file. The secrets file is applied once to the cluster, and the values will be kept there. For information on all the options, see [Secrets](https://kubernetes.io/docs/concepts/configuration/secret/). - -{{% alert color="info" %}} -The Secret values in the secrets file must be base64 encoded. -{{% /alert %}} - -Create a file `mendix-app-secrets.yaml` with the following contents: - -```yaml -apiVersion: v1 -kind: Secret -metadata: - name: mendix-app-secrets -type: Opaque -data: - admin-password: YOUR_ADMIN_PASSWORD - db-endpoint: YOUR_DATABASE_ENDPOINT - license-key: YOUR_LICENSE_KEY - license-id: YOUR_LICENSE_ID -``` - -`YOUR-DATABASE-ENDPOINT` is in the form `postgres://mendix:mendix@255.255.255.255:5432/db0` (for example, `postgres://mendix:mendix@172.17.0.3:5432/db0`). You can find the correct IP address and port for your database endpoint using the following command: - -```bash -kubectl get ep postgres-service -``` - -See [Run a Mendix Docker Image](/developerportal/deploy/run-mendix-docker-image/) for expected value formats. - -Create the secrets in Kubernetes by executing the following command: - -```bash -kubectl create -f mendix-app-secrets.yaml -``` - -Once the database service and the secrets are created, you can create the application, which is defined in the file below. - -`mendix-app.yaml`: - -```yaml -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: mendix-k8s-stateful - labels: - app: mendix-k8s -spec: - serviceName: mendix-app-service - replicas: 2 - selector: - matchLabels: - app: mendix-k8s - template: - metadata: - labels: - app: mendix-k8s - spec: - containers: - - name: mendix-app - image: /: - imagePullPolicy: Always - ports: - - containerPort: 8080 - volumeMounts: - - mountPath: "/opt/mendix/build/data/files" - subPath: files - name: mendix-data - env: - - name: ADMIN_PASSWORD - valueFrom: - secretKeyRef: - name: mendix-app-secrets - key: admin-password - - name: DATABASE_ENDPOINT - valueFrom: - secretKeyRef: - name: mendix-app-secrets - key: db-endpoint - - name: LICENSE_ID - valueFrom: - secretKeyRef: - name: mendix-app-secrets - key: license-id - - name: LICENSE_KEY - valueFrom: - secretKeyRef: - name: mendix-app-secrets - key: license-key - volumes: - - hostPath: - path: "/home/docker/mendix-files" - name: mendix-data -``` - -Replace `/:` with the Docker image of your app, for example, `mendix/sample-app-kubernetes:v3`. - -Create a Docker image of your Mendix app using the instructions in the [Mendix Docker Buildpack](https://github.com/mendix/docker-mendix-buildpack) on GitHub. - -Once you have created the Docker image, push it to the Docker hub using the following command: - -```bash -minikube image push /: -``` - -Where `/:` is the Docker image of your app identified in `mendix-app.yaml`. For the example above, this is again `mendix/sample-app-kubernetes:v3`. - -{{% alert color="info" %}} -In this example, you use a local storage folder on the node to show how to externalize the data stored for your app from the Docker container. For production systems, Mendix recommends using the storage provided on the selected cloud platform. -{{% /alert %}} - -Deploy the application to Kubernetes: - -```bash -kubectl create -f mendix-app.yaml -``` - -#### Some Notes on Scaling{#scaling} - -The Mendix runtime is stateless, meaning that a client can talk to any server instance. However, scheduled events and database migrations should be handled by only one instance. This is done using a container index count. The pod with index 0 will always trigger the schedule events and deal with database updates in case of an upgrade version. - -Setting `kind: StatefulSet` rather than `kind: Deployment` appends a container instance index to the container's hostname. - -It should be noted that using a StatefulSet versus a deployment involves some difference in behavior. For example, a pod won't move to a different node when it crashes, and when the node is not reachable, the pod is not recreated on another system. - -### Making the App Available - -To make the app available from the browser, it needs to be accessible outside of the cluster. For this, Mendix uses a service of the LoadBalancer or NodePort type. For Minikube we can use both, which exposes the app via an IP address. - -If you deploy to a cloud provider, the method for publishing your app may be different (for example, some cloud providers can automatically update the load balancer to forward a URL request to the cluster). For more information, see [Create an External Load Balancer](https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/). - -The definition of publishing the Mendix app as a NodePort service is described in the following file: - -`mendix-app-service.yaml`: - -```yaml -apiVersion: v1 -kind: Service -metadata: - name: mendix-app-service - labels: - app: mendix-k8s -spec: - ports: - - port: 8080 - protocol: TCP - selector: - app: mendix-k8s - type: NodePort -``` - -Deploy the service: - -```bash -kubectl create -f mendix-app-service.yaml -``` - -Check if the application is running using the command: - -```bash -minikube service mendix-app-service -``` - -To get the URL to the application on Minikube, execute this command and open the link in your browser: - -```bash -minikube service mendix-app-service --url -``` - -Congratulations! You have deployed your first Mendix app in Kubernetes. - -## Read More - -* [Docker: Deploy](/developerportal/deploy/docker-deploy/) -* [Mendix Docker Buildpack](https://github.com/mendix/docker-mendix-buildpack) diff --git a/content/en/docs/deployment/general/licensing-apps/_index.md b/content/en/docs/deployment/general/licensing-apps/_index.md index 50dfd5c5bf9..71acdb76df5 100644 --- a/content/en/docs/deployment/general/licensing-apps/_index.md +++ b/content/en/docs/deployment/general/licensing-apps/_index.md @@ -121,8 +121,6 @@ To activate a license on your app running on Kubernetes, you need the license cr Two additional environment variables, `LICENSE_ID` and `LICENSE_KEY`, need to be set to the values of the **LicenseId** and **LicenseKey** provided by Mendix Support. To do this, add them to the deployment command for your app. -For full instructions on how to do this and how to supply the keys using a **Secrets** file, see the [Deploying the Application](/developerportal/deploy/run-mendix-on-minikube/#deploy) section of *Use Docker with Minikube*. - ### Windows Server To license a Mendix app on Microsoft Windows, follow these steps: diff --git a/content/en/docs/deployment/general/pad/_index.md b/content/en/docs/deployment/general/pad/_index.md index df8a05c51aa..7684d708efc 100644 --- a/content/en/docs/deployment/general/pad/_index.md +++ b/content/en/docs/deployment/general/pad/_index.md @@ -1,9 +1,33 @@ --- -title: "Portable Apps Distribution" -url: /developerportal/deploy/portable-apps-distribution/ +title: "Portable App Distribution" +url: /developerportal/deploy/portable-app-distribution/ weight: 15 -description: "Describes the Portable Apps Distribution deployment method for Mendix apps." +description: "Describes the Portable App Distribution deployment method for Mendix apps." --- ## Introduction +Portable App Distribution provides a flexible and straightforward method for isolated server-based deployments. By enabling customers to generate a bundled artifact packaged as a .zip file and run it directly, Portable App Distribution simplifies the deployment process. + +## Benefits + +Portable App Distribution offers the following benefits: + +* Simplified deployment - Portable apps eliminate complex installation procedures, making it easier and faster to get software up and running across different machines. This reduces setup time and potential configuration errors. +* Enhanced consistency - By bundling all dependencies, portable apps ensure a consistent operating environment for the application, regardless of the underlying system configuration. +* Improved mobility and flexibility - Teams can easily move applications between workstations, virtual machines, or even cloud instances without the need for reinstallation, fostering greater agility in project work. +* Reduced system impact - Portable apps often run in isolated environments, which can help prevent conflicts with other installed software and maintain system stability. +* Streamlined updates - Managing updates can be more straightforward, as new versions of a portable application can often be deployed by simply replacing the package. +* Layered configuration - Portable App Distribution supports defining base configurations that can be extended with environment-specific or deployment-type-specific entries (for example, distinct configurations for development, testing, or production environments). + +## Licensing + +You can test Portable App Distribution on a [Free App](/developerportal/deploy/mendix-cloud-deploy/#free-app). For more information about Free Apps and their limitations, as well as licensing apps outside of the Mendix Cloud, see [Licensing Apps](/developerportal/deploy/licensing-apps-outside-mxcloud/). + +To license a Mendix app on the Portable App Distribution, add it to your configuration. For more information, see [Obtaining a Mendix License](/developerportal/deploy/licensing-apps-outside-mxcloud/#get-license). + +## Prerequisites + +The Portable App Distribution functionality is available for Mendix Studio Pro version 11.9, 11.6.x MTS, or above. + +You must also ensure that you have the supported version of [Java Runtime Environment](/refguide/system-requirements/#java). \ No newline at end of file diff --git a/content/en/docs/deployment/general/pad/pad-reference.md b/content/en/docs/deployment/general/pad/pad-reference.md new file mode 100644 index 00000000000..5e8f6bc8d00 --- /dev/null +++ b/content/en/docs/deployment/general/pad/pad-reference.md @@ -0,0 +1,109 @@ +--- +title: "Reference Guide for Portable Apps Distribution" +url: /developerportal/deploy/portable-apps-distribution/reference +linktitle: "Reference Guide" +weight: 100 +description: "Describes the folder structure and commmand line parameters for the Portable Apps Distribution deployment method for Mendix apps." +--- + +## Introduction + +In the following Reference Guide document, you can find information about the folder structure of the .zip file generated by Portable App Distribution, as well as the available command-line parameters for the start script. The Reference Guide also suggests some best practices for managing the order of your custom configuration files. + +## Folder Structure + +The .zip file generated by Portable App Distribution contains the following files and directories: + +* `app/` - The application, containing the following directories (similar to the .mda file): + + * `data/` + * `model/` + * `native/` + * `sass/` + * `tmp/` + * `web/` + +* `bin/` - Scripts to start the runtime: + + * `start` - Shell script for Linux and OSX + * `start.bat` - Batch file for Windows + * `start.ps1` - Batch file for Windows - PowerShell + +* `etc/` - Runtime config files for all configurations in the model + + * `example.conf` - An example runtime configuration file containing all possible parameters with the default values and documentation + * `StudioPro.Conf` - The configuration that is set in StudioPro; this file is to be included in the specific configurations + * `$ConfigName` - The runtime configuration for the configuration named `$ConfigName` + * `variables.conf` - Environment variable overrides for all public settings + * `configurations/` - The configurations as defined in the **App Settings** + + * `$ConfigName.conf` - Specific settings for the configuration named `$ConfigName` + + * `constants/` - All microflow constants + + * `defaults.conf` - Default values for all constants in the project + * `variables.conf` - Environment variable overrides for all constants + +* `lib/` - All included dependencies + + * `runtime/` - All required runtime files + + * `bundles/` - All jar file that are needed to start the runtime server + * `launcher/` - The jar file for launching the runtime server + * `lib/` - Additional library files + * `mxclientsystem/` - The runtime client files + +## Command Line Parameters for the Start Script + +The start script has the following parameters: + +```text +start [options...] [config-file...] +``` + +There can be multiple configuration files. If omitted, the script uses the default configuration. + +If a setting occurs multiple times across different files, the definition from the last file is used. + +The following options are supported: + +* `-h` or `--help` - Print the command line usage. +* `-J $JvmOption` - Pass `$JvmOption` to the JVM. + +## Understanding Configuration File Precedence and Best Practices + +This section clarifies how configuration files are processed, particularly concerning the order of application and how to manage environment variables and custom settings effectively. + +### Key Principle + +The core concept governing configuration file processing is *last definition wins.* This means that if the same configuration setting is defined in multiple files, the value from the file processed last overrides all previous definitions. + +This principle is crucial when managing both standard configuration files and environment variables. If a custom file is processed after environment variables, its settings will take precedence. + +### Managing the Configuration Order + +To ensure your desired configuration values are applied correctly, especially when custom settings must override or be overridden by environment variables, you have two primary approaches: + +* Explicitly list configuration files: + + Instead of relying on a default include file (for example, `etc/Default`), you can explicitly list each configuration file as an argument when launching your application. + + This gives you precise control over the order. You can place your custom configuration file before files that define environment variables (for example, `variables.conf`) if you want your environment variables to take precedence, or after if you want your custom settings to override them. + +* Create a custom `etc/Default` file: + + You can also make a copy of the standard `etc/Default` file and modify your custom copy to include your own configuration file at the desired position within its include list. + + This allows you to maintain a single entry point for configuration while still controlling the order of included files. + +### The `etc/Default` File + +The `etc/Default` file is primarily provided for convenience and serves as an example. It is not mandatory to use it as-is. + +The system is designed to support multiple configuration files, allowing you to pick and choose which ones you want to use. This is particularly beneficial in Cloud environments where specific configurations (for example, `StudioPro.conf` for local testing) might be replaced with custom, deployment-specific files. + +In a typical Cloud deployment, it is often recommended to replace files like `StudioPro.conf` (which is geared towards local testing) with your own custom configuration tailored for the Cloud environment. + +### Supported Configuration File Formats + +You do not need to use the `.conf` extension for your configuration files. You can use any extension you prefer, or no extension at all. The content of the file determines how it is parsed. \ No newline at end of file diff --git a/content/en/docs/deployment/on-premises-design/cloud-foundry/_index.md b/content/en/docs/deployment/on-premises-design/cloud-foundry/_index.md new file mode 100644 index 00000000000..4404136188c --- /dev/null +++ b/content/en/docs/deployment/on-premises-design/cloud-foundry/_index.md @@ -0,0 +1,13 @@ +--- +title: "Cloud Foundry" +url: /developerportal/deploy/cloud-foundry/ +weight: 50 +no_list: false +description_list: true +--- + +## Introduction + +This section describes how to deploy your Mendix app to an on-premise Cloud Foundry environment. + +## Documents in This Section diff --git a/content/en/docs/deployment/on-premises-design/cloud-foundry/cloud-foundry-deploy-pad.md b/content/en/docs/deployment/on-premises-design/cloud-foundry/cloud-foundry-deploy-pad.md new file mode 100644 index 00000000000..0bc32c59640 --- /dev/null +++ b/content/en/docs/deployment/on-premises-design/cloud-foundry/cloud-foundry-deploy-pad.md @@ -0,0 +1,51 @@ +--- +title: "Portable App Distribution for Cloud Foundry" +url: /developerportal/deploy/cloud-foundry-pad/ +weight: 20 +description: "Describes how to deploy to a Cloud Foundry environment by using Portable App Distribution." +--- + +## Introduction + +Cloud Foundry is a platform-as-a-service (PaaS) that automates the deployment, scaling, and management of applications, abstracting away the underlying infrastructure. On-premise deployment, conversely, involves hosting applications and their entire infrastructure within a company's own data centers, giving them full control. + +This documentation provides guidance on understanding Cloud Foundry on-premise deployments and serves as a helpful reference rather than official implementation support. + +{{% alert color="info" %}} +For information about the scope of support, see [Support for Different Deployment Strategies](/support/deployment-strategy-support/). +{{% /alert %}} + +## Prerequisites + +To deploy your app to an on-premises Cloud Foundry configuration using [Portable App Distribution](/developerportal/deploy/portable-apps-distribution/), ensure that you fulfill the following prerequisites: + +* You have access to the Cloud Foundry organization and space where the application is deployed. +* You have access to the database configuration from the database service. +* You have access to binding other required Cloud Foundry services. +* The Cloud Foundry CLI is installed. +* You have generated the [Portable App Distribution .zip file](/developerportal/deploy/portable-apps-distribution/). + +## Deploying an App with Portable App Distribution + +To deploy your app to Cloud Foundry, perform the following steps: + +1. Log in to Cloud Foundry, and then access the organization and space where the application is deployed. +2. Save the [Portable App Distribution .zip file](/developerportal/deploy/portable-apps-distribution/) to an accessible location. +3. Create a *manifest.yml* file in the root directory of your app. + + By default, the `cf push` command uses the *manifest.yml* file in the app directory. To specify a different location for the manifest, you must pass its local path to the `-f` flag when you run `cf push`. + +4. Add the following content to the file: + +```yaml +applications: +- name: + path: + memory: + buildpacks: + services: + env: +``` + +5. Run the `cf push` command. +6. Verify that the Mendix app has started successfully. \ No newline at end of file diff --git a/content/en/docs/deployment/cloud-foundry-deploy.md b/content/en/docs/deployment/on-premises-design/cloud-foundry/cloud-foundry-deploy.md similarity index 96% rename from content/en/docs/deployment/cloud-foundry-deploy.md rename to content/en/docs/deployment/on-premises-design/cloud-foundry/cloud-foundry-deploy.md index e17d0af523c..5642e0a4bbf 100644 --- a/content/en/docs/deployment/cloud-foundry-deploy.md +++ b/content/en/docs/deployment/on-premises-design/cloud-foundry/cloud-foundry-deploy.md @@ -1,6 +1,6 @@ --- -title: "Cloud Foundry" -url: /developerportal/deploy/cloud-foundry-deploy/ +title: "Cloud Foundry Buildpack (Deprecated)" +url: /developerportal/deploy/cloud-foundry-buildpack/ weight: 50 description: "Describes how to deploy to a Cloud Foundry environment which does not have Mendix support in the Mendix Portal." aliases: @@ -14,13 +14,18 @@ aliases: - /refguide/deploying-a-mendix-app-to-cloud-foundry - /refguide8/deploying-a-mendix-app-to-cloud-foundry - /refguide9/deploying-a-mendix-app-to-cloud-foundry + - /developerportal/deploy/cloud-foundry-deploy/ #To update these screenshots, you can log in with credentials detailed in How to Update Screenshots Using Team Apps. #If moving or renaming this doc file, implement a temporary redirect and let the respective team know they should update the URL in the product. See Mapping to Products for more details. --- ## Introduction -{{% alert color="warning" %}} Cloud Foundry deployment from Studio Pro is deprecated in version 10 and removed in version 11. {{% /alert %}} +{{% alert color="warning" %}} +Cloud Foundry buildpack deployment from Studio Pro is deprecated in version 10 and removed in version 11. Consider using the [Portable App Distribution for Cloud Foundry](/developerportal/deploy/cloud-foundry-pad/) option instead. + +The following documentation is provided for reference purposes only. +{{% /alert %}} Mendix apps can be deployed to a variety of different environments, for example Mendix Cloud, on-premises, or Kubernetes. diff --git a/content/en/docs/deployment/on-premises-design/linux/_index.md b/content/en/docs/deployment/on-premises-design/linux/_index.md new file mode 100644 index 00000000000..1bce35d84d9 --- /dev/null +++ b/content/en/docs/deployment/on-premises-design/linux/_index.md @@ -0,0 +1,13 @@ +--- +title: "Linux" +url: /developerportal/deploy/linux/ +weight: 55 +no_list: false +description_list: true +--- + +## Introduction + +This section describes how to deploy your Mendix app to an on-premise Linux environment. + +## Documents in This Section diff --git a/content/en/docs/deployment/on-premises-design/linux/linux-pad.md b/content/en/docs/deployment/on-premises-design/linux/linux-pad.md new file mode 100644 index 00000000000..47e4688d19a --- /dev/null +++ b/content/en/docs/deployment/on-premises-design/linux/linux-pad.md @@ -0,0 +1,112 @@ +--- +title: "Portable App Distribution for Linux" +url: /developerportal/deploy/linux-pad/ +description: "How to install and configure Mendix on a Linux system using Portable App Distribution." +weight: 20 +--- + +## Introduction + +Portable App Distribution refers to packaging applications in a self-contained format that includes all necessary dependencies, allowing them to run on various Linux systems without requiring traditional installation. + +This documentation provides guidance for deploying Portable App Distribution in a Linux environment and serves as a helpful reference rather than official implementation support. + +{{% alert color="info" %}} +For information about the scope of support, see [Support for Different Deployment Strategies](/support/deployment-strategy-support/). +{{% /alert %}} + +## Prerequisites + +To deploy your app to an on-premises Cloud Foundry configuration using [Portable App Distribution](/developerportal/deploy/portable-apps-distribution/), ensure that you fulfill the following prerequisites: + +* A Linux environment. This can be a virtual machine, a physical server, or a cloud instance (for example, AWS EC2, Azure VM, Google Cloud VM). You will need `sudo` or `root` privileges for some commands. +* Java Development Kit (JDK). Your application requires a compatible Java runtime. For installation instructions, refer to the following sections. +* Your [Portable App Distribution .zip file](/developerportal/deploy/portable-apps-distribution/). +* A method to transfer the .zip file onto your Linux machine, for example: + + * Cloud storage - If your Linux machine is in the cloud, you can use the cloud provider's CLI (for example, AWS S3, Azure Blob Storage, Google Cloud Storage). + * SFTP/SCP - For direct file transfer from your local machine. + * Version Control System (VCS) - If your .zip is stored in a repository. + * Artifactory/Nexus: For artifact management. + +## Deploying an App with Portable App Distribution + +To deploy your app to Linux, perform the following steps: + +1. Connect to your Linux server by running the following command: `ssh -i ".pem" @` + +2. Optional: Update your package lists and installed packages by running one of the following commands: + + * For Debian/Ubuntu-based systems: + + ```text + sudo apt update -y + sudo apt upgrade -y + ``` + + * For RHEL/CentOS/Amazon Linux-based systems: `sudo yum update -y` or `sudo dnf update -y` + +3. Install the Java Development Kit by running one of the following commands: + + * For Amazon Linux: `sudo yum install java-21-amazon-corretto -y` + * For Debian/Ubuntu-based systems: `sudo apt install temurin-21-jdk -y` + * For RHEL/CentOS-based systems: `sudo yum install temurin-21-jdk -y` or `sudo dnf install temurin-21-jdk -y` + +If your application requires it, you can change the Java version on vendor as needed, for example, `openjdk-21-jdk` or `java-17-amazon-corretto`. + +{{% alert color="info" %}} +Your Portable App Distribution only requires a Java Runtime Environment (JRE) to run, but it is often recommended to install a full JDK as it includes the JRE and development tools. +{{% /alert %}} + +4. Verify that Java is correctly installed by running the following command: `java -version`. +5. Upload the Portable App Distribution .zip file to a location where your Linux server can access it by using one of the following options, depending on the location and configuration of your Linux machine. + + * For Azure Blob Storage (often done as part of a CI/CD pipeline): `az storage blob upload --account-name --container-name --name .zip --file /build/distributions/your-app.zip --auth-mode login` + + You may need to log in to Azure CLI first with the `az` login. + + * For Cloud Storage (often done as part of a CI/CD pipeline): ` cp /build/distributions/your-app.zip s3:///` + + Adjust the `cp` command for your specific cloud provide (for example, `gsutil cp` for Google Cloud, or `aws s3` for AWS S3). + + * For SFTP/SCP (when transferring directly from your local machine to the Linux server): `scp -i ".pem" @:/home//` + + * For JFrog Artifactory or similar: `curl -u ":" -X PUT "https://.zip" -T .zip` + + Use the `-O` flag to save the file with its original name. + + * From a public URL using `wget`: `wget https://.zip` + +6. Download the .zip file onto your Linux server by using one of the following options, depending on the location and configuration of your Linux machine. + + * For Azure Blob Storage: `az storage blob download --account-name --container-name --name .zip --file /home//.zip --auth-mode login` + + Ensure that the user running this command on the Linux instance has the necessary permissions to access the Azure Storage account and container. You may need to log in to Azure CLI first with the `az` login. + + * For Cloud Storage: ` cp s3:///.zip /home//.zip` + + Adjust the `cp` command for your specific cloud provide (for example, `gsutil cp` for Google Cloud, or `aws s3` for AWS S3). + + Ensure that the user running this command on the EC2 instance has read permissions for the specified S3 Bucket. + + * For SFTP/SCP (when transferring directly from your local machine to the Linux server): `scp -i ".pem" @:/home//` + + * For JFrog Artifactory or similar: `curl -u ":" -0 "https://.zip" -T .zip` + + You can also retrieve the files using `wget`. + +7. Extract the .zip file by running the following command: `unzip .zip -d `. +8. Navigate into the extracted directory and execute the start script by running the following command: + + ```text + cd your-desired-directory + sh bin/start + ``` + + The `bin/start` script is a common convention for Portable App Distributions using the Default configuration. If your application uses a different configuration, start script, or command, adjust accordingly. + +9. Verify that the application is running by opening the following URL in your browser: `http://:8080`. + + `8080` is the default port. If your application is configured to run on a different port, adjust accordingly. + + Ensure that the port is open in your Linux server's firewall (for example, `firewalld`, `ufw`), and any cloud security groups or network access control lists (NACLs). \ No newline at end of file diff --git a/content/en/docs/deployment/on-premises-design/linux.md b/content/en/docs/deployment/on-premises-design/linux/linux.md similarity index 87% rename from content/en/docs/deployment/on-premises-design/linux.md rename to content/en/docs/deployment/on-premises-design/linux/linux.md index 1b68f283bc3..7f9081c39d6 100644 --- a/content/en/docs/deployment/on-premises-design/linux.md +++ b/content/en/docs/deployment/on-premises-design/linux/linux.md @@ -1,13 +1,13 @@ --- -title: "Linux Deployment" -url: /developerportal/deploy/linux/ -description: "How to install and configure Mendix on a Linux system" +title: "Linux Deployment with M2ee-Tools" +url: /developerportal/deploy/linux-m2ee/ +description: "How to install and configure Mendix on a Linux system using m2ee-tools." weight: 99 aliases: - /developerportal/deploy/unix-like/ --- -{{% alert color="warning" %}} Linux deployment is only supported on Debian 10 (buster) for the [Mendix Runtime version 9, 10, and 11](https://docs.mendix.com/releasenotes/studio-pro/lts-mts/). We will not add support for any other versions of the Mendix Runtime. {{% /alert %}} +{{% alert color="warning" %}} Linux deployment is only supported on Debian 10 (buster) for the [Mendix Runtime version 9, 10, and 11](https://docs.mendix.com/releasenotes/studio-pro/lts-mts/). We will not add support for any other versions of the Mendix Runtime. Consider using the [Portable App Distribution for Linux](/developerportal/deploy/linux-pad/) option instead. {{% /alert %}} ## Introduction diff --git a/content/en/docs/refguide/installation/system-requirements.md b/content/en/docs/refguide/installation/system-requirements.md index 81e2f9a2a99..751205c078d 100644 --- a/content/en/docs/refguide/installation/system-requirements.md +++ b/content/en/docs/refguide/installation/system-requirements.md @@ -280,8 +280,6 @@ For container-based deployments using Docker, Kubernetes, or Cloud Foundry, the * SAP AWS S3 Object Storage * SAP Azure Blob Storage -For container-mounted storage in Kubernetes, provided by an external storage class, see also [Use Docker with Minikube](/developerportal/deploy/run-mendix-on-minikube/). - ### Storage Types for Servers For server-based installations, the following storage types mounted by the OS are supported: diff --git a/content/en/docs/refguide/runtime/clustered-mendix-runtime.md b/content/en/docs/refguide/runtime/clustered-mendix-runtime.md index f8991fdb43d..a3161f06034 100644 --- a/content/en/docs/refguide/runtime/clustered-mendix-runtime.md +++ b/content/en/docs/refguide/runtime/clustered-mendix-runtime.md @@ -15,7 +15,7 @@ The main feature enabling clustering is Mendix's stateless runtime architecture. Clustering support is built natively into our Cloud Foundry buildpack implementation. This means that you can simply scale up using Cloud Foundry. The buildpack ensures that your system automatically starts behaving as a cluster. -Clustering is also supported on Kubernetes, but you will have to use a *StatefulSet*. There is more information on this in the [Some Notes on Scaling](/developerportal/deploy/run-mendix-on-minikube/#scaling) section of *Use Docker with Minikube*. +Clustering is also supported on Kubernetes, but you will have to use a *StatefulSet*. ## Cluster Infrastructure diff --git a/content/en/docs/refguide10/installation/system-requirements.md b/content/en/docs/refguide10/installation/system-requirements.md index ffc33b9d3fe..00ce106a2c9 100644 --- a/content/en/docs/refguide10/installation/system-requirements.md +++ b/content/en/docs/refguide10/installation/system-requirements.md @@ -273,8 +273,6 @@ For container-based deployments using Docker, Kubernetes, or Cloud Foundry, the * SAP AWS S3 Object Storage * SAP Azure Blob Storage -For container-mounted storage in Kubernetes, provided by an external storage class, see also [Use Docker with Minikube](/developerportal/deploy/run-mendix-on-minikube/). - ### Storage Types for Servers For server-based installations, the following storage types mounted by the OS are supported: diff --git a/content/en/docs/refguide10/runtime/clustered-mendix-runtime.md b/content/en/docs/refguide10/runtime/clustered-mendix-runtime.md index 4c5f6a1f3a4..a2b984f970c 100644 --- a/content/en/docs/refguide10/runtime/clustered-mendix-runtime.md +++ b/content/en/docs/refguide10/runtime/clustered-mendix-runtime.md @@ -15,7 +15,7 @@ The main feature enabling clustering is Mendix's stateless runtime architecture. Clustering support is built natively into our Cloud Foundry buildpack implementation. This means that you can simply scale up using Cloud Foundry. The buildpack ensures that your system automatically starts behaving as a cluster. -Clustering is also supported on Kubernetes, but you will have to use a *StatefulSet*. There is more information on this in the [Some Notes on Scaling](/developerportal/deploy/run-mendix-on-minikube/#scaling) section of *Use Docker with Minikube*. +Clustering is also supported on Kubernetes, but you will have to use a *StatefulSet*. ## Cluster Infrastructure diff --git a/content/en/docs/refguide8/general/system-requirements.md b/content/en/docs/refguide8/general/system-requirements.md index 69796550858..b54b6ba1187 100644 --- a/content/en/docs/refguide8/general/system-requirements.md +++ b/content/en/docs/refguide8/general/system-requirements.md @@ -127,8 +127,6 @@ For container-based deployments using Docker, Kubernetes, or Cloud Foundry, the * SAP AWS S3 Object Storage * SAP Azure Blob Storage -For container-mounted storage in Kubernetes, provided by an external storage class, see also [Use Docker with Minikube](/developerportal/deploy/run-mendix-on-minikube/). - ### Storage types for Servers For server-based installations, the following storage types mounted by the OS are supported: diff --git a/content/en/docs/refguide8/runtime/clustered-mendix-runtime.md b/content/en/docs/refguide8/runtime/clustered-mendix-runtime.md index 26e71ffa966..39b29e6cfa6 100644 --- a/content/en/docs/refguide8/runtime/clustered-mendix-runtime.md +++ b/content/en/docs/refguide8/runtime/clustered-mendix-runtime.md @@ -14,7 +14,7 @@ The main feature enabling clustering is Mendix's stateless runtime architecture. Clustering support is built natively into our Cloud Foundry buildpack implementation. This means that you can simply scale up using Cloud Foundry. The buildpack ensures that your system automatically starts behaving as a cluster. -Clustering is also supported on Kubernetes, but you will have to use a *StatefulSet*. There is more information on this in the [Some Notes on Scaling](/developerportal/deploy/run-mendix-on-minikube/#scaling) section of *Use Docker with Minikube*. +Clustering is also supported on Kubernetes, but you will have to use a *StatefulSet*. ## Cluster Infrastructure diff --git a/content/en/docs/refguide9/general/system-requirements.md b/content/en/docs/refguide9/general/system-requirements.md index 4785e60fe85..2e89a390fbb 100644 --- a/content/en/docs/refguide9/general/system-requirements.md +++ b/content/en/docs/refguide9/general/system-requirements.md @@ -232,8 +232,6 @@ For container-based deployments using Docker, Kubernetes, or Cloud Foundry, the * SAP AWS S3 Object Storage * SAP Azure Blob Storage -For container-mounted storage in Kubernetes, provided by an external storage class, see also [Use Docker with Minikube](/developerportal/deploy/run-mendix-on-minikube/). - ### Storage Types for Servers For server-based installations, the following storage types mounted by the OS are supported: diff --git a/content/en/docs/refguide9/runtime/clustered-mendix-runtime.md b/content/en/docs/refguide9/runtime/clustered-mendix-runtime.md index 047565ac27c..a097850d0a6 100644 --- a/content/en/docs/refguide9/runtime/clustered-mendix-runtime.md +++ b/content/en/docs/refguide9/runtime/clustered-mendix-runtime.md @@ -15,7 +15,7 @@ The main feature enabling clustering is Mendix's stateless runtime architecture. Clustering support is built natively into our Cloud Foundry buildpack implementation. This means that you can simply scale up using Cloud Foundry. The buildpack ensures that your system automatically starts behaving as a cluster. -Clustering is also supported on Kubernetes, but you will have to use a *StatefulSet*. There is more information on this in the [Some Notes on Scaling](/developerportal/deploy/run-mendix-on-minikube/#scaling) section of *Use Docker with Minikube*. +Clustering is also supported on Kubernetes, but you will have to use a *StatefulSet*. ## Cluster Infrastructure diff --git a/content/en/docs/support/deployment-strategy-support.md b/content/en/docs/support/deployment-strategy-support.md index a8c5669ba3f..0960b70a336 100644 --- a/content/en/docs/support/deployment-strategy-support.md +++ b/content/en/docs/support/deployment-strategy-support.md @@ -13,7 +13,7 @@ With our Multi-Cloud strategy, Mendix allows the apps that you build to be deplo The full stack is depicted in the table below. This indicates which components are **Mendix** supported, or supported by a **Mendix Partner** or a third party. If no support is indicated, then you will need to arrange support of this component yourself. Each of the components is described in more detail in [Components of the Mendix Stack](/support/mendix-stack-components/). -| Stack (refer to [Components of the Mendix Stack](/support/mendix-stack-components/) for more information) | Mendix Cloud | Cloud Dedi­cated | Mendix on Kubernetes - Con­nected | Mendix on Kubernetes - Stand­alone | Private Mendix Platform | SAP BTP | Cloud Foundry, Docker & Kuber­netes, Tradi­tional³ | +| Stack (refer to [Components of the Mendix Stack](/support/mendix-stack-components/) for more information) | Mendix Cloud | Cloud Dedi­cated | Mendix on Kubernetes - Con­nected | Mendix on Kubernetes - Stand­alone | Private Mendix Platform | SAP BTP | Cloud Foundry, Docker & Kuber­netes, Portable App Distribution, Tradi­tional³ | | --- | --- | --- | --- | --- | --- | --- | --- | | **Appli­cation** | | | | | | | | | | **Platform Support­ed Marketplace content** | Mendix | Mendix | Mendix | Mendix | Mendix | Mendix | Mendix | @@ -81,10 +81,12 @@ Mendix Support does not have access to app health, logs, graphs and monitoring {{< figure src="/attachments/support/sap-cloud-platform.png" width="40%" class="no-border" >}} -## Cloud Foundry / Docker and Kubernetes / Traditional Architectures +## Cloud Foundry / Docker and Kubernetes / Portable App Distribution / Traditional Architectures Mendix is compatible with all the well-known cloud providers: IBM Cloud, Microsoft Azure, Amazon Web Services (AWS), Red Hat OpenShift, and Google Cloud Platform. -Depending on the Cloud architecture a Mendix application is built using the [Mendix Cloud Foundry buildpack](https://github.com/mendix/cf-mendix-buildpack), the [Mendix Docker Buildpack](https://github.com/mendix/docker-mendix-buildpack) or to a Unix-like or Windows server. + +Depending on the Cloud architecture a Mendix application is built using the [Portable App Distribution](/developerportal/deploy/portable-apps-distribution/), the [Mendix Cloud Foundry buildpack](https://github.com/mendix/cf-mendix-buildpack), the [Mendix Docker Buildpack](https://github.com/mendix/docker-mendix-buildpack) or to a Unix-like or Windows server. + Check our [System Requirements](/refguide/system-requirements/) for the supported components of any Cloud Foundry / Docker and Kubernetes / traditional architecture. Mendix Support does not have access to app health, logs, graphs and monitoring. If you run into issues or want to ask a question on these supported components, please always provide relevant logs, data and your own analysis that explains why you suspect the issue is caused by one of our supported components. diff --git a/content/en/docs/support/mendix-stack-components.md b/content/en/docs/support/mendix-stack-components.md index a7778814183..5cd87171457 100644 --- a/content/en/docs/support/mendix-stack-components.md +++ b/content/en/docs/support/mendix-stack-components.md @@ -33,11 +33,11 @@ Mendix Support can analyze this component if your app is running on Mendix Cloud Mendix is responsible for setting up and maintaining the component, as well as applying the default configuration. This component cannot be customized or optimized for individual customers or applications outside the supported configuration options available to our customers. If it is running on SAP BTP instead, the selected third party can analyze this component. -## Buildpack, m2ee, and Service Console {#buildpack-m2ee-and-service-console} +## Buildpack, m2ee, Service Console, and Portable App Distribution {#buildpack-m2ee-and-service-console} The Mendix buildpacks for [Cloud Foundry](https://github.com/mendix/cf-mendix-buildpack) and [Docker](https://github.com/mendix/docker-mendix-buildpack) are available in GitHub repositories. The documentation for the buildpacks and m2ee tools is contained within these GitHub repositories. Because they are released under an open-source license, the code can be inspected, and the functionality and options can be understood by customers who wish to use these buildpacks. -If you want to run Mendix apps on a Unix-like server, you will need the [m2ee tools](https://github.com/mendix/m2ee-tools), available on GitHub. Read more about installing on systems running Unix-like operating systems in [Linux Deployment](/developerportal/deploy/linux/). +If you run Mendix apps on a Unix-like server using the [m2ee tools](https://github.com/mendix/m2ee-tools), refer to the [documentation](https://github.com/mendix/m2ee-tools) for more information about installing on systems running Unix-like operating systems. Mendix Support can analyze these components if your app is running on Mendix Cloud or Mendix Cloud Dedicated. Mendix is responsible for setting up and maintaining the component, as well as applying the default configuration. This component cannot be customized or optimized for individual customers or applications outside the supported configuration options available to our customers. From 7c6fb5bca8eeba8c117d531a083539ad934dcc19 Mon Sep 17 00:00:00 2001 From: katarzyna_koltun Date: Thu, 26 Mar 2026 12:28:12 +0100 Subject: [PATCH 03/15] fixes --- .../docs/deployment/docker-deploy/_index.md | 2 + .../en/docs/deployment/general/pad/_index.md | 40 ++++++++++++++++- .../general/pad/pad-best-practices.md | 45 +++++++++++++++++++ .../deployment/general/pad/pad-reference.md | 42 +---------------- 4 files changed, 88 insertions(+), 41 deletions(-) create mode 100644 content/en/docs/deployment/general/pad/pad-best-practices.md diff --git a/content/en/docs/deployment/docker-deploy/_index.md b/content/en/docs/deployment/docker-deploy/_index.md index bfec623b706..c1742a2d329 100644 --- a/content/en/docs/deployment/docker-deploy/_index.md +++ b/content/en/docs/deployment/docker-deploy/_index.md @@ -3,6 +3,8 @@ title: "Docker" url: /developerportal/deploy/docker/ weight: 60 description: "Describes how to deploy using a Docker image using a Docker Buildpack." +no_list: false +description_list: true --- ## Introduction diff --git a/content/en/docs/deployment/general/pad/_index.md b/content/en/docs/deployment/general/pad/_index.md index 7684d708efc..7ef651af409 100644 --- a/content/en/docs/deployment/general/pad/_index.md +++ b/content/en/docs/deployment/general/pad/_index.md @@ -3,6 +3,8 @@ title: "Portable App Distribution" url: /developerportal/deploy/portable-app-distribution/ weight: 15 description: "Describes the Portable App Distribution deployment method for Mendix apps." +no_list: false +description_list: true --- ## Introduction @@ -30,4 +32,40 @@ To license a Mendix app on the Portable App Distribution, add it to your configu The Portable App Distribution functionality is available for Mendix Studio Pro version 11.9, 11.6.x MTS, or above. -You must also ensure that you have the supported version of [Java Runtime Environment](/refguide/system-requirements/#java). \ No newline at end of file +You must also ensure that you have the supported version of [Java Runtime Environment](/refguide/system-requirements/#java). + +## Creating a Portable App Distribution File + +## Deploying Your App + +After you create the Portable App Distribution file, deploy it to your environment. + +### Deploying Locally + +To run your app locally, perform the following steps: + +1. Extract `..\releases\YourApp_portable_YYYYMMDD_hhmm.zip` to a local folder. +2. Set the **M2EE_ADMIN_PASS** admin port password by performing one of the following actions: + + * For Windows, run the command `set M2EE_ADMIN_PASS=` + * For Linux, run the command `export M2EE_ADMIN_PASS=` + +{{% alert color="info" %}} +The Mendix admin port can be used to fetch metrics and other runtime data from an app. It requires a password for security reasons. +{{% /alert %}} + +3. Run the app by using one of the following commands: + + * For Windows, run the command `\bin\start.bat` + * For Windows Powershell, run the command `\bin\start.ps1` + * For Linux, run the command `\bin\start` + +### Deploying to a Self-Hosted Environment + +For more information about deploying to a self-hosted environment, refer to the following topics: + +* [Portable App Distribution for Docker](/developerportal/deploy/docker-deploy-pad/) +* [Portable App Distribution for Linux](/developerportal/deploy/linux-pad/) +* [Portable App Distribution for Cloud Foundry](/developerportal/deploy/cloud-foundry-pad/) + +## Read More diff --git a/content/en/docs/deployment/general/pad/pad-best-practices.md b/content/en/docs/deployment/general/pad/pad-best-practices.md new file mode 100644 index 00000000000..a491916f44a --- /dev/null +++ b/content/en/docs/deployment/general/pad/pad-best-practices.md @@ -0,0 +1,45 @@ +--- +title: "Best Practices for Managing Configuration File Precedence" +url: /developerportal/deploy/portable-apps-distribution/best-practices/ +linktitle: "Best Practices" +weight: 90 +description: "Describes the best practices for managing the configuration order for Portable Apps Distribution." +--- + +## Introduction + +This section clarifies how configuration files are processed, particularly concerning the order of application and how to manage environment variables and custom settings effectively. + +## Key Principle + +The core concept governing configuration file processing is *last definition wins.* This means that if the same configuration setting is defined in multiple files, the value from the file processed last overrides all previous definitions. + +This principle is crucial when managing both standard configuration files and environment variables. If a custom file is processed after environment variables, its settings will take precedence. + +## Managing the Configuration Order + +To ensure your desired configuration values are applied correctly, especially when custom settings must override or be overridden by environment variables, you have two primary approaches: + +* Explicitly list configuration files: + + Instead of relying on a default include file (for example, `etc/Default`), you can explicitly list each configuration file as an argument when launching your application. + + This gives you precise control over the order. You can place your custom configuration file before files that define environment variables (for example, `variables.conf`) if you want your environment variables to take precedence, or after if you want your custom settings to override them. + +* Create a custom `etc/Default` file: + + You can also make a copy of the standard `etc/Default` file and modify your custom copy to include your own configuration file at the desired position within its include list. + + This allows you to maintain a single entry point for configuration while still controlling the order of included files. + +## The `etc/Default` File + +The `etc/Default` file is primarily provided for convenience and serves as an example. It is not mandatory to use it as-is. + +The system is designed to support multiple configuration files, allowing you to pick and choose which ones you want to use. This is particularly beneficial in Cloud environments where specific configurations (for example, `StudioPro.conf` for local testing) might be replaced with custom, deployment-specific files. + +In a typical Cloud deployment, it is often recommended to replace files like `StudioPro.conf` (which is geared towards local testing) with your own custom configuration tailored for the Cloud environment. + +## Supported Configuration File Formats + +You do not need to use the `.conf` extension for your configuration files. You can use any extension you prefer, or no extension at all. The content of the file determines how it is parsed. \ No newline at end of file diff --git a/content/en/docs/deployment/general/pad/pad-reference.md b/content/en/docs/deployment/general/pad/pad-reference.md index 5e8f6bc8d00..fcd42658b99 100644 --- a/content/en/docs/deployment/general/pad/pad-reference.md +++ b/content/en/docs/deployment/general/pad/pad-reference.md @@ -1,6 +1,6 @@ --- title: "Reference Guide for Portable Apps Distribution" -url: /developerportal/deploy/portable-apps-distribution/reference +url: /developerportal/deploy/portable-apps-distribution/reference/ linktitle: "Reference Guide" weight: 100 description: "Describes the folder structure and commmand line parameters for the Portable Apps Distribution deployment method for Mendix apps." @@ -68,42 +68,4 @@ If a setting occurs multiple times across different files, the definition from t The following options are supported: * `-h` or `--help` - Print the command line usage. -* `-J $JvmOption` - Pass `$JvmOption` to the JVM. - -## Understanding Configuration File Precedence and Best Practices - -This section clarifies how configuration files are processed, particularly concerning the order of application and how to manage environment variables and custom settings effectively. - -### Key Principle - -The core concept governing configuration file processing is *last definition wins.* This means that if the same configuration setting is defined in multiple files, the value from the file processed last overrides all previous definitions. - -This principle is crucial when managing both standard configuration files and environment variables. If a custom file is processed after environment variables, its settings will take precedence. - -### Managing the Configuration Order - -To ensure your desired configuration values are applied correctly, especially when custom settings must override or be overridden by environment variables, you have two primary approaches: - -* Explicitly list configuration files: - - Instead of relying on a default include file (for example, `etc/Default`), you can explicitly list each configuration file as an argument when launching your application. - - This gives you precise control over the order. You can place your custom configuration file before files that define environment variables (for example, `variables.conf`) if you want your environment variables to take precedence, or after if you want your custom settings to override them. - -* Create a custom `etc/Default` file: - - You can also make a copy of the standard `etc/Default` file and modify your custom copy to include your own configuration file at the desired position within its include list. - - This allows you to maintain a single entry point for configuration while still controlling the order of included files. - -### The `etc/Default` File - -The `etc/Default` file is primarily provided for convenience and serves as an example. It is not mandatory to use it as-is. - -The system is designed to support multiple configuration files, allowing you to pick and choose which ones you want to use. This is particularly beneficial in Cloud environments where specific configurations (for example, `StudioPro.conf` for local testing) might be replaced with custom, deployment-specific files. - -In a typical Cloud deployment, it is often recommended to replace files like `StudioPro.conf` (which is geared towards local testing) with your own custom configuration tailored for the Cloud environment. - -### Supported Configuration File Formats - -You do not need to use the `.conf` extension for your configuration files. You can use any extension you prefer, or no extension at all. The content of the file determines how it is parsed. \ No newline at end of file +* `-J $JvmOption` - Pass `$JvmOption` to the JVM. \ No newline at end of file From 0d839618df2acfa9539305d3ee14a5967baa2589 Mon Sep 17 00:00:00 2001 From: katarzyna_koltun Date: Thu, 26 Mar 2026 13:07:15 +0100 Subject: [PATCH 04/15] fixes --- .../en/docs/deployment/general/pad/_index.md | 2 + .../deployment/general/pad/pad-reference.md | 217 +++++++++++++++++- 2 files changed, 218 insertions(+), 1 deletion(-) diff --git a/content/en/docs/deployment/general/pad/_index.md b/content/en/docs/deployment/general/pad/_index.md index 7ef651af409..254f90aa020 100644 --- a/content/en/docs/deployment/general/pad/_index.md +++ b/content/en/docs/deployment/general/pad/_index.md @@ -36,6 +36,8 @@ You must also ensure that you have the supported version of [Java Runtime Enviro ## Creating a Portable App Distribution File + + ## Deploying Your App After you create the Portable App Distribution file, deploy it to your environment. diff --git a/content/en/docs/deployment/general/pad/pad-reference.md b/content/en/docs/deployment/general/pad/pad-reference.md index fcd42658b99..486ea9b8ae7 100644 --- a/content/en/docs/deployment/general/pad/pad-reference.md +++ b/content/en/docs/deployment/general/pad/pad-reference.md @@ -68,4 +68,219 @@ If a setting occurs multiple times across different files, the definition from t The following options are supported: * `-h` or `--help` - Print the command line usage. -* `-J $JvmOption` - Pass `$JvmOption` to the JVM. \ No newline at end of file +* `-J $JvmOption` - Pass `$JvmOption` to the JVM. + +## Database Settings + +The [database settings](/refguide/custom-settings/#database-settings) have the following parameters: + +```text +# Database configuration +runtime.params { + DatabaseType = Type of Database (*) + DatabaseHost=host:port + DatabaseName = MyMendixDB + DatabaseUserName = mymendixusername + DatabasePassword=mymendixusernamepassword +} +``` + +### Example Settings for PostgreSQL + +```text +# Database configuration +runtime.params { + DatabaseType = POSTGRESQL + DatabaseHost = "localhost:5432" + DatabaseName = MyMendixDB + DatabaseUserName = mymendixusername + DatabasePassword=mymendixusernamepassword +} +``` + +### Example Settings for AzureSQL + +```text +# Database configuration +runtime.params { + DatabaseType = SQLSERVER + DatabaseHost = ""your-database-host.database.windows.net:1433"" + DatabaseName = MyMendixDB + DatabaseUserName = mymendixusername + DatabasePassword=mymendixusernamepassword +} +``` + +### Example Settings for JDBC + +```text +# Database configuration +runtime.params { + DatabaseType = MYSQL + DatabaseJdbcUrl=mysql://db:3306/mendix + DatabaseName = MyMendixDB + DatabaseUserName = mymendixusername + DatabasePassword=mymendixusernamepassword +} +``` + +## File Storage + +The *example.conf* file in the Portable App Distribution .zip file contains example file storage settings for AWS S3 and Azure Blob Storage. + +### AWS S3 + +```text +runtime.params { + # Acts as the username to authenticate with the S3 service. + # Type: String + # com.mendix.storage.s3.AccessKeyId = "" + # Name of the bucket where the files are stored on S3. + # Type: String + # com.mendix.storage.s3.BucketName = "" + # Overrides the default maximum connections limit in the S3 service. + # The default value is enough for most applications, so we do not recommend explicitly setting this to a custom value unless a larger maximum connections limit is absolutely necessary. + # Type: Duration (use suffixes like s(econds), m(inutes) or h(ours); without suffix the value is taken as milliseconds) + # com.mendix.storage.s3.ClientExecutionTimeout = + # Sets the amount of time to wait (in milliseconds) when initially establishing a connection before giving up and timing out. + # A value of 0 means infinity and is not recommended. + # For more information, see the AWS Java SDK. + # Type: Duration (use suffixes like s(econds), m(inutes) or h(ours); without suffix the value is taken as milliseconds) + # com.mendix.storage.s3.ConnectionTimeout = + # List of keys which can be used to encrypt and decrypt data at rest in S3. + # The right key to decrypt the data with is automatically selected depending on with which key it was encrypted. + # Each encryption key consists of a key id, the encryption algorithm and the actual key (Base64 encoded). + # Type: Array of objects + # com.mendix.storage.s3.EncryptionKeys = [] + # Overrides the default endpoint. + # This setting is required when the storage is on a non-AWS location (for example, IBM Cloud Object Storage). + # Both the endpoint (for example, s3.example.com) or the full URL (including the protocol) are supported (for example, https://s3.example.com). + # Note that when setting a custom endpoint, path style access will be enabled. + # For more information, see Class S3ClientOptions. + # Type: String + # com.mendix.storage.s3.EndPoint = "" + # The value true allows the server to route requests to a different region than specified in these settings (false disallows it). + # Type: Boolean + # com.mendix.storage.s3.ForceGlobalBucketAccessEnabled = true + # Overrides the default maximum connections limit in the S3 service. + # The default value is enough for most applications, so we do not recommend explicitly setting this to a custom value unless a larger maximum connections limit is absolutely necessary. + # Type: Integer + # com.mendix.storage.s3.MaxConnections = + # Sets the region in which the S3 bucket is located. + # This will be used to determine the service endpoint, unless overridden in com.mendix.storage.s3.EndPoint. + # This setting will also be used as the signing region for requests. + # Type: String + # com.mendix.storage.s3.Region = "" + # Sets the amount of time to wait (in milliseconds) for the request to complete before giving up and timing out. + # A value of 0 means no timeout. + # For more information, see the AWS Java SDK. + # Type: Duration (use suffixes like s(econds), m(inutes) or h(ours); without suffix the value is taken as milliseconds) + # com.mendix.storage.s3.RequestTimeout = + # Prefix for the keys under which objects are stored. + # Separators are not added automatically to keys. + # For keys like prefix/key1, com.mendix.storage.s3.ResourceNamePrefix should have value prefix/. + # Type: String + # com.mendix.storage.s3.ResourceNamePrefix = "" + # Suffix for the keys under which objects are stored. + # This can be used when S3 buckets are divided into different segments for different users with different credentials (for example, store objects as [key].customer1 for customer1 and as [key].customer2 for customer2). + # Separators are not added automatically to keys. + # For keys like key1.customer1, com.mendix.storage.s3.ResourceNameSuffix should have value .customer1. + # Type: String + # com.mendix.storage.s3.ResourceNameSuffix = "" + # Acts as the password to authenticate with the S3 service. + # Type: String + # com.mendix.storage.s3.SecretAccessKey = "" + # Sets the amount of time to wait (in milliseconds) for data to be transferred over an established, open connection before the connection times out and is closed. + # A value of 0 means infinity and is not recommended. + # For more information, see the AWS Java SDK. + # Type: Duration (use suffixes like s(econds), m(inutes) or h(ours); without suffix the value is taken as milliseconds) + # com.mendix.storage.s3.SocketTimeout = + # Set this value to true to use the configured CACertificates for the connection to the S3 service. + # Type: Boolean + # com.mendix.storage.s3.UseCACertificates = false + # Lets the authentication policy use Signature Version 2 instead of the default Signature Version 4. + # Set this setting to true when the endpoint does not support Signature Version 4. + # Type: Boolean + # com.mendix.storage.s3.UseV2Auth = false +} +``` + +### Azure Blob Storage + +```text +runtime.params { + # Account key to authenticate with the Azure blob storage service. + # Type: String + # com.mendix.storage.azure.AccountKey = "" + # Account name to authenticate with the Azure blob storage service. + # Type: String + # com.mendix.storage.azure.AccountName = "" + # Set the blob endpoint. + # This setting is required when authentication by SharedAccessSignature or UseDefaultAzureCredential is used. + # Type: String + # com.mendix.storage.azure.BlobEndpoint = + # Name of the container containing the blob. + # Type: String + # com.mendix.storage.azure.Container = "" + # Indicates whether to check if the container exists, and creates it if it does not exist. + # Type: Boolean + # com.mendix.storage.azure.CreateContainerIfNotExists = true + # Maximum number of parallel multi-part file uploads/downloads. + # We advise not changing this setting unless you experience slow file transfers for large files. + # Choosing larger values will lead to higher memory usage. + # Type: Duration (use suffixes like s(econds), m(inutes) or h(ours); without suffix the value is taken as milliseconds) + # com.mendix.storage.azure.MaximumExecutionTimeInMs = + # Sets the maximum execution time (in milliseconds) to use when making this request. + # For more information, see the Azure libraries. + # Type: Int + # com.mendix.storage.azure.ParallelismFactor = 5 + # Provides delegated access to resources in your storage account. + # For more information, see Shared Access Signature on docs.microsoft.com. + # Type: String + # com.mendix.storage.azure.SharedAccessSignature = + # Sets the amount of time (in milliseconds) to allow a call to the storage service to complete. + # For more information, see the Azure libraries. + # Type: Duration (use suffixes like s(econds), m(inutes) or h(ours); without suffix the value is taken as milliseconds) + # com.mendix.storage.azure.TimeoutIntervalInMs = + # Enables the use of the credential information present in the running environment. + # For more information, see DefaultAzureCredential on Microsoft Learn. + # Type: Boolean + # com.mendix.storage.azure.UseDefaultAzureCredential = false + # For enabling or disabling secure connections using HTTPS. + # Can be true or false. + # Type: Boolean + # com.mendix.storage.azure.UseHttps = true +} +``` + +## Certificates + +The *example.conf* file in the Portable App Distribution .zip file contains example runtime settings for certificates. + +```text +runtime.params { + # A comma-separated list of paths to CA certificates. + # Example: D:\App\CA1.pem, D:\App\CA2.pem, D:\App\CA3.pem, D:\App\CA4.pem + # Type: String + # CACertificates = "" + # Comma-separated list of passwords for Client Certificates (should match the ClientCertificates order). + # Example: pwd1, pwd2, pwd3, pwd4 + # Type: String + # ClientCertificatePasswords = "" + # Only use this when you have multiple client certificates and you want to configure specific certificates for specific servers. + # This setting defines which service must use which client certificate. + # See NoClientCertificateUsages if you want to make sure that no client certificate is used for a certain host or web service. + # The value of ClientCertificateUsages must be a comma-separated list of key/value items. + # A key/value item must be specified as "identifier": "path to certificate". + # For web services, use the imported web service name as the identifier. + # For REST services, use the host name of the remote server as the identifier. + # Please note that any backslash in the path must be doubled. + # The whole value must be enclosed by braces ({ }). + # Type: Object + # ClientCertificateUsages = {} + # Comma-separated list of paths to Client Certificates. + # Example: D:\App\Mx1.pfx, D:\App\Mx2.pfx, D:\App\Mx3.pfx, D:\App\Mx4.pfx + # Type: String + # ClientCertificates = "" +} +``` \ No newline at end of file From d763c9900785de16e23157f80716a8068b9c18b4 Mon Sep 17 00:00:00 2001 From: katarzyna_koltun Date: Thu, 26 Mar 2026 13:20:32 +0100 Subject: [PATCH 05/15] updates --- content/en/docs/deployment/general/pad/_index.md | 3 ++- content/en/docs/refguide/general/mxbuild.md | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/content/en/docs/deployment/general/pad/_index.md b/content/en/docs/deployment/general/pad/_index.md index 254f90aa020..57a25775b4a 100644 --- a/content/en/docs/deployment/general/pad/_index.md +++ b/content/en/docs/deployment/general/pad/_index.md @@ -5,6 +5,7 @@ weight: 15 description: "Describes the Portable App Distribution deployment method for Mendix apps." no_list: false description_list: true +beta: true --- ## Introduction @@ -36,7 +37,7 @@ You must also ensure that you have the supported version of [Java Runtime Enviro ## Creating a Portable App Distribution File - +In most production environments, deployment packages are created by using the [Mx-Build](/refguide/mxbuild/) command-line tool. However, you can also [manually create a deployment package](/refguide/create-deployment-package-dialog/) if required, for example, for a local test deployment.. ## Deploying Your App diff --git a/content/en/docs/refguide/general/mxbuild.md b/content/en/docs/refguide/general/mxbuild.md index 5fe988e5a87..b789163f211 100644 --- a/content/en/docs/refguide/general/mxbuild.md +++ b/content/en/docs/refguide/general/mxbuild.md @@ -68,7 +68,7 @@ Command-line options are described in the table below: | `-h`, `--help` | Prints a short description of the MxBuild and a list of all available options. | | `--java-home=DIRECTORY` | (Required). The directory in which the JDK is installed.
For example, `--java-home=/usr/lib/jvm/java-8-oracle`.
For Windows, *DIRECTORY* should be enclosed in double-quotes `"`. | | `--java-exe-path=FILENAME` | (Required). The full path to the Java executable.
For example, `--java-exe-path=/usr/lib/jvm/java-8-oracle/bin/java`.
For Windows, *DIRECTORY* should be enclosed in double-quotes `"` and must contain the complete file name `...\java.exe`. | -| ––target=[package|deploy] | `package`: default if option is omitted; creates a deployment package (*.mda file*).
`deploy`: deploys the app without making a deployment package.
`sbom`: generates a [Software Bill of Materials](/refguide/sbom-generation/) (SBOM) in the CycloneDX format for the app. | +| ––target=[package|deploy] | `package`: default if option is omitted; creates a deployment package (*.mda file*).
`portable-app-package`: creates a [Portable App Distribution](/developerportal/deploy/portable-app-distribution/) package
`deploy`: deploys the app without making a deployment package.
`sbom`: generates a [Software Bill of Materials](/refguide/sbom-generation/) (SBOM) in the CycloneDX format for the app. | | `--loose-version-check` | Creates a deployment package from an app which was created with a lower Mendix version.
The app will be upgraded to the MxBuild version before the deployment package is created.
Any changes included as a result of this upgrade will not be stored in your app. | | `--write-errors=FILENAME` | Writes all errors, warnings, and deprecations encountered during deployment of the app to the specified file in JSON format.
This file is only written when the app contains errors.
If the file already exists, it will be overwritten without a warning.
For a description of the format of this file, see the [App Errors](#app-errors) section below. | | `--generate-sbom` | Generates a Software Bill of Materials (SBOM) file as a part of the `package` and `deployment` targets. The SBOM will be included in the deployment package if this option is used and is saved under its default location: `deployment\sbom.json` | @@ -79,7 +79,7 @@ Command-line options are described in the table below: ### Options When Creating a Package {{% alert color="info" %}} -The following options are only applicable with the `--target=package` option. +The following options are only applicable with the `--target=package` or `--target=portable-app-package` options. {{% /alert %}} Options when creating a package are described in the table below: From fa3c07b18b4c9fa2771be6eaa95f85272ac86365 Mon Sep 17 00:00:00 2001 From: katarzyna_koltun Date: Thu, 26 Mar 2026 13:29:55 +0100 Subject: [PATCH 06/15] fix build errors --- content/en/docs/deployment/general/pad/_index.md | 2 +- .../en/docs/deployment/general/pad/pad-best-practices.md | 2 +- .../cloud-foundry/cloud-foundry-deploy-pad.md | 6 +++--- .../docs/deployment/on-premises-design/linux/linux-pad.md | 4 ++-- content/en/docs/support/deployment-strategy-support.md | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/content/en/docs/deployment/general/pad/_index.md b/content/en/docs/deployment/general/pad/_index.md index 57a25775b4a..6f894022947 100644 --- a/content/en/docs/deployment/general/pad/_index.md +++ b/content/en/docs/deployment/general/pad/_index.md @@ -1,6 +1,6 @@ --- title: "Portable App Distribution" -url: /developerportal/deploy/portable-app-distribution/ +url: /developerportal/deploy/portable-app-distribution-deploy/ weight: 15 description: "Describes the Portable App Distribution deployment method for Mendix apps." no_list: false diff --git a/content/en/docs/deployment/general/pad/pad-best-practices.md b/content/en/docs/deployment/general/pad/pad-best-practices.md index a491916f44a..259b16d1c30 100644 --- a/content/en/docs/deployment/general/pad/pad-best-practices.md +++ b/content/en/docs/deployment/general/pad/pad-best-practices.md @@ -1,6 +1,6 @@ --- title: "Best Practices for Managing Configuration File Precedence" -url: /developerportal/deploy/portable-apps-distribution/best-practices/ +url: /developerportal/deploy/portable-apps-distribution-deploy/best-practices/ linktitle: "Best Practices" weight: 90 description: "Describes the best practices for managing the configuration order for Portable Apps Distribution." diff --git a/content/en/docs/deployment/on-premises-design/cloud-foundry/cloud-foundry-deploy-pad.md b/content/en/docs/deployment/on-premises-design/cloud-foundry/cloud-foundry-deploy-pad.md index 0bc32c59640..a12417de13a 100644 --- a/content/en/docs/deployment/on-premises-design/cloud-foundry/cloud-foundry-deploy-pad.md +++ b/content/en/docs/deployment/on-premises-design/cloud-foundry/cloud-foundry-deploy-pad.md @@ -17,20 +17,20 @@ For information about the scope of support, see [Support for Different Deploymen ## Prerequisites -To deploy your app to an on-premises Cloud Foundry configuration using [Portable App Distribution](/developerportal/deploy/portable-apps-distribution/), ensure that you fulfill the following prerequisites: +To deploy your app to an on-premises Cloud Foundry configuration using [Portable App Distribution](/developerportal/deploy/portable-apps-distribution-deploy/), ensure that you fulfill the following prerequisites: * You have access to the Cloud Foundry organization and space where the application is deployed. * You have access to the database configuration from the database service. * You have access to binding other required Cloud Foundry services. * The Cloud Foundry CLI is installed. -* You have generated the [Portable App Distribution .zip file](/developerportal/deploy/portable-apps-distribution/). +* You have generated the [Portable App Distribution .zip file](/developerportal/deploy/portable-apps-distribution-deploy/). ## Deploying an App with Portable App Distribution To deploy your app to Cloud Foundry, perform the following steps: 1. Log in to Cloud Foundry, and then access the organization and space where the application is deployed. -2. Save the [Portable App Distribution .zip file](/developerportal/deploy/portable-apps-distribution/) to an accessible location. +2. Save the [Portable App Distribution .zip file](/developerportal/deploy/portable-apps-distribution-deploy/) to an accessible location. 3. Create a *manifest.yml* file in the root directory of your app. By default, the `cf push` command uses the *manifest.yml* file in the app directory. To specify a different location for the manifest, you must pass its local path to the `-f` flag when you run `cf push`. diff --git a/content/en/docs/deployment/on-premises-design/linux/linux-pad.md b/content/en/docs/deployment/on-premises-design/linux/linux-pad.md index 47e4688d19a..c66c3dd9878 100644 --- a/content/en/docs/deployment/on-premises-design/linux/linux-pad.md +++ b/content/en/docs/deployment/on-premises-design/linux/linux-pad.md @@ -17,11 +17,11 @@ For information about the scope of support, see [Support for Different Deploymen ## Prerequisites -To deploy your app to an on-premises Cloud Foundry configuration using [Portable App Distribution](/developerportal/deploy/portable-apps-distribution/), ensure that you fulfill the following prerequisites: +To deploy your app to an on-premises Cloud Foundry configuration using [Portable App Distribution](/developerportal/deploy/portable-apps-distribution-deploy/), ensure that you fulfill the following prerequisites: * A Linux environment. This can be a virtual machine, a physical server, or a cloud instance (for example, AWS EC2, Azure VM, Google Cloud VM). You will need `sudo` or `root` privileges for some commands. * Java Development Kit (JDK). Your application requires a compatible Java runtime. For installation instructions, refer to the following sections. -* Your [Portable App Distribution .zip file](/developerportal/deploy/portable-apps-distribution/). +* Your [Portable App Distribution .zip file](/developerportal/deploy/portable-apps-distribution-deploy/). * A method to transfer the .zip file onto your Linux machine, for example: * Cloud storage - If your Linux machine is in the cloud, you can use the cloud provider's CLI (for example, AWS S3, Azure Blob Storage, Google Cloud Storage). diff --git a/content/en/docs/support/deployment-strategy-support.md b/content/en/docs/support/deployment-strategy-support.md index 0960b70a336..6cf02ef1b86 100644 --- a/content/en/docs/support/deployment-strategy-support.md +++ b/content/en/docs/support/deployment-strategy-support.md @@ -85,7 +85,7 @@ Mendix Support does not have access to app health, logs, graphs and monitoring Mendix is compatible with all the well-known cloud providers: IBM Cloud, Microsoft Azure, Amazon Web Services (AWS), Red Hat OpenShift, and Google Cloud Platform. -Depending on the Cloud architecture a Mendix application is built using the [Portable App Distribution](/developerportal/deploy/portable-apps-distribution/), the [Mendix Cloud Foundry buildpack](https://github.com/mendix/cf-mendix-buildpack), the [Mendix Docker Buildpack](https://github.com/mendix/docker-mendix-buildpack) or to a Unix-like or Windows server. +Depending on the Cloud architecture a Mendix application is built using the [Portable App Distribution](/developerportal/deploy/portable-apps-distribution-deploy/), the [Mendix Cloud Foundry buildpack](https://github.com/mendix/cf-mendix-buildpack), the [Mendix Docker Buildpack](https://github.com/mendix/docker-mendix-buildpack) or to a Unix-like or Windows server. Check our [System Requirements](/refguide/system-requirements/) for the supported components of any Cloud Foundry / Docker and Kubernetes / traditional architecture. From 1e48430fdac91233c7de5df7cd0aac9e2967da3b Mon Sep 17 00:00:00 2001 From: katarzyna_koltun Date: Thu, 26 Mar 2026 13:53:08 +0100 Subject: [PATCH 07/15] app menu --- .../create-deployment-package-dialog.md | 26 ++++++++++++++++++ .../create-deployment-package.png | Bin 216278 -> 37794 bytes .../create-portable-package.png | Bin 0 -> 17781 bytes 3 files changed, 26 insertions(+) create mode 100644 static/attachments/refguide/modeling/menus/app-menu/create-deployment-package-dialog/create-portable-package.png diff --git a/content/en/docs/refguide/modeling/menus/app-menu/create-deployment-package-dialog.md b/content/en/docs/refguide/modeling/menus/app-menu/create-deployment-package-dialog.md index c597c98ebe4..42d637d824e 100644 --- a/content/en/docs/refguide/modeling/menus/app-menu/create-deployment-package-dialog.md +++ b/content/en/docs/refguide/modeling/menus/app-menu/create-deployment-package-dialog.md @@ -23,6 +23,32 @@ This is the uncompressed size of the deployment package (*.mda* file). You can f Unfortunately, from the error shown on the log during deployment, it is not always clear if the package size is a problem. But if you have issues deploying your app, the package size is one possible cause. {{% /alert %}} +## Portable Package + +Here, you can decide whether you will create a portable deployment package. + +A portable deployment package bundles your application code with all its necessary dependencies into a single, self-contained artifact. For more information about portable packages, see [Portable App Distribution](/developerportal/deploy/portable-app-distribution-deploy/). + +{{< figure src="/attachments/refguide/modeling/menus/app-menu/create-deployment-package-dialog/create-portable-package.png" alt="Create Deployment Package dialog with the portable option selected" width="500" >}} + +{{% alert color="info" %}} +Unlike regular packages, portable packages are created as .zip files, in order to make their deployment more convenient for cloud environments. For more information about the structure and contents of the .zip file, see [Reference Guide for Portable Apps Distribution](/developerportal/deploy/portable-apps-distribution/reference/). +{{% /alert %}} + +## Options for Portable Packages + +If you are creating a portable package, enter the information outlined below. + +## Export Secrets + +If you toggle the **Export secrets** option to **Yes**, the created package will include passwords and private constants. Enable or disable this option as required for your application + +## File Name + +The **Disk location** section displays the location where the deployment package will be saved. This is shown in the **File name** field. This is not editable. + +All packages are placed in a **releases** directory inside your app directory. This directory is automatically ignored so that these packages are not committed to the repository. You can always recreate a deployment package (using the Studio Pro version you originally used), so there is no need to put them on the Team Server. + ## Versioned Here, you can decide whether you will create a versioned deployment package. diff --git a/static/attachments/refguide/modeling/menus/app-menu/create-deployment-package-dialog/create-deployment-package.png b/static/attachments/refguide/modeling/menus/app-menu/create-deployment-package-dialog/create-deployment-package.png index dfcd33b25a67877a304ce8b2219b201c09dbd647..8507048bf5c12e356fc632dabba02d33dc598697 100644 GIT binary patch literal 37794 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 literal 216278 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 z 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 diff --git a/static/attachments/refguide/modeling/menus/app-menu/create-deployment-package-dialog/create-portable-package.png b/static/attachments/refguide/modeling/menus/app-menu/create-deployment-package-dialog/create-portable-package.png new file mode 100644 index 0000000000000000000000000000000000000000..140fe19c482804a09c73c5493bd42e08ce22d64c GIT binary patch literal 17781 zcmbWfby$^ew>7#136&J28wC|fk&u#BX;Dy8QW~Tikp>YJ6{SnMn?;wDAdRr-kaE$T zXD)y5{;qHD>+E;$bGY~eRy@xgGsYZq+)s$AvOM8Mnu`bog7Cq8nMVi&mK_3djuamk zUO7^aZa^SpMIXpWK6ceZkNY^P5BqW-=KJ_E<0|l-N@6t^T9Oi&JPb2pp;UP=N$>!V zl19nwsY}4ciKgs1wJ%fOhnEyDV+l4~F?x~sqsL?q_u81|YQRlt3l;6Vk&b!As&>r; zE@~FRI>Kxcp$$(zH*uqm*N<37MHZ|W+l$_Z<4pe4(o3w_JMg;dRk|nqsPXt<3or3~ zZ0wu%NOq$}{|omYJdk|!=tJ3I9zRbaN>+xy!?Zg#lVV(h(dW2O%dzwD=xC6Ig=Oh` zIPK!vn!LU~BbR>do6}S8t5>hK9iF#-rJ$f7?e2cJJ6`Y6Tkk6^8mbNypLF4(kxw$sA1{r_%iNnLg z^;U^fQZFyBWl_w>7X_A9R-`>VMDq0O-fnL@5)cqD@d^u5FD)&l*oWhh!cU8wygc3y z)7xx{Utalt`0&BEGm3lm&q%R_2um`GW$cdKw{PDp)D#1>+46l^lQ&p6I4<3|apV5e zBIEY@gwt*I^L~=0grvRJq+IpmL$lg&9Tpk*A!q!B zEiW@mDKNL;IiyP}W$z#DwcgLssl3dt68|_XBsf@3x8xkxsI$?$ zFCIgE)mm-X%#2~_!<$@O-!cE-F}U8#r72|gm?B~j4Q>geWMyZU*W7I;Q&}7hf2^)f z79A6_@u&D_))RwVxF~n^I@a&581_!(c+rr1Om+&C!V$*0-$Q!^ES(%3+l)$JT%xz2yg6v?haH2T>Ok9fIE;g)>KaJR>N$0suj3z`xl{M?}Hlt)IbZ|O1r^LKT8;wZEn z=2DCiAf#`iYaHrU7}r4WW^R$At_>-b^naEVo|rjX7A-+Z$;ddeTUc4i$jahOxXu!i zQ&L7~xstKqR*a45#EQ5ma}JRpl$~Qr&WcNf_%gk?>S|ugb|R_7-ve^R89@5350j(LI=B zdT(GwFM%!9&HB>va#j%$ZO)!M&Uv$$QJXP?BODK!`xezI7)*UO1L{vDf zXdqqoN4AZHVpP>mLUgSUvJCnUCKb? z^fM4=57O-3{SJ<0HCCY}NN(+TZ13RU)T%F1m-O}=DQRz9Msacf`dJ|bZ@pWMp02Gr z|1KJpzLM)U6T)t{J|$`V;zeiCB}%T0$Oo{9f+u!)tyFivh3uy4-);4-{vf0km>S4bN4iU*iqouJrs~fZ7+NS1H(alM$V^|Ht3jy?#szb@_52Dio~~>F8_l{b z%)!YS&|=t|d!{P0xXe>A%|usdV@U0L@7_=*D!uzQ*s_Y)4taERbR$FEiv%wXm+I1F z;lHEAx>J22g?c9NnC87mc!lrts|^YY{-i1EF6Ea6x$H7N1_uYOVB(aO0P0;`0n_N4 zsC-hlDPO$xn8{;PRoDK@`n;QqDG@VG#1fCQgRI-~Nt4zoxb=Q8T$4?mHe+E)zMp*J zmIJ}<6S2fGiF1{hm8*0Hd$&z_>(%NDe|%}v{F3z3eu1Y3FT6}A5qy9zp0M`W`+^^& zvOtPKZeG}B(%$_B=EsnSlZBcQ@|Ya)f@%tr>t+bB>ELa(Sc6xr@OJ2JNJjAUlI?GZ zRQ17yXdfK>ojt6j5%Lgx-?iy~_5DCdO2NU`yLsyWrb}wvzh4&mFJD&t;eDwzFOP_t zn%aWb!omWRp$y?JEHvkeN9d{$>_T)zC(u`$oH*sT5OvBM(~ew)ifa~At51O&)@ro zB)97r*%QWg&cALq#zM@^&o5zVU%hkZP5}zN88ICWtF-8l!Z3wM%*`c)+v4N;Avde5 zMGwxhvTp95cq8udP&J2M;o#@Q>;yi7O*vLb;9Op2<^@?nV_J@Bgjh#oD9@)@{@w0X(_Z7e*x1;@C134AL!8mk(SNPC zuNtA<=$fyQ3N4IU&FW1%$xY1g2|1&G+%c8Tz)YN6w zRW4@XJd3G#S$av(T>|0?;=`kK7Pm*ZT!)i#YdDN~JD$k`%wUq2{tlV$s_5Zj3N}O~ z^%ckDuheQesir?$Y9dal+V_mHs8q9^F5as75;GX|RsHDQM|{u2k@F?7HE$P+5zyET%W(kz|FV^ z?SdO|cpmGyuNi)P8I8C>X3JvTsHB)+Pq>vnSs$Cv+3@xBs0Y255qTM+s5T6;q@?7R z9=4{wK5;pU^X%cnhXZW9#im^}LUGEaR8+|}C7(WiOsuWd<4n5_W0y5;m%GX&nM-5* zb?3IHllwj~1F`Z-%i-FoaN3+ivIeYvOU)NtAw))QZos&WytOr_fbB$%264!_#Z{-Z z6p6PttFJtDXAKmbKBvxDds4&5!fR5bB?}uhY{)R>&no|x2{MBPH{H1KqrMmZd2Y0$ zV>#lb*K@d480-DtaA&r_roOZuz>0k+Qk_LV;dnRBb+vNA_yE9|LE+OW=c+;&e9p6C zwwZ#Q{v`r!_TYo;&Y`UQ{9#T7U3s;c2l|YQu3xODus*a9_&nCvlIXmN&(`~ADSI4tsCShu7+S*}gR5^CE z6L{d$3Oiyp4G^GE>P=$IUuew*+Jn`}p6J;R&lSIoZmt0t=Hhgr2%aIz2k_K3l`4T{xk@GBO znYSn|K|z(Hk$uYpYypNp@7Y`;EG)dZx;mtoyRdiUw30{I;_{)EOTuPX_i-4ZSI?D$ zU5i}eyOF&pH!V&!a9B%TV!LUxAjK#s-^$7abiITq!f?bV7sReZ=tUxrk3A23(C>0J zTwDZUv+{1yp^vQvXqDsc;$#nIU9w1CP`xEzr7H!H0qL|-U^T*5sb^aJ47U`lOjvPr zVBl(yI_W5p+QQbsyMzRZ49yK?r`<`t$6*9%_%wb!z^Vw>}PRRJWsQn!NTY3?;1q^`H1=~y+ z^DejFYKr^4`IQwveqZ0BFv&;Ux-qC>T{_bT`Q>#@5UST}=G9+M-P>2!Vg^S6JMeQ~ zx4|n%(HAo>y7FH;BQ+M=bh)qmRdmiPvt>`W5nLA&hEn~1=DQsw-lneGKd>aQ1s`&O z1T!)+LSWbEdckf+s}jtACTDST$noibcw1W@9g4x|GAL+ z@uGweA~`EIH;xvorlf5b%!y(yld9>2vN`b9n~!xP7KS|QVk*2bNqkkj*O=>{{QdH3 z^p8(*abg03e?f)XpMRg;|GO0M@3FzY(JsHux745amiamQHtRxYHLL7W_HLJ6Krr2K zy7__KWGea0dRuROTI(mf1sQ;X3KFH?9o^lguTnPH?|5*ndTqDfuVp8zf2EbH{(Pwg zvvRScL8&rR{Xf|f=l?hz@A_D^&fk_F_zku(tHuA712FLeNC{D8I<=n9a{HIo)>{29 zkPR3nf4O}!a#K%lHC2X_!QtAq zYZ>|ZnqfB{?uj4HW;AO1eiJlwC1c>(nMO?>F<(|^%l>;A&fn+WnqB=jIe;@wkQXl7 zG;crM_MV%I!RH^>S9|vC0>Z9p920@f&2J!>ASQz+Bc7L|occK-kcm?`Sq|ki#0ooL z;#}O9iM74Xd3^AWgM$OaE2vxzz@_e)>9#nAhldxH_hbOYA_kbFz;0SblfTZ)ibyf@@swbOlH0L>`^utO+62RrdytNqS+qpEb^IC8`uAHm}*a7 z86MLDYh%pallQFhs*peKF)^Vy^=s)c)1sGs_c8gi|ECXB2i=czQ_nLo^FI4OVQ|!P zN=6mnV-fp958bgsqgLY>$UU9$+{GgVQJvRNA?D3aHr{pm!=04faP8-XPmOuVZ&8GC znX&M%0Sc_%8PZ0Uy)F|S+s;~DwSnOCqu}lKVbv+V%*zv6gy->y3?y_F?zF_U*DC+# zu5!s2v{PDa%4eZqg8eHBQu=6lCi5%ISvNdQ(|WQNlVc&t;fnDM4bQiB)rLWcB1W=I z>gDc8zTk5gQOW)X8Yp7vz=nYV`u5zhlG4+QKR$E#DTY@!N$l^QM@JNtL)K3fkZSg4 zyo$24wA9`WiY3b5=j$dVGRnK}S1dI>g9SeJmZ;M(!GCdvmMv}T32}&gc_@{oCEAw2 zl{Q5w;lsK7{5}LRZbNS}zls9JB<4piizNZY0(vTN+cI?{^Bb}H+?3{f53w?o8`*DR z%l4{4iC}bPyqS=AS&6{VP0HFjm%w+Fffrp=ib|{rk*pCm%2fsF>EsUlkbQRBjJwO7yAH~PoNcN`Oh5(U_yWEqA)Okl@v zb4@w+^}r82-j~r=B43F6(`sT>c+X?u=B;>)UH-t%;tT)MCo z)H5${ME_{{TUqhHm5HphvHV+(vDCnjGCbdNW3YJmzk=|8Eu#MaMOj0dspaKm0D1EX zU8d?WZxo1vu$9x*IT@bVlxuU+2!JO+0aE%!&evIABu*I$F($`u+PH;L0izbv;+DDU zP(j10aT`IXyWlzlY(|FsyLC;|uTW??UEMev6cl5In`03zD~=Tl^{y04Lb6$5FUn`V zl<%vkV36F#Oc;086T~asD(8S)G7QrjC*qRT;!^q-@@8iG0_0UvA_U%Uz#=pWlGTpFJ%dj&5tCgIQalec#;SoI%UPng<0->v`3k9d(Er+Uc z`)F8b;7T5AXmpqat9)~Ea%yX9Lm;5|8~MKE2=q>3Mh3oKKIP!xAhJv^U$eX4>>$go z^JUeznVH$UenFV*y#2YP9g3s+l^wWI+j_q{++36)A~wkR6fOtDlvYzCrJ4fq+BO{|H*9a(cL}Eb!30vd^#FTyI+{uj_ptduZFaQq+}=@dU*GG-#>Rq$rx1ihRS<0lmW*L%lvl1atnJPABuOKC z&%dl5uoi=IckcwL!e?vgKo-WXA-YP6p9Ad3m1~!k=%ur-<#b)_7kS zoey?k8!MDF(+<+Y+o>e@7T3#H+8;7|b@W~_(R4SvllCC;{+ilNYg)6nCaGw9;0SKr zI*+KFkXt|mKGocz8xWry7*dlP*pPgt0tm;2pQ$QdRJU2sP>xLk4@w%+)AnHTN*w_0MxDAH$bcHgp1LH^47! zhKd!hDCGC~2Em*CyHL%{w+r5~UW>;UG!*U;ZD?_HuF|bt#PgFJ5#Z)lDZ8yzn*|=G zY{~c4aYgOvQ+!Ccfq}TsRsk44CtINa6YKBN|D%8aGNm9WFw}o}*ZW0wR6~OeWj?viiuOSBL#hS?f?uAmibd5(Bn?;8CCpME zoxla18{H#}F(tHSq6Rz8~HK96+{Y#xy` zJ2E(UE#iTm9)qViBZ>Ql3pGJ*h&AO=S#>pFcioK4%=g?=GdiUxG{&{j+AoQQ1_l7-Z)K&q5NJak0;>gjoPx2x1`RM0VhIP40ChFRKatn=v%Au1UEX!OLic*Ie< zbN9NQ3(4;t1%;}*(uLUG!oq;pSCOKez}LXSy<9+GRXk+<_wPM`~*4pxiAg;u|L$qer$?K&XtzZ+LFk z<76*qVr^{=&A)&yQ)wP586GNs2wH;{gHAOT`g26|cT+E!j*|T{=3COUD|M3V)D)JY zq=2ksY;0U_QQC2rS06x@eyW4LeNRsh6H3ONSI$hUVRoZU#RA_tinMMr-@}ixGq@!0 zwQFOj^OY-C?8i$VDkx0vxDOgW5BAC*cLuDJJ$Nyq)$h%lHwD~_T5=0SQVIAig_f3< zk-qX^z~4N!9?N=o6Gk~#l^$JXWtA3JX-+rZ=}O7Wd{FkYv(vA2w%0o0mrdQI?S7`$ zbtt9Ve*Pq`vTYGwr2hSl}bdKkdm_YdT>sRE#&i3{c*g;e6 zg_-iY6Hbz4$yh#4>v@Jtv$GY-)FToAbI408puOZ)8W8xXJ&_VmyBn6&EG4Ai!=#@ON zfnpZ-{FazwG?ROOOTwtSXmplTlytC(i<48PQXqMkgA4&PN?Pox(Y3LaD(IoDotrlE zGpyM1$XHO}Klvd!|>9sdqHF?4%ezL7j-Rz&MT|NVC^nxIFB$qDo>PlZ+w#$nEvgX ztYCtjfozZW<&qIASn%FK+Lx6&5SSq^eoXk7tgES#A$aQ%rMMKzfPXB=;E%_r&Uq;% zrEmikCH@8FlIBY}z2d>U$245%LyNr!nwrD!77$WmejFM((AV20_|Ed!+0l`J=22*X zS+`$VS()TQbnC37w|8xx=%|APUE$ez^qI)ryN(bR57@!{4;o~3*X*!-U*+ZQpXJ7? zOhaG2iTNo8^$kl)Xh3JS+Su^==!yQ5C)b+p^H2?VE%pr&wip%yGm1!ZcyKb6H_iw= zx?j9zuedz8jB$^e$3~+y<;UUKq;BFAC&InMRr^X@u_*uNJi*aDf-=FgmsgJ&mJf_d zY=OHnXbsX(Q6av2_ilmX(jz(%XT{vWc4Mg*FW3=Nw3GXRt6Bx!-OAPbGht7woO9^{ z#e7bW6Agy!FjS%F){onp6)<3+1WE7-i$hmXkHy5q7SZTIoUx7P1K6>xv%bLijmKyu zqkwqA(4!0ytpx;0kqMqNvkiMsz`o|X5{4!i7_@;rp5a;3Gamil5aBRYd;7P zbTA8ylF?0NxTLa(3lLpjfiRtGip zF%p7TJ?_EN!`7&>>3$W7L8bJaO5nlW!G{l6(h5yeXQ=y48*{C~xpTQU_oY8q^;>d;*`E;A7v#IM&r;De-Ia?&V^=&x2w%i44MBNWR8%Bahxazv zOtfN<`B`!mb%Mk!F*NeV-_u2lY>)9$eYl2! zZgXM9_Ak*5xwO3r+$bPwbk(B7^xu4-KAgGX`WX6YCyyRrT5lV-(*E*x!E*XPYUP@j z96KfrSC*Hh+}wn%1Zbg7GmgPPjJ5YK@5VuF@a>%cuthp4s;jBV?$e|!;`QXor(;fm zy2%Kz)n8TuLQ)dDoXc-MXU0(^O^RJvVe(#4|DkSY>D`f;mS)<+eJ$8FGw`?Il1$b8 zqlRg_Hj~g33L77)-15Y66{v-vgP&Ko`^&XPugMmdc$jU>IU5}l9X(|yH21S1*oe6s zJE+O`InVWS*>U#S>6q`(JhLeW>PWFpF14uWvUeRLfJo%JhPpcTU+nu9mNZzx>Q*3s z>2%k;{Zg7HDx}PCQNy3AYMjf5SosNnv4g0ub}jX_Qfw!a!9! zodG+h3pcX;D$1-Wrq?<9X!1Hq*5Aw>e2+cN*39fx|5UjqjJ@sY53JY@i_*rGon`kd z&;S5RaYCPu=}KFO9KW)&29QJZLRQmRm0SHqLI;uk8g9>fA&V#~qz` zgC0UR*dfT0#OCX33RnNoqT{M z9ZAU~jDhs;7wA}8Qj>^*w(t0)jw-)>!vSt$w;%wun)I2H5YSsp{^$|VM>5mlTCcVa zJgUrBP17Lm!l=B@>McD)*?4AT1;mgS$AMT-UTDEOCyx~^_G z^hIE%;0GV0qE-SQ%6`er%aa4km`@gyO8QB9NUHaeF#bKrV1(C_f-RStiw4$NFoZx_ zPLAU4O*c^n;Ti$gN*ylOnh8l1yV)Mz#{d>^v>xS@p*GbDCD8fPRA@~pi4Ma9Ic#W97KjUEq}NMHtN$Vw_fH5OSvRv4d;v#u@Hp+F5ttk z9eTixr@18c?UR~kM8n5t7_rCb6SJ}&3d-CaP`!isNV$l`-xzZ}UN*8)=%3bn(7)Ff z{15%(OF#Z6=zPaJ{YU}#Q=>Ed&q9U&;bQ-OBy4Ht@<4t7R&@$c zerY*QnH^K7nP>rr4FoCY&`TjY$Y&NWe-M`Dft|^eD=1>qAqEBpF!Yj5IVLB=mxo~G zlaWZRVeje;5FFr?ZB%1E?dTHb_NqTCFE4O-#YE-r=n29tUSYq2ZH3bMTnC9c1VuWF zJ2aP_?#3Y}s_bM$Qkb<A5K;}nDv*W;{$JUn z@;_t^?PtUAnR$Cmg~JDd1w!EFraiQuF~}BPMmxipJDu?Z(*EIq>J1AML0X|1(R0Tx zARqwb4j+>gOCT41=oh9V`o}mqASO6_$*f;)N?S$>{EKQrZ@Y>D*TZ)nNcASu;-utc z!yadI+0iJ>8jV_+T;<^4I7A2z{2*bj&wW}bh08@6TGAj7O9@~R;CJ9O;lo$i+1a$@ zJu*B4Tp*XZ)d18LC^xJyer$h&<3wMA$`OZdB1@ntLNH0$jC2d-cf-vT^gBixg^T*h+i)xo#1k(XX0h@?{kvX}!);&8` za<3Z_xsIU{0{#da0pvff*R_yA3t6bHJa6T7g*DG^FiA-03v$PF1;SG4ieM68;pHua zrkWZv_hJyAOxCxW8;MCtlA4;jx}0^dn@x+CmP>AOa2W7?o%6(KF;rhTIo*NV{Gyfg)t3RhOD`jZN0?ph<>gw;mwEesS*0@mNw#5c=+?OB*8>@Cx&m9T@IfRJ` zZ+-7RkM$`3Sj9_hAd#e{q+V+&0ViLMi;Mg2<46C2fyWrp;NOpLL{XWI-B(gFab;ym z7I`Ekg=I5Q9Rd_o))Ut62>HKvZ2}32+Qg@sX2K%nuTP7ox}>o;!r zHcew1zmEN+pe?vGK0aEuvYZS8yb(`-bOs~EmUl5C`7pJ+y*$G?sWnaRn(fPXMMUrh4?M-)Vp)~^dXPV2 zg~<@>zhi7WoS-P9OjC}#h;W_%q&c;9Fy{ukvbz~xAlR%up6A9!z*jK}*}%_<`6BMy zW{+Ei$Ak?^^m;^tymzwo+ns1EP)#Af5AMGQNrC5fue?Q}GXGc0$F*{)Wn~oqh$uYv zR$DMFrE=7usf-$`#GGs>U!NEj?F^ufqxC2XRS4^F;Cgm?Qe+LS_}xDvfSGvzBo>-< zQjB{BfbcmrJw2rYbd;eNoIF6YJHJ~}UOu}%-2`f>CL&wlGaJ*CVjN8j^`LhEyFg!R zO%pOSq~UpXG#RmPx-sFg#(euW8I=1LgB8Q0qoE+Z&1^xu>g#)?gLJ%5{Nm@^Fj!q{ z+S(JeZFY-Mqm@9X!~V(Mq&zf$NJfK*#kNV}y>_2L?*XIMb|MfYltOJTr6+W_lX{j} zqcE-s?_sLlqT7at+e;Xw3>c4PeobKAacAAf)<1_kEB4~_^z{3^5#Hzhr5*z|f`)~j z_koG$Jcqt7)ZHtISs59xpiE^VQOzy@;p#D}?j%O%t!u3ns*DgbM-cm^S^A(y?~Lq% zLhlVy{aW+_Yk1rjJfY;L+6B+g(M3;ONBpXENMGH^_c^fy%hJ{q(9+1&!q_CNm{D)C ztc8=}oB3Tcj7}AJQ%;6qP@!+MvnNbV2Qg}7f3FdoaK&beZ0AV?@G`yFn^FPgq>c^h zXd4ws^G%Fje+L+ zToU^fv|&x+sEP)a^OXUGgw1zGu>vqgIEuZ7#?oiY1*KU(e1&Q7QXEFl^>e#xlM(C* zo|ju%T7YEKh*`24ExB-s;uhi~GgMGsPio)Mi+fUmk;vKDaDjAoqeq&!eIgHZ{jrdlb>Wt z_jv67dB2hrw+8Q;(6Yi}S9l)q0cXVPwEUP(%$-~_Pv^buW5bLG^sg^BJ;1@iaXnm0 z-{|1Te-0v1h}qK6OrUeVEG-Kq2!u|gU?KFcAc+_?yvDH?9yMS?^F)1iUR11NkXyks zS$z1T81~6>I1lF|^G)=-uTx3NZ8R7UUL9(ySvWmJdAnzbaxD?B(IM`N28XQG@59;a~RZttYCfZOUok7ZeK? zrQ2f;KhGucT*DfSzGL}OBcT}ReH0pe_meL%0*FNRbitS|M46jYt|KqOaJR|l^s8gTxk%?Rb<9hM&49{wP&b%=> zfk-oST>~-*L^M#Pciu~(wXS|qSUQ>*iN14v|*Ep9{b#$yMtll*4{u!$z zYmH!R1uG$J(ti1p7tF5^E;dfG4aT+c%P8VpQhiQb{_bI=9R;VB|9F*4r$I90je1g= z*BFs@B6ajj|G>ybLfTM44)C$bv(vr(mAX?)rh%1S6iUPle>vV`)t8n3JX>DPP$RlaJQdft%>`>OrBhY4uK)HS2D!fIYp&Uo~XNuh|`ahw|-lgmWZy z`z_o9Sp@^;e7A37dQZYvY0xAoR5Q0YIBpZDg3`qmM9s#;dO5(%k&~0R%?_YYVQW5T zM;67B&gfB`sLlY;T+#;SfmFSb^zLL;Rh62)e!f5h*#5is@0n4AcL)>wpCRd;w@= zm>he{L61@hTVJr1h*|^QnY3!J+-igc`zK(BAOdpJVrmF95cFR|+y~EqgxE7Q6gW0E zCOI6G2|Jp)Li#vJ4aR4ZujSydm1sFqGCV~u;Y}At!FjRjPvI{H1h7FjfI5Sm8X@Mf z+qMZI>k5>GkOpPpG!x14ogSN}qqREjvok@TEkS!RJ=bZRXWrY3YWtqzC1qvFb#?l+ zYFT30Glc85XS=qbUm=X}c=00Lvsf+2`%PeCa}fk~9yq9UyeKabT7fZM(bN4|dlA45 zp?Hj*B>2VNpyLM_AX4xLoa-<)HSKT{-E3n8<(iqbwd|uueTnY_AqD`flinLuS5

    k6z@+`@p!Z+DhD@IBmKU`?&}L7&z1%Yi3LQajCQ^ z6=H`tT~fRZb06)9#Bq~E+kw?M@=5O7jO1i2GIr&U{n?bd^0PI26PHj9K|L|yi{D6m zeVSC}_) zVosIaS5_X1(_iMfF164M{^UVz+-!2*B0rYO`wHKkrtBs-=r)*a0C3;}?IxVBSORLNun;3xjq%_Jj(n)vMLXpr@l8ue%>g>B;xn3 zjG;gbv?Fo--RUuiM>k(D)r2^x-S~s89!BqJX`6gy$rQKu$b@m`?LNe1>eP}zt-9#w zzio;yg0}I0KHYYgmRTe`osZHVA`G*zHN{xtMz1{MQg>mLzBe_9s6T8~?@f5jmtX># zuEQ0`lBT9l(^d6n|~vl;GFEJ!uG{-F-{t87buuE5qo zFq?{VnUI8P0k|WApzGS&+Vj`WkD3Q^^a%u}=<1`LKYsq)F;M}r*l4CXByfcb4k$hl zpR_TdH8YkwVGFb?vz-LCE3=9r5tyHug6tsxOY=SKQi8k$nt*nfS5}->cm^(shSzXv zmpzArHg*AlEu_ediTe%?4$Wa_E~{f9@D4$=CZ_M~euwmj`2H03EnOrz1|^S5yToS! zqUZJ4wJIqsO@d8V5kE*h?iO$od+{@#Gs zi2#%804NuFpSX_;gqeiQL!=Wm%-1P7-O)e00_deBSvIU^WJEZbLCAmN$3P6Vf5Pz` zyFC@T0oShg>A}K$sbtUCD-xTN63PQhTMdk>?G(@hoU*MuDO*iG7M%1{A4aj-m{zRS z9!&uaDlBEY3l@(NIoQp2T=4`j^Q+7{W|hT*`BB_^XqiBUlH8*=#C&EpT=3o3ubH%Z zWKIshfAs#Cc7TZCdc4s(4?3`u3~^g~dwb(?Fh@N4dJG$`@`e3 zJRsTh3e$;%8VgQrU0rD|Vo`#0vA&gXrsEPBfX@pD1Or8bN{$4ecezLBxz#0T!h{5S zaB?z4Vvsr1D3MNv(bI531=7W8qV=0pOwU$0?^@m^MJ1&{F?}HU9MO4tHK9-etZY(+ zJHoyj9?I6ru-+MWfUqT+gkQuW}!hM#UL~gc9LM-@4(eG>P7UjX^ahsX9ogyu9Wnw8x zHB4f9kWh%IC*&S_Nc--qdnC;GE}rzA$~v@~h?0s$jn>&UZ8*9Z0dIzE3W?z?@!9yb z!nV3Sa4L(G<6sD>k}mbx*!T69V+>L?*9o4-oc!o@ZDxLqoCTVI3>zEUf)^+!>gTUg zUMAJmF+O5rD)0kr8jOfY|My11U2k|L^CI{&%#V;y_(9oCK7SN#TyxHw?b{mo@3#uTSU$ zPK6~@`v22`6~)Js*ij!oyv~ObyRExh?%~5wEio1hBciEE33(~7wpP3pSkT2Xg;*h+ z5g)w}4^u9wndTc7JGyJ8ld?K!A>X%?HE%%hXHnX1W*j2YZfCDHpg*S#*c0Lw2)USe zc?IH}1#Kr}w6tizZr3pfS1o`??X?y>;Vx$u=ENiGd%;aP6&%J||5!O1y^%aJR^Ce^A;^?>NqMuua&{moUc;{GVgcAhYiFYSPU|yyuY@3 zwW&*14c+qbBl)Tw91B{xsvO(6F5vH(Bk3H{v0(zC4yi#vJc)o(HX`OE%fWlmAe#SnVQq!r%~f=T;s+ou*+?6zLZ~fYLONkNeIm&+WWq+OGq#3SD-rFkg9q4mb^=xx(mQ|vEkP)RGsIcIPY)wBq zs9PQ#Tl#$K*=tPSuMWalwvt@eN`BqjYYLw;T8s>v&v8|*dsOtEa!^lPW{ZC3x;8w& zZa(9sk9Rpz+}3jo*T!?R?!BmOt~VRp%6JiO&{RogJ576rW<78@@U;B(%K0$ijH76Q zyVY;>R+Jm z-;cS$sDC7J7Cbiwxe{j1=e!h4e5!BT(zrv2+{CNfGSXQ#>)k;zlkXy)o3@{&aMbm8 zB}gzrKfLEt4dyUot4kIsp3q=d9>v%ni*typ^PiXvEVyvREj44nC3{KoaJ!inEVBm; z5%;u|nc=^-)^Q)JMwrC-6ERyv0fcl<2$dFvC79selSQ=*=O8%BY{o-}^?m4ri0B(( zx$%(=NEPi|xawn$<4&uYg%OaG2Tasck3~L7q`*e3w%@#$&sKln zQ*&j{ht+ZXK-U=XARL>}2>XV?!3Kj(LBz8gt&CAlTMIvfpb1#x!jf?^$1c$TmFt`% z6yObzYd|Y@y%S1mKhQLExQ%nci4lZd%88%_%!*X@#-P0fSAy-6uy2n$Pd3jS&N_Ws z8BgoZJbDV2<5mF>@x-v6Jq%n_(gqL?c=%?gO01CY1oWAR%zr;#pH;nS}o0IU+;{5J3DXFtZ|2V9!V#ycmoF&@0l9B$bP@fYQ z5i7Dm!Dfy%cD3{5%aQ)6$lH^-v%b=*{y1?jn%ghDU*^^4Wb#;EQKv{jGq5>TQcw(< zWbX@0tT^mz%PzL=eq8E^K;Mvto$M>hMQ;8O_VGP#)uS3XRo(>|2oXF{VI$G9&wDd6 z0fFf2@5hwcOyu2xEbemy)4dpYb9#J$EZTV9495lzCsD5lY|+C36{jhv9v?>(W%%XD zcZazrhkO`UUu;-ArW)CbTB*h3>KpbC7ExVGBiVx?BVKgJ_KxRZcuK4!y<(*pfoTv} zsu8<+uX#*1K`rGZ$O}7w$F3aP!)bJ@&XOzk|7t}PqR=4cv*2a&4hIJx+h5nL*v0cA z*6z?e)xX-c@3380E<2Hw1)S?^6j}rGC;=Ohm45j_mWxe$Dq#aGard9St|d|80zm_^ zltBnlF>>HBz7}tBhMT7^YdhOf@b|!EaNyc!>{z>+`5j3KQ=gMLON-kuCl;hE7%$kX z48K6~MZ4jA{Z=@oHE0MCM`X0iQq!*Z?1Pq~7IwlJ+o9^0Yla+I2xylCl$7w7?tg~o zD+HZ%UxCk}a`*mR*w!^`sSo!q4PAG0t#aQze~3J`=weFwgbAhXvTEZ2cg_2*-qI?; zhdy*J@*3zifW!I@k2)B(zQt)LVkA3+?VmOhcCnv|DF!mt1 zOBNpX(2IjP70W`yXt?>$lNj|3#kAO;T5rC-ZrCq@bFc|048~<w#zR1>IKYBbSpOBF2(1Xr<2nGX oCgtZ7!^j&zZRmKkb%qyz{bv5%%lgdlI2FVLS!J0#spqf%AE2ZP9smFU literal 0 HcmV?d00001 From 6aed23de9277f9f130b3b9ce510473dd130214b5 Mon Sep 17 00:00:00 2001 From: katarzyna_koltun Date: Thu, 26 Mar 2026 14:19:45 +0100 Subject: [PATCH 08/15] trying to fix the build errors again --- content/en/docs/deployment/docker-deploy/_index.md | 2 +- content/en/docs/deployment/docker-deploy/docker-pad.md | 4 ++-- content/en/docs/deployment/general/pad/_index.md | 1 - content/en/docs/refguide/general/mxbuild.md | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/content/en/docs/deployment/docker-deploy/_index.md b/content/en/docs/deployment/docker-deploy/_index.md index c1742a2d329..021d13bc781 100644 --- a/content/en/docs/deployment/docker-deploy/_index.md +++ b/content/en/docs/deployment/docker-deploy/_index.md @@ -17,7 +17,7 @@ Mendix offers two options for Docker deployments: Portable App Distribution or t ### Portable App Distribution -[Portable App Distribution](/developerportal/deploy/portable-app-distribution/) allows users to generate their portable app with a single MxBuild command. It requires fewer manual steps than the Docker Buildpack, simpler environment configuration, and no `rootfs` preparation. Running Portable App Distribution can take as little as 3-6 minutes (the time may vary based on the application's size and complexity). +[Portable App Distribution](/developerportal/deploy/portable-app-distribution-deploy/) allows users to generate their portable app with a single MxBuild command. It requires fewer manual steps than the Docker Buildpack, simpler environment configuration, and no `rootfs` preparation. Running Portable App Distribution can take as little as 3-6 minutes (the time may vary based on the application's size and complexity). ### Docker Buildpack diff --git a/content/en/docs/deployment/docker-deploy/docker-pad.md b/content/en/docs/deployment/docker-deploy/docker-pad.md index 4e4e04d1a2b..7f028b4d449 100644 --- a/content/en/docs/deployment/docker-deploy/docker-pad.md +++ b/content/en/docs/deployment/docker-deploy/docker-pad.md @@ -7,7 +7,7 @@ description: "Describes how to deploy using a Docker image by using Portable App ## Introduction -This guide provides a walkthrough for deploying your Mendix application using [Portable App Distribution](/developerportal/deploy/portable-app-distribution/) with Docker. This approach is particularly useful for containerized environments, and can significantly ease your CI/CD setup. +This guide provides a walkthrough for deploying your Mendix application using [Portable App Distribution](/developerportal/deploy/portable-app-distribution-deploy/) with Docker. This approach is particularly useful for containerized environments, and can significantly ease your CI/CD setup. {{% alert color="info" %}} This document is not an official Mendix implementation, or a substitute for recommended production deployment strategies. For more features, such as app management or governance, we suggest using [Mendix on Kubernetes](/developerportal/deploy/private-cloud/) or [Mendix on Azure](/developerportal/deploy/mendix-on-azure/), which offer a structured, tested experience with cloud infrastructure. @@ -29,7 +29,7 @@ The Portable App Distribution feature in Mendix Studio Pro provides you with the To deploy your app to Docker, perform the following steps: -1. Generate the application files. For more information, see [Portable App Distribution](/developerportal/deploy/portable-app-distribution/). +1. Generate the application files. For more information, see [Portable App Distribution](/developerportal/deploy/portable-app-distribution-deploy/). These files are the core of your Mendix application and are ready to be included in a Docker image. diff --git a/content/en/docs/deployment/general/pad/_index.md b/content/en/docs/deployment/general/pad/_index.md index 6f894022947..28cf99cb503 100644 --- a/content/en/docs/deployment/general/pad/_index.md +++ b/content/en/docs/deployment/general/pad/_index.md @@ -5,7 +5,6 @@ weight: 15 description: "Describes the Portable App Distribution deployment method for Mendix apps." no_list: false description_list: true -beta: true --- ## Introduction diff --git a/content/en/docs/refguide/general/mxbuild.md b/content/en/docs/refguide/general/mxbuild.md index b789163f211..9b1c9d5c9c9 100644 --- a/content/en/docs/refguide/general/mxbuild.md +++ b/content/en/docs/refguide/general/mxbuild.md @@ -68,7 +68,7 @@ Command-line options are described in the table below: | `-h`, `--help` | Prints a short description of the MxBuild and a list of all available options. | | `--java-home=DIRECTORY` | (Required). The directory in which the JDK is installed.
    For example, `--java-home=/usr/lib/jvm/java-8-oracle`.
    For Windows, *DIRECTORY* should be enclosed in double-quotes `"`. | | `--java-exe-path=FILENAME` | (Required). The full path to the Java executable.
    For example, `--java-exe-path=/usr/lib/jvm/java-8-oracle/bin/java`.
    For Windows, *DIRECTORY* should be enclosed in double-quotes `"` and must contain the complete file name `...\java.exe`. | -| ––target=[package|deploy] | `package`: default if option is omitted; creates a deployment package (*.mda file*).
    `portable-app-package`: creates a [Portable App Distribution](/developerportal/deploy/portable-app-distribution/) package
    `deploy`: deploys the app without making a deployment package.
    `sbom`: generates a [Software Bill of Materials](/refguide/sbom-generation/) (SBOM) in the CycloneDX format for the app. | +| ––target=[package|deploy] | `package`: default if option is omitted; creates a deployment package (*.mda file*).
    `portable-app-package`: creates a [Portable App Distribution](/developerportal/deploy/portable-app-distribution-deploy/) package
    `deploy`: deploys the app without making a deployment package.
    `sbom`: generates a [Software Bill of Materials](/refguide/sbom-generation/) (SBOM) in the CycloneDX format for the app. | | `--loose-version-check` | Creates a deployment package from an app which was created with a lower Mendix version.
    The app will be upgraded to the MxBuild version before the deployment package is created.
    Any changes included as a result of this upgrade will not be stored in your app. | | `--write-errors=FILENAME` | Writes all errors, warnings, and deprecations encountered during deployment of the app to the specified file in JSON format.
    This file is only written when the app contains errors.
    If the file already exists, it will be overwritten without a warning.
    For a description of the format of this file, see the [App Errors](#app-errors) section below. | | `--generate-sbom` | Generates a Software Bill of Materials (SBOM) file as a part of the `package` and `deployment` targets. The SBOM will be included in the deployment package if this option is used and is saved under its default location: `deployment\sbom.json` | From 1cf92442f0d9ea6293bf695f8c5f7c24dc4bfad6 Mon Sep 17 00:00:00 2001 From: katarzyna_koltun Date: Thu, 26 Mar 2026 14:43:11 +0100 Subject: [PATCH 09/15] added beta tag --- content/en/docs/deployment/general/pad/_index.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/content/en/docs/deployment/general/pad/_index.md b/content/en/docs/deployment/general/pad/_index.md index 28cf99cb503..bffa9bda124 100644 --- a/content/en/docs/deployment/general/pad/_index.md +++ b/content/en/docs/deployment/general/pad/_index.md @@ -5,8 +5,11 @@ weight: 15 description: "Describes the Portable App Distribution deployment method for Mendix apps." no_list: false description_list: true +beta: true --- +{{% alert color="warning" %}} This feature is in beta. For more information, see [Release Status](/releasenotes/release-status/). {{% /alert %}} + ## Introduction Portable App Distribution provides a flexible and straightforward method for isolated server-based deployments. By enabling customers to generate a bundled artifact packaged as a .zip file and run it directly, Portable App Distribution simplifies the deployment process. From 23d53bc552b02379808f13980e55e54f9ce34946 Mon Sep 17 00:00:00 2001 From: katarzyna_koltun Date: Thu, 26 Mar 2026 14:48:22 +0100 Subject: [PATCH 10/15] fixing the links --- .../en/docs/deployment/general/pad/pad-best-practices.md | 2 +- .../cloud-foundry/cloud-foundry-deploy-pad.md | 6 +++--- .../docs/deployment/on-premises-design/linux/linux-pad.md | 4 ++-- content/en/docs/support/deployment-strategy-support.md | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/content/en/docs/deployment/general/pad/pad-best-practices.md b/content/en/docs/deployment/general/pad/pad-best-practices.md index 259b16d1c30..42c26910f95 100644 --- a/content/en/docs/deployment/general/pad/pad-best-practices.md +++ b/content/en/docs/deployment/general/pad/pad-best-practices.md @@ -1,6 +1,6 @@ --- title: "Best Practices for Managing Configuration File Precedence" -url: /developerportal/deploy/portable-apps-distribution-deploy/best-practices/ +url: /developerportal/deploy/portable-app-distribution-deploy/best-practices/ linktitle: "Best Practices" weight: 90 description: "Describes the best practices for managing the configuration order for Portable Apps Distribution." diff --git a/content/en/docs/deployment/on-premises-design/cloud-foundry/cloud-foundry-deploy-pad.md b/content/en/docs/deployment/on-premises-design/cloud-foundry/cloud-foundry-deploy-pad.md index a12417de13a..3cf0bd7373e 100644 --- a/content/en/docs/deployment/on-premises-design/cloud-foundry/cloud-foundry-deploy-pad.md +++ b/content/en/docs/deployment/on-premises-design/cloud-foundry/cloud-foundry-deploy-pad.md @@ -17,20 +17,20 @@ For information about the scope of support, see [Support for Different Deploymen ## Prerequisites -To deploy your app to an on-premises Cloud Foundry configuration using [Portable App Distribution](/developerportal/deploy/portable-apps-distribution-deploy/), ensure that you fulfill the following prerequisites: +To deploy your app to an on-premises Cloud Foundry configuration using [Portable App Distribution](/developerportal/deploy/portable-app-distribution-deploy/), ensure that you fulfill the following prerequisites: * You have access to the Cloud Foundry organization and space where the application is deployed. * You have access to the database configuration from the database service. * You have access to binding other required Cloud Foundry services. * The Cloud Foundry CLI is installed. -* You have generated the [Portable App Distribution .zip file](/developerportal/deploy/portable-apps-distribution-deploy/). +* You have generated the [Portable App Distribution .zip file](/developerportal/deploy/portable-app-distribution-deploy/). ## Deploying an App with Portable App Distribution To deploy your app to Cloud Foundry, perform the following steps: 1. Log in to Cloud Foundry, and then access the organization and space where the application is deployed. -2. Save the [Portable App Distribution .zip file](/developerportal/deploy/portable-apps-distribution-deploy/) to an accessible location. +2. Save the [Portable App Distribution .zip file](/developerportal/deploy/portable-app-distribution-deploy/) to an accessible location. 3. Create a *manifest.yml* file in the root directory of your app. By default, the `cf push` command uses the *manifest.yml* file in the app directory. To specify a different location for the manifest, you must pass its local path to the `-f` flag when you run `cf push`. diff --git a/content/en/docs/deployment/on-premises-design/linux/linux-pad.md b/content/en/docs/deployment/on-premises-design/linux/linux-pad.md index c66c3dd9878..29e946941c1 100644 --- a/content/en/docs/deployment/on-premises-design/linux/linux-pad.md +++ b/content/en/docs/deployment/on-premises-design/linux/linux-pad.md @@ -17,11 +17,11 @@ For information about the scope of support, see [Support for Different Deploymen ## Prerequisites -To deploy your app to an on-premises Cloud Foundry configuration using [Portable App Distribution](/developerportal/deploy/portable-apps-distribution-deploy/), ensure that you fulfill the following prerequisites: +To deploy your app to an on-premises Cloud Foundry configuration using [Portable App Distribution](/developerportal/deploy/portable-app-distribution-deploy/), ensure that you fulfill the following prerequisites: * A Linux environment. This can be a virtual machine, a physical server, or a cloud instance (for example, AWS EC2, Azure VM, Google Cloud VM). You will need `sudo` or `root` privileges for some commands. * Java Development Kit (JDK). Your application requires a compatible Java runtime. For installation instructions, refer to the following sections. -* Your [Portable App Distribution .zip file](/developerportal/deploy/portable-apps-distribution-deploy/). +* Your [Portable App Distribution .zip file](/developerportal/deploy/portable-app-distribution-deploy/). * A method to transfer the .zip file onto your Linux machine, for example: * Cloud storage - If your Linux machine is in the cloud, you can use the cloud provider's CLI (for example, AWS S3, Azure Blob Storage, Google Cloud Storage). diff --git a/content/en/docs/support/deployment-strategy-support.md b/content/en/docs/support/deployment-strategy-support.md index 6cf02ef1b86..e8dfda2ac12 100644 --- a/content/en/docs/support/deployment-strategy-support.md +++ b/content/en/docs/support/deployment-strategy-support.md @@ -85,7 +85,7 @@ Mendix Support does not have access to app health, logs, graphs and monitoring Mendix is compatible with all the well-known cloud providers: IBM Cloud, Microsoft Azure, Amazon Web Services (AWS), Red Hat OpenShift, and Google Cloud Platform. -Depending on the Cloud architecture a Mendix application is built using the [Portable App Distribution](/developerportal/deploy/portable-apps-distribution-deploy/), the [Mendix Cloud Foundry buildpack](https://github.com/mendix/cf-mendix-buildpack), the [Mendix Docker Buildpack](https://github.com/mendix/docker-mendix-buildpack) or to a Unix-like or Windows server. +Depending on the Cloud architecture a Mendix application is built using the [Portable App Distribution](/developerportal/deploy/portable-app-distribution-deploy/), the [Mendix Cloud Foundry buildpack](https://github.com/mendix/cf-mendix-buildpack), the [Mendix Docker Buildpack](https://github.com/mendix/docker-mendix-buildpack) or to a Unix-like or Windows server. Check our [System Requirements](/refguide/system-requirements/) for the supported components of any Cloud Foundry / Docker and Kubernetes / traditional architecture. From 7e0bb63f06915cf95c5791e0b4899d197bb89e9b Mon Sep 17 00:00:00 2001 From: katarzyna-koltun-mx <108737161+katarzyna-koltun-mx@users.noreply.github.com> Date: Thu, 26 Mar 2026 15:10:20 +0100 Subject: [PATCH 11/15] Update _index.md --- content/en/docs/deployment/docker-deploy/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/deployment/docker-deploy/_index.md b/content/en/docs/deployment/docker-deploy/_index.md index 021d13bc781..cb94ccfc424 100644 --- a/content/en/docs/deployment/docker-deploy/_index.md +++ b/content/en/docs/deployment/docker-deploy/_index.md @@ -2,7 +2,7 @@ title: "Docker" url: /developerportal/deploy/docker/ weight: 60 -description: "Describes how to deploy using a Docker image using a Docker Buildpack." +description: "Describes how to deploy your Mendix app to a Docker environment." no_list: false description_list: true --- From 3ab1b8d82ca1ea72ec98a738e1a4b23e58779f05 Mon Sep 17 00:00:00 2001 From: katarzyna-koltun-mx <108737161+katarzyna-koltun-mx@users.noreply.github.com> Date: Thu, 26 Mar 2026 15:11:59 +0100 Subject: [PATCH 12/15] Fix punctuation in deployment package instructions Removed extra period from the deployment package creation section. --- content/en/docs/deployment/general/pad/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/deployment/general/pad/_index.md b/content/en/docs/deployment/general/pad/_index.md index bffa9bda124..2f3864f6737 100644 --- a/content/en/docs/deployment/general/pad/_index.md +++ b/content/en/docs/deployment/general/pad/_index.md @@ -39,7 +39,7 @@ You must also ensure that you have the supported version of [Java Runtime Enviro ## Creating a Portable App Distribution File -In most production environments, deployment packages are created by using the [Mx-Build](/refguide/mxbuild/) command-line tool. However, you can also [manually create a deployment package](/refguide/create-deployment-package-dialog/) if required, for example, for a local test deployment.. +In most production environments, deployment packages are created by using the [Mx-Build](/refguide/mxbuild/) command-line tool. However, you can also [manually create a deployment package](/refguide/create-deployment-package-dialog/) if required, for example, for a local test deployment. ## Deploying Your App From c2136915bb508c295e8332c6457b69586443bd7c Mon Sep 17 00:00:00 2001 From: katarzyna-koltun-mx <108737161+katarzyna-koltun-mx@users.noreply.github.com> Date: Thu, 26 Mar 2026 15:24:22 +0100 Subject: [PATCH 13/15] Update _index.md --- content/en/docs/deployment/general/pad/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/deployment/general/pad/_index.md b/content/en/docs/deployment/general/pad/_index.md index 2f3864f6737..c85f0fcf127 100644 --- a/content/en/docs/deployment/general/pad/_index.md +++ b/content/en/docs/deployment/general/pad/_index.md @@ -33,7 +33,7 @@ To license a Mendix app on the Portable App Distribution, add it to your configu ## Prerequisites -The Portable App Distribution functionality is available for Mendix Studio Pro version 11.9, 11.6.x MTS, or above. +The Portable App Distribution functionality is available for Mendix Studio Pro version 11.9, 11.6.5 MTS, or above. The functionality will be enabled for more Studio Pro versions in future releases. You must also ensure that you have the supported version of [Java Runtime Environment](/refguide/system-requirements/#java). From c05e0136f01a82d93b18c770e7e41169e9e52ed0 Mon Sep 17 00:00:00 2001 From: katarzyna-koltun-mx <108737161+katarzyna-koltun-mx@users.noreply.github.com> Date: Thu, 26 Mar 2026 17:38:41 +0100 Subject: [PATCH 14/15] Update pad-best-practices.md --- .../deployment/general/pad/pad-best-practices.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/content/en/docs/deployment/general/pad/pad-best-practices.md b/content/en/docs/deployment/general/pad/pad-best-practices.md index 42c26910f95..61ad41cee7a 100644 --- a/content/en/docs/deployment/general/pad/pad-best-practices.md +++ b/content/en/docs/deployment/general/pad/pad-best-practices.md @@ -16,6 +16,18 @@ The core concept governing configuration file processing is *last definition win This principle is crucial when managing both standard configuration files and environment variables. If a custom file is processed after environment variables, its settings will take precedence. +By default, the configurations are loaded in the following order: + +```text +include file("etc/StudioPro.conf") +include file("etc/constants/defaults.conf") +include file("etc/configurations/Default.conf") +include file("etc/variables.conf") +include file("etc/constants/variables.conf") +``` + +Because of that, for example, if the same setting is present in `StudioPro.conf` and `etc/variables.conf`, the version from `etc/variables.conf` takes precedence. + ## Managing the Configuration Order To ensure your desired configuration values are applied correctly, especially when custom settings must override or be overridden by environment variables, you have two primary approaches: @@ -42,4 +54,4 @@ In a typical Cloud deployment, it is often recommended to replace files like `St ## Supported Configuration File Formats -You do not need to use the `.conf` extension for your configuration files. You can use any extension you prefer, or no extension at all. The content of the file determines how it is parsed. \ No newline at end of file +You do not need to use the `.conf` extension for your configuration files. You can use any extension you prefer, or no extension at all. The content of the file determines how it is parsed. From cf95ceec02c5d6654f3c577ebba71655bac72471 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rio=20Serrador?= <61971372+mruiserrmendix@users.noreply.github.com> Date: Fri, 27 Mar 2026 10:24:12 +0100 Subject: [PATCH 15/15] Include chmod instruction for Linux ZIP extraction Added note about setting executable permissions for Linux. Please give a look at the wording, but this alert is helpful as customers can struggle with testing. --- content/en/docs/deployment/general/pad/_index.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/content/en/docs/deployment/general/pad/_index.md b/content/en/docs/deployment/general/pad/_index.md index c85f0fcf127..e52b82289ef 100644 --- a/content/en/docs/deployment/general/pad/_index.md +++ b/content/en/docs/deployment/general/pad/_index.md @@ -65,6 +65,11 @@ The Mendix admin port can be used to fetch metrics and other runtime data from a * For Windows Powershell, run the command `\bin\start.ps1` * For Linux, run the command `\bin\start` +{{% alert color="info" %}} +On Linux, if the ZIP was extracted on Windows, the +x flag is not preserved. Windows does not have the executability bit. You need to run the command `chmod +x ./bin/start` first. +{{% /alert %}} + + ### Deploying to a Self-Hosted Environment For more information about deploying to a self-hosted environment, refer to the following topics: