Git Product home page Git Product logo

pm4core-docker's Introduction

ProcessMaker 4 Core Docker Instance

This docker-compose setup allows you to quickly start up an instance of ProcessMaker4 Core to test with.

This build has no enterprise packages.

Requirements

  • Docker Engine >= 3.2

    • For Mac and Windows Users, we recommend Docker For Mac and Docker For Windows
    • Install Instructions
  • Docker Compose >= 1.2

    • If using Docker For Mac or Docker For Windows, Docker Compose is already included
    • For all others: Install Instructions

Running an instance

  1. Clone this repo

  2. Modify the .env file (optional)

    Variable Description
    PM_VERSION The version to install from dockerhub. Must match one of the tags at https://hub.docker.com/r/processmaker/pm4-core/tags or build it locally
    PM_APP_URL The base URL that's accessible from outside the container. This will usually be http://localhost but you can change it if you customize your hosts file and add extra_hosts to the docker-compose.yml
    PM_APP_PORT Choose a different port if 8080 is in use on your host
    PM_BROADCASTER_PORT Choose a different port for the Socket.io server if 6001 is in use on your host
    PM_DOCKER_SOCK Location of your docker socket file. See note
  3. Run docker-compose up

    This will pull the image if it doesn't exist.

    If this is the first time running, it will run the install script and seed the database. It usually takes a few minutes but if script executor images need to be built it will take a few extra minutes.

    The instance should now be available at http://localhost:8080 (or where ever you configured it in the .env file)

    Username: admin Password: admin123

    ctrl+c will gracefully stop all containers but will not remove them so changes will persist.

    If you need a clean environment or made changes to config files, you can reinstall with

    docker-compose down -v
    docker-compose up
    

Building the application image locally

If you want to build your own version locally, run docker build with PM_VERSION set to a tag at https://github.com/ProcessMaker/processmaker/tags (without the leading 'v')

docker build --build-arg PM_VERSION=4.1.0 -t processmaker/pm4-core:local .

Then change PM_VERSION in .env to local

Building the base image locally

The pm4-base image includes all the prerequisites for PM4. It's available at https://hub.docker.com/r/processmaker/pm4-base

If you need to modify it you can edit Dockerfile.base and build it yourself with

docker build -t pm4-base:local -f Dockerfile.base .

After building the base image, change FROM at the top of the Dockerfile and rebuild the application image the above instructions

Bind-mounting the docker socket

The instance uses the host's docker server by bind-mounting your docker sock file. This allows for smaller images and better performance than using dind (docker in docker). See this post for more info. The host socket file is usually at /var/run/docker.sock but can be changed in the .env file

Todo: Automated builds pushed to dockerhub

Currently, the image must be built and pushed to dockerhub manually using the instructions above when a new tag of PM4 is released.

The goal is to have CircleCI do this automatically

pm4core-docker's People

Contributors

nolanpro avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.