Run Elera locally

You can run Elera locally using docker compose. Begin by installing the Azure CLI on your computer. Use the installed "az" command to establish authentication with the Azure Container Registry where the images are hosted.

az login; az acr login --name tgcseleraacr

Docker compose

Save the following as elera-docker-compose.yml on your computer.

version: "3.8"

services:

mongodb:

image: mongo:7.0.5

container_name: mongo

ports:

- 27017:27017

networks:

tgcp:

aliases:

- mongodb

volumes:

- vol-mongo-db:/data/db

- vol-mongo-configdb:/data/configdb

rabbitmq:

image: rabbitmq:3-management

container_name: rabbitmq

ports:

- 5672:5672

- 15672:15672

networks:

tgcp:

aliases:

- rabbitmq-elera-client

- rabbitmq-elera-platform

- rabbitmq-tgp-elera-pay

- rabbitmq-elera-pay

elera-platform:

image: tgcseleraacr.azurecr.io/elera-system:1.2402.1516-2024.5.25

container_name: elera-system

ports:

- 8081:8080

- 5006:5005

networks:

tgcp:

aliases:

- elera-platform

- administration-ui

- associate-tracking

- audios

- currency-conversion

- images

- authorization

- barcode-translation

- business-days

- bin-lookup

- cash-management

- catalogs

- changeplans

- configurations

- customers

- datasync-consumer

- deposit-refund

- devices

- endpoint-status

- elera-mom

- ema

- fulfillments

- import-export

- inventory

- not-on-file

- orders

- order-validation

- payments

- permissions

- pinpad-management

- pos

- pricelists

- print

- promotions

- quick-lookup

- receipts

- scheduler

- shipping

- stored-value

- system-management

- tax

- tax-vat

- terminal-reports

- terminal-security

- transactions

- transaction-importer

- wic-apl

- websockets

entrypoint:

java

-Dmongodb-port=27017

-Dmongodb-service=mongodb

-Dmongodb-name=elera-platform

-Dpayments.service=payments

-Dpayments.port=8080

-Dbin-lookup.service=elera-platform

-Dbin-lookup.port=8080

-Dpinpad-management.service=elera-platform

-Dpinpad-management.port=8080

-Dpayment-gateway.service=payment-gateway

-Dpayment-gateway.port=8080

-Dtgcp.authorization.secret=DEV_SECRET

-Drabbitmq-host=rabbitmq-elera-client

-Drabbitmq-port=5672

-Dtgcp.messaging.impl=rabbitmq

-DserviceNameOverrideForCollapsedMode=elera-platform

-Dtgcp.cache.distributed.enabled=false

-Xms1G

-Xmx6G

-Xdebug

-Xrunjdwp:server=y,transport=dt_socket,address=5005,suspend=n

org.springframework.boot.loader.JarLauncher

elera-client:

image: tgcseleraacr.azurecr.io/elera-client:1.2402.7562-2024.5.25

container_name: elera-client

ports:

- 8082:8080

networks:

tgcp:

aliases:

- webpos

- websockets

- serviceability

entrypoint:

java

-Ddevices.service=elera-platform

-Dconfigurations.service=elera-platform

-Dendpoint-status.service=elera-platform

-Dreceipts.service=elera-platform

-Dassociate-tracking.service=elera-platform

-Dtransactions.service=elera-platform

-Dmongodb-port=27017

-Dmongodb-service=mongodb

-Dmongodb-name=tgcp-elera

-Dcache-port=11211

-Dtgcp.authorization.secret=DEV_SECRET

-Drabbitmq-host=rabbitmq-elera-client

-Drabbitmq-port=5672

-Dtgcp.messaging.impl=rabbitmq

-Xms100m

-Xmx300m

-jar

app.war

depends_on:

- elera-platform

administration-ui-all:

image: tgcseleraacr.azurecr.io/elera-system-administration-ui-all:1.2402.1516-2024.5.25

container_name: elera-pay-admin-ui

networks:

tgcp:

aliases:

- audios-admin-ui

- authorization-admin-ui

- bin-lookup-admin-ui

- catalogs-admin-ui

- cash-management-admin-ui

- changeplans-admin-ui

- configurations-admin-ui

- customers-admin-ui

- electronic-journal

- electronic-journal-admin-ui

- images-admin-ui

- import-export-admin-ui

- not-on-file-admin-ui

- order-validation-admin-ui

- permissions-admin-ui

- pinpad-management-admin-ui

- pricelists-admin-ui

- promotions-admin-ui

- receipts-admin-ui

- scheduler-admin-ui

- store-catalog-admin-ui

- system-management-admin-ui

- tax-admin-ui

- tax-vat-admin-ui

- terminal-reports-admin-ui

elera-pay:

image: tgcseleraacr.azurecr.io/elera-pay-platform:1.2402.1655-2024.5.22

container_name: elera-pay

ports:

- 8083:8080

- 5007:5005

networks:

tgcp:

aliases:

- elera-pay

- payments

- payment-gateway

- tgcp-ngpay-administration-ui

entrypoint:

java

-Dmongodb-port=27017

-Dmongodb-service=mongodb

-Dmongodb-name=elera-platform

-Dconfigurations.service=elera-platform

-Dpayments.service=elera-pay

-Dbin-lookup.service=elera-platform

-Dchangeplans.service=elera-platform

-Dcurrency-conversion.service=elera-platform

-Dauthorization.service=elera-platform

-Dbusiness-days.service=elera-platform

-Dtransactions.service=elera-platform

-Dchangeplans.service=elera-platform

-Dpermissions.service=elera-platform

-Ddatasync-consumer.service=elera-platform

-Ddevices.service=elera-platform

-Dtgcp.authorization.secret=DEV_SECRET

-Drabbitmq-host=rabbitmq-elera-client

-Drabbitmq-port=5672

-Dtgcp.messaging.impl=rabbitmq

-DserviceNameOverrideForCollapsedMode=elera-pay

-Xms100m

-Xmx1G

-Xdebug

-Xrunjdwp:server=y,transport=dt_socket,address=5005,suspend=n

org.springframework.boot.loader.JarLauncher

nginx:

container_name: elera-nginx

image: tgcseleraacr.azurecr.io/elera-system-nginx:1.2402.1516-2024.5.25

ports:

- 8080:80

- 80:80

depends_on:

- elera-platform

- elera-client

- elera-pay

- administration-ui-all

networks:

tgcp:

data-loader:

image: tgcseleraacr.azurecr.io/elera-platform-data-loader:1.2402.8472-2024.5.25-6084d79

networks:

tgcp:

depends_on:

- elera-platform

networks:

tgcp: null

volumes:

vol-mongo-db:

vol-mongo-configdb:

Run the docker compose file using the following command:

docker-compose -f elera-docker-compose.yml up -d

Once all the containers have loaded, you can access the POS UI here:

http://localhost:8080/webpos/app/pos-base/html/posVue.html?deviceId=DEV_NGUI_FIXED_LANE

Login wtih sample cashier operator - "tim" with password "p"
Login with sample manager operator - "mike" with password "p"

You can access the admin UI here:

http://localhost:8080/configurations-admin-ui/#/login

Login with sample user "2" with password "2"