Links

Installing ProcessMaker

This guide will instruct you on how to get started with ProcessMaker, from local installs to rapid cloud deployment.
Docker for Local Development
Cloud Quick Start (Bitnami)
Kubernetes for Production Deployment
This guide will instruct you on how to Install locally, the open-source ProcessMaker Platform using Docker Desktop and Docker Compose.

Overview

Install the open-source ProcessMaker Platform using Docker Desktop and Docker Compose. Before proceeding with the installation process, it is essential to have a basic understanding of Linux commands. Familiarity with common command-line operations such as navigating directories, executing commands, and editing files will greatly facilitate the installation process and troubleshooting.

Requirements

Before proceeding with the installation, ensure that you have met the following prerequisites.
Requirement
Function
Version
Installation Guide
WSL2 or Unix based OS
WSL2 enables access to the command line for installing and accessing containers.
Latest
Docker
Docker provides the underlying technology to deploy containerized applications.
Latest

WSL2 (Windows Subsystem for Linux)

If you are using Microsoft Windows, then you can install ProcessMaker within WSL2.
Go to Microsoft's site and follow their instructions. It's very easy and quick.

Docker

Download and install Docker for Desktop.
If you are on Microsoft Windows, ensure to go into settings and enable the WSL2 integration.

Docker Compose

This installation procedure uses Docker Compose. The Docker Compose file is located in this GitHub repository. Issues, PRs and contribution are most welcome!

The Docker Compose File

Ensure you specify which branch or release of the ProcessMaker repository you wish to install and replace ${PROCESSMAKER_CORE_VERSION_INSTALL} with the desired version.
Open up your terminal for your platform:
  • Windows: Windows Terminal is a good option. Just make sure you don't go into CMD or PowerShell.
  • Macs: iTerm is a good option.
  • Other Unix-based operating systems: The native terminal should be more than adequate.
Oh My Zsh is a wonderful CLI tool that can help you with auto-completion within the terminal and syntax highlighting, convenience methods and much more.
You can find information about installing it here.
The yaml file below is the docker-compose.yaml file that we are going to use.
version: '3.3'
networks:
processmaker:
volumes:
docker-data:
redis-data:
services:
mysql:
image: mysql:8
platform: linux/amd64
ports:
- '3306:3306'
security_opt:
- seccomp:unconfined
environment:
MYSQL_ROOT_PASSWORD: C0mpliCat3dPassW0rd
MYSQL_DATABASE: pm4
MYSQL_USER: pm4_user
MYSQL_PASSWORD: pm4_password
networks:
- processmaker
volumes:
- ./mysql-data:/var/lib/mysql
restart: always
healthcheck:
test: [ 'CMD', 'mysqladmin', 'ping', '-u', 'root', '-p${MYSQL_ROOT_PASSWORD}' ]
interval: 30s
timeout: 10s
retries: 5
phpmyadmin:
depends_on:
- mysql
image: phpmyadmin/phpmyadmin
environment:
PMA_HOST: "mysql"
PMA_ARBITRARY: 1
ports:
- '8080:80'
networks:
- processmaker
redis:
image: redis:6
command: redis-server --save 60 1 --loglevel warning
ports:
- '6379:6379'
networks:
- processmaker
volumes:
- redis-data:/data
restart: always
healthcheck:
test: [ 'CMD', 'redis-cli', 'ping' ]
interval: 30s
timeout: 10s
retries: 5
docker:
image: docker:20-dind
privileged: true
ports:
- '2375:2375'
networks:
- processmaker
volumes:
- docker-data:/var/lib/docker
- ./scripts:/opt/scripts
environment:
DOCKER_DRIVER: "overlay2"
DOCKER_TLS_CERTDIR: ""
restart: always
healthcheck:
test: [ 'CMD', 'docker', 'info' ]
interval: 30s
timeout: 10s
retries: 5
processmaker:
image: processmaker/pm4-dev:4.3v1
ports:
- '80:80'
- '6001:6001'
depends_on:
mysql:
condition: service_healthy
redis:
condition: service_healthy
docker:
condition: service_healthy
networks:
- processmaker
volumes:
- ./processmaker:/opt/processmaker
- ./env:/opt/.env
- ./scripts:/opt/scripts
environment:
PM_branch: ${PROCESSMAKER_CORE_VERSION_INSTAll}
WAIT_FOR_DEPENDENTS: 1
DOCKER_HOST: 'tcp://docker:2375'
NO_PROXY: "127.0.0.1,localhost,docker:2375"

The Laravel ENV File

Below is the default configuration parameters for the .env file (which will be env if cloning from the repo). You can copy-and-paste the snippet below into a new file. If you are using the repository, it should already be set there.
APP_URL=http://localhost
DOCKER_HOST_URL=https://localhost
BROADCASTER_HOST=http://localhost:6001
LARAVEL_ECHO_SERVER_AUTH_HOST=http://localhost
APP_KEY=base64:bCBJXXFbO/dgnlaJvQPLKWWE/dzhsn1+ylOS5vm9zxc=
APP_DEBUG=TRUE
DEBUGBAR_ENABLED=FALSE
APP_NAME=ProcessMaker
APP_ENV=local
DB_HOSTNAME=mysql
DB_DATABASE=pm4
DB_USERNAME=pm4_user
DB_PASSWORD=pm4_password
DB_PORT=3306
DATA_DB_DRIVER=mysql
DATA_DB_HOST=mysql
DATA_DB_DATABASE=pm4
DATA_DB_PORT=3306
DATA_DB_USERNAME=pm4_user
DATA_DB_PASSWORD=pm4_password
APP_TIMEZONE=UTC
DATE_FORMAT="m/d/Y H:i"
MAIN_LOGO_PATH="/img/processmaker_logo.png"
ICON_PATH_PATH="/img/processmaker_icon.png"
LOGIN_LOGO_PATH="img/processmaker_login.png"
CACHE_DRIVER=redis
BROADCAST_DRIVER=redis
REDIS_PORT=6379
REDIS_HOST=redis
HOME=/opt/processmaker
HORIZON_PREFIX=pm4:
BROADCASTER_KEY=21a795019957dde6bcd96142e05d4b10
LARAVEL_ECHO_SERVER_PORT=6001
LARAVEL_ECHO_SERVER_DEBUG=TRUE
LARAVEL_ECHO_SERVER_PROTO=http
LARAVEL_ECHO_SERVER_REDIS_HOST=redis
LARAVEL_ECHO_SERVER_REDIS_PORT=6379
DOCKER_HOST=tcp://docker:2375
PROCESSMAKER_SCRIPTS_DOCKER_HOST=tcp://docker:2375
PROCESSMAKER_SCRIPTS_HOME=/opt/scripts
API_SSL_VERIFY=0
PROXIES=*
LOGOUT_OTHER_DEVICES=false
BROWSER_CACHE=true
API_TIMEOUT=5000
SESSION_DRIVER=redis
SESSION_SECURE_COOKIE=false
You may change any settings that you wish. Just make sure that the settings are valid and do not cause errors or issues.
In your terminal, run the following Docker command inside the folder where your Docker Compose file is:
docker-compose up
To spin down the environment, run the following Docker command:
docker-compose down
If this is your first time installing, it will take time for all the Docker images to download. At the end, you should see a message in your terminal that shows the Laravel Echo server is running and initial jobs should start running.

Did You Know?

The script adds a mounted folder for the ProcessMaker Platform installation and for Scripts, which is basically a good place to stick anything that is not purely ProcessMaker that you need as part of your application. For example, if you are developing a custom package or using Script Executors.
You may access the filesystem from outside the container. Just make sure to run any commands like composer update within the container (or send the command to it).

Troubleshooting

This section will be updated regularly as new issues and troubleshooting steps become known.

Feedback

If you got all the way down here, congratulations on being thorough! If you could kindly rate this page as helpful or unhelpful, that goes a long way towards improving our content.

Quick Start with Process Templates

Explore our ready-to-go Process Templates to kick-start your automation across several use cases and industries. Deploy into your Platform instance to spin up new processes and use as-is with all necessary assets included.

Overview

This guide will walk you through the steps to install and configure ProcessMaker Community using Bitnami on Amazon AWS cloud platform. By following this guide, you will have a fully functional instance of ProcessMaker Community, a powerful, open-source business process management (BPM) and workflow software.

Prerequisites

Please note that in order to set up a new instance, you will need an AWS account with sufficient permissions. It is important to ensure that your AWS account has the necessary privileges to create and configure instances, as well as manage associated resources.
Requirement
Function
Amazon AWS Account
AWS provides a highly scalable and reliable infrastructure, allowing users to access on-demand computing resources, storage, databases, and other functionalities.

Step 1: Select the AWS Cloud Platform

Select the region where you wish to host ProcessMaker and initiate the deployment process.
AWS Region to launch an instance

Step 2: Configure your Instance

  1. 1.
    Specify the desired name for your instance, as illustrated in the example below. This name will help you easily identify and manage your instance within your cloud platform environment.
    Define name and tags
  2. 2.
    Choose the appropriate instance type that best suits your needs.
The instance type determines the computing resources allocated to your ProcessMaker installation, such as CPU, memory, and storage capacity. Carefully consider the requirements of your workload and select an instance type that provides optimal performance and scalability for your ProcessMaker deployment.
Instance type
  1. 3.
    Ensure the security of your instance by selecting a Key Pair that will allow you to establish secure connections. Choose an existing Key Pair or create a new one to establish a secure connection.
A Key Pair consists of a public and private key, and it is essential for securely accessing and managing your instance.
Key Pair
  1. 4.
    Configure the network settings for your ProcessMaker instance. Ensure that the network settings align with your desired networking environment and security requirements to enable seamless communication and access to your ProcessMaker instance.
    Network Settings
  2. 5.
    Choose your desired storage capacity.
    Configure storage
  3. 6.
    Initiate the launch process for your instance. Click on the Launch instance button.
  4. 7.
    After launching your instance, locate and click on the instance ID associated with your ProcessMaker deployment.
The instance ID serves as a unique identifier for your instance within your cloud platform's management console. By clicking on the instance ID, you can access detailed information and perform various management tasks, such as monitoring resource usage, adjusting configurations, and troubleshooting any potential issues related to your instance.
Please allow a few minutes for the instance initialization process to complete. Once the Instance state transitions to "Running," it indicates that your ProcessMaker instance is ready for access.
Instance Running

Step 3: Retrieve your Credentials

  1. 1.
    Select your instance.
  2. 2.
    Navigate to the "Actions" menu and choose "Monitor and troubleshoot" or a similar option.
  3. 3.
    Look for the "Get system log" or a similar option within the available actions.
  4. 4.
    Click on "Get system log" to retrieve the system log information associated with your instance.
  5. 5.
    Examine the logs to find your ProcessMaker login credentials. These credentials will enable you to securely log in and begin utilizing the functionalities of ProcessMaker.
Login Credentials

Step 4: Access your ProcessMaker Instance

Choose your instance from the list and locate the Public IPv4 DNS associated with it. Open the provided link in your web browser. You will be directed to the login page of your ProcessMaker instance. Enter your login credentials to gain access to ProcessMaker's interface and start taking advantage of the ProcessMaker capabilities.
This Public IPv4 DNS serves as the unique address that can be used to access your ProcessMaker instance from the internet.
ProcessMaker Login Screen

Conclusion

Quick Start with Process Templates

In conclusion, by following the steps above we successfully set up a ProcessMaker instance in the AWS cloud platform using Bitnami. With the setup complete, you can now fully leverage the robust capabilities of ProcessMaker to enhance your business processes and drive operational efficiency.
Explore our ready-to-go Process Templates to kick-start your automation across several use cases and industries. Deploy into your Platform instance to spin up new processes and use as-is with all necessary assets included.

Overview

This guide provides instructions to deploy ProcessMaker on a Kubernetes cluster using Helm. This tutorial assumes a basic familiarity with Kubernetes concepts and commands. It is recommended to have a good understanding of concepts such as pods, deployments, services, and ingress. This knowledge will be beneficial for troubleshooting and managing the deployed application.

Prerequisites

Before proceeding with the installation, ensure that you have met the following prerequisites.
A running Kubernetes cluster: Ensure that you have a Kubernetes cluster set up and accessible. This can be a local development cluster, a cloud-based Kubernetes service, or any other Kubernetes environment of your choice.
Requirement
Function
Version
Installation Guide
Kubernetes
Kubernetes is a container orchestration platform that manages the deployment, scaling, and management of containerized applications.
1.19+
Helm
Helm is a package manager for Kubernetes that simplifies the deployment and management of applications. It allows you to define and manage application charts, which encapsulate all the necessary resources and configurations for your application.
3.12.0+
Please follow the steps outlined below to successfully deploy ProcessMaker on your Kubernetes cluster.

Repository Configuration

To begin, add the ProcessMaker chart repository to Helm by executing the following command:
helm repo add processmaker https://charts.processmaker.io
This command ensures that you can access the ProcessMaker chart for installation.

Update Repository

Update the list of repositories to fetch the latest charts:
helm repo update

Install ProcessMaker on the Kubernetes Cluster

The following command deploys ProcessMaker on the Kubernetes cluster in the default configuration. The Parameters section lists the parameters that can be configured during installation.
helm install my-app processmaker/processmaker --set appConfig.host=my-app.example.com
This command deploys ProcessMaker on your Kubernetes cluster with the release name <my-app>. Replace <my-app> with a name of your choice. Also, set the appConfig.host parameter to your desired application host URL, such as my-app.example.com.

Verify the Installation

After the installation, you can verify the deployment by listing all releases using the following command:
helm list
This command displays a list of all Helm releases, including the ProcessMaker release you just installed.

Uninstall the ProcessMaker Deployment

If you need to uninstall or delete the ProcessMaker deployment, use the following command:
helm delete my-app
This command removes all the Kubernetes components associated with the ProcessMaker chart and deletes the release.

Additional Configuration Options

The ProcessMaker chart provides various configuration options that you can customize during the installation. To explore all configurable options along with detailed descriptions, you have the following options:
  1. 1.
    Review the values.yaml file: You can inspect the chart's values.yaml file, which contains all the available configuration options and their default values.
  2. 2.
    Use the helm show values command: Run the following command to view the configurable options with their descriptions:
helm show values processmaker/processmaker
This command displays a detailed list of configuration options that can be customized during the installation.
For further insights into the values.yaml file, we recommend exploring the following resources to deepen your understanding. Configuration Values

Conclusion

In conclusion, this guide offers a step-by-step approach to installing ProcessMaker on Kubernetes using Helm. By following the instructions outlined in this guide, users can quickly and efficiently set up ProcessMaker, leveraging the power and flexibility of Kubernetes orchestration.

Quick Start with Process Templates

Explore our ready-to-go Process Templates to kick-start your automation across several use cases and industries. Deploy into your Platform instance to spin up new processes and use as-is with all necessary assets included.
Last modified 19d ago