ProcessMaker Developers Documentation
processmaker.comKnowledge CenterProcessMaker University
Guides
Guides
  • Getting Started
    • Installing ProcessMaker
  • Authentication
    • Creating a Client Application
    • Getting an Access Token
    • Getting a Refresh Token
  • Working with the API
    • Starting a Request via REST API
    • Starting a Request via Web Hook
  • Embedding Forms
    • Starting a Request via Anonymous Web Entry
    • Participating in a Workflow via Intermediate Web Entry (Anonymous)
    • Participating in a workflow via Intermediate Web Entry (Authenticated)
    • Angular Inbox Tutorial
      • Part 0: Overview
      • Part 1: Hello World
      • Part 2: Services & Dependencies
      • Part 3: Components
      • Part 4: The Inbox
      • Part 5: The Screen & Form Elements
  • Script Task Examples
    • PHP
  • Packages
    • ProcessMaker Platform Packages
      • Actions By Email Package
      • Advanced Screens Package
      • Advanced User Package
      • Auth Package
      • C# Package
      • Collections Package
      • Comments Package
      • Conversational Forms Package
      • Data Connector Package
      • Decision Tables Package
      • Documentation Package
      • DocuSign Package
      • Dynamic UI Package
      • File Manager Package
      • Google Places Package
      • IDP Package
      • Java Package
      • PDF Generator Package
      • PM Blocks Package
      • Process Optimization Package
      • Python Package
      • R Package
      • Saved Searches Package
      • Send Email Package
      • Signature Package
      • Slack Notification Package
      • Translations Package
      • Versioning Package
      • Vocabularies Package
      • Web Entry Package
    • Custom Packages
      • The Package Skeleton
      • Creating Your First ProcessMaker Package
Powered by GitBook
On this page
  1. Getting Started

Installing ProcessMaker

This guide will instruct you on how to get started with ProcessMaker, from local installs to rapid cloud deployment.

NextCreating a Client Application

Last updated 11 months ago

System Requirements

System Requirements

See these on-premises server requirements prior to installing the ProcessMaker Platform open-source edition on-premises.

ProcessMaker Platform Spring 2024 has the following system requirements:

  • MySQL 8.0

  • PHP 8.1 or later

Overview

Install the open-source ProcessMaker Platform using and . 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 enables access to the command line for installing and accessing containers.

Latest

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 and follow their instructions. It's very easy and quick.

Docker

Download and install .

If you are on Microsoft Windows, ensure to go into settings and enable the WSL2 integration.

Docker Compose

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.

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

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.

Step 2: Configure your Instance

  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.

  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.

  1. 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.

  1. 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.

  2. Choose your desired storage capacity.

  3. Initiate the launch process for your instance. Click on the Launch instance button.

  4. 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.

Step 3: Retrieve your Credentials

  1. Select your instance.

  2. Navigate to the "Actions" menu and choose "Monitor and troubleshoot" or a similar option.

  3. Look for the "Get system log" or a similar option within the available actions.

  4. Click on "Get system log" to retrieve the system log information associated with your instance.

  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.

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.

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. 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. 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.

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.

On-Premises Server Requirements

The following server requirements are only for a ProcessMaker Platform on-premises installation. Since ProcessMaker Platform is primarily an Enterprise cloud solution, these server requirements do not apply to cloud instances.

The following are server requirements to install ProcessMaker Platform on-premises:

  • Core server components: Ensure your server has the following core components:

    • PHP 8.2 or later

    • Composer Dependency Manager 2 for PHP

    • PHP extensions:

      • BCMath PHP extension

      • Ctype PHP extension

      • Curl PHP extension

      • Dom PHP extension

      • GD PHP extension

      • Imagick PHP extension

      • IMAP PHP extension

      • JSON PHP extension

      • Mbstring PHP extension

      • MySQL PHP extension

      • OpenSSL PHP extension

      • PDO PHP extension

      • SQLlite3 PHP extension

      • Tokenizer PHP extension

      • XML PHP extension

      • ZIP PHP extension

  • Operating system: Ubuntu 20.04 or later recommended

  • Database: MySQL 8.0

  • Web server: NGINX 1.x or later with PHP-FPM

  • Container server: Docker 20 or later

  • Queue and cache server: Single-node Redis 5.0.3

  • JavaScript engine: Node 16.15.0

Instructions

Are you ready to get started with the next-generation intelligent business process management software (iBPMs) platform?

The Open-Source edition does not have commercial support.

Follow the next instruction to get a ProcessMaker Platform Open-Source instance:

    • Username: admin

    • Password: admin

  1. After you log on for the first time, you may begin managing user accounts and groups.

or Unix based OS

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

You can find information about

This guide will walk you through the steps to install and configure 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.

Go to this link:

For further insights into the values.yaml file, we recommend exploring the following resources to deepen your understanding.

ProcessMaker Platform is built on .

.

.

Go to https://localhost or the IP address/domain name you specified. Use the following credentials to :

Laravel framework version 8
Docker Desktop
Docker Compose
Microsoft's site
Docker for Desktop
GitHub repository
installing it here.
ProcessMaker Community using Bitnami on Amazon AWS
https://bitnami.com/stack/processmaker/cloud/aws/amis
Configuration Values
Laravel 10 framework
Download the Open-Source edition today
Follow the installation instructions
WSL2
Setting up WSL2
Docker
Setting up Docker
Setting Up Kubernetes
Setting up Helm

How to import Process Templates

Download Process Templates

AWS Region to launch an instance
Define name and tags
Instance type
Key Pair
Network Settings
Configure storage
Instance Running
Login Credentials
ProcessMaker Login Screen

How to import Process Templates

Download Process Templates

Cover

How to import Process Templates

Download Process Templates

log on