-
Maintained by:
INGEINT -
Where to get help:
iDempiere Community Forums or Mattermost Support Channel -
Where to file issues:
Mattermost Support Channel or Github Issues -
Official Links:
Docker Hub, Repository, iDempiere
Productive iDempiere Environment
iDempiere's Source Code for Development Environment
source-master
source-release-7.1
source-release-8.2
source-release-9
source-release-10
source-release-11
iDempiere is a powerful, open-source ERP/CRM/SCM system supported by a skilful community. The project focuses on high-quality software, a philosophy of openness and its collaborative community that includes subject matter specialists, implementors, developers and end-users.
iDempiere has earned a strong reputation for its high-quality, architectural design, reliability, robust feature set, extensibility, and the commitment of the open-source community behind the project to consistently develop and improve the software with performant and innovative solutions.
For more information here.
iDempiere Docker uses a postgres admin password and user to create a clean database, example POSTGRES_PASSWORD=postgres
, if you are using a different configuration you need to see Environment Variables:
$ docker run -d --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=postgres postgres:16
Remember to change the postgres port in case you have one previously running, example
-p 5433:5432
. You could use any postgres version in the Prerequisites Page.
$ docker run -d --name idempiere -p 8443:8443 --link postgres:postgres idempiereofficial/idempiere:11-master
For persistent data see the section Volumes.
Starting containers automatically here.
Open in the browser: https://127.0.0.1:8443/webui/
Please note: From iDempiere version 9 or higher, direct http access is no longer supported. https://wiki.idempiere.org/en/Migration_Notes#Deprecated_direct_http_usage
$ docker run -d --name idempiere -p 8443:8443 --network host\
-e DB_HOST=127.0.0.1\
-e DB_PORT=5432\
-e DB_NAME=idempiere\
-e DB_USER=adempiere\
-e DB_PASS=adempiere\
-e DB_ADMIN_PASS=postgres\
idempiereofficial/idempiere:11-master
$ docker run -d --name idempiere -p 8443:8443 ^
-e DB_HOST=0.0.0.0 ^
-e DB_PORT=5432 ^
-e DB_NAME=idempiere ^
-e DB_USER=adempiere ^
-e DB_PASS=adempiere ^
-e DB_ADMIN_PASS=postgres ^
idempiereofficial/idempiere:11-master
For secrets see the section Docker Secrets.
Create a docker-stack.yml
file:
version: '3.7'
services:
idempiere:
image: idempiereofficial/idempiere:11-master
volumes:
- idempiere_config:/opt/idempiere/configuration
- idempiere_plugins:/opt/idempiere/plugins
environment:
- TZ=America/Guayaquil
ports:
- 8080:8080
- 8443:8443
- 12612:12612
postgres:
image: postgres:16
volumes:
- idempiere_data:/var/lib/postgresql/data
environment:
- TZ=America/Guayaquil
- POSTGRES_PASSWORD=postgres
ports:
- 5432:5432
volumes:
idempiere_data:
idempiere_plugins:
idempiere_config:
Docker swarm enabled:
$ docker stack deploy -c docker-stack.yml idempiere
Docker compose:
$ docker-compose -f docker-stack.yml up
The following users and passwords are part of the initial seed database:
Usage | User | Password |
---|---|---|
System Management | System | System |
System Management or any role/company | SuperUser | System |
Sample Client Administration | GardenAdmin | GardenAdmin |
Sample Client User | GardenUser | GardenUser |
Variable | Default Value | Description |
---|---|---|
IDEMPIERE_HOME | /opt/idempiere | Path to iDempiere |
IDEMPIERE_PLUGINS_HOME | /opt/idempiere/plugins | Path to iDempiere plugins |
IDEMPIERE_LOGS_HOME | /opt/idempiere/log | Path to iDempiere logs |
IDEMPIERE_VERSION | Docke Tag | iDempiere Version |
IDEMPIERE_PORT | 8080 | HTTP port for iDempiere |
IDEMPIERE_SSL_PORT | 8443 | HTTPS port for iDempiere |
KEY_STORE_PASS | myPassword | Password for java key store (SSL Certificate) |
KEY_STORE_ON | idempiere.org | Common Name for SSL Certificate |
KEY_STORE_OU | iDempiere Docker | Organization Unit for SSL Certificate |
KEY_STORE_O | iDempiere | Organization for SSL Certificate |
KEY_STORE_L | iDempiere | Locate/Town for SSL Certificate |
KEY_STORE_S | CA | State for SSL Certificate |
KEY_STORE_C | US | Country for SSL Certificate |
DB_HOST | postgres | Hostname for Postgres database |
DB_PORT | 5432 | Postgres port |
DB_NAME | idempiere | iDempiere Database |
DB_USER | adempiere | User for iDempiere Database |
DB_PASS | adempiere | Pass for DB_USER |
DB_ADMIN_PASS | postgres | Pass for admin user (postgres user) |
MAIL_HOST | idempiere | Mail server |
MAIL_USER | info | Mail user |
MAIL_PASS | info | Mail password |
MAIL_ADMIN | info@idempiere | Admin e-mail |
JAVA_HOME | /usr/local/openjdk-11 | Path to java |
JAVA_OPTIONS | Java execution parameters (e.g. -Xms and -Xmx ) |
|
DEBUG_PORT | 4554 | Port for remote debug |
TELNET_PORT | 12612 | OSGI port for telnet connection |
HOST | 0.0.0.0 | |
MIGRATE_EXISTING_DATABASE | false | Migrate the existing database to latest version |
IDEMPIERE_BUILD | iDempiere Build URL |
Port | Description |
---|---|
8080 | Default HTTP port for iDempiere |
8443 | Default HTTPS port for iDempiere |
12612 | Default OSGI port for telnet connection |
4554 | Default remote debug port |
iDempiere starts looking for an existing database, if it don't exist iDempiere will create a seed database.
If the database exists iDempiere won't migrate it, you must do it manually, or using
MIGRATE_EXISTING_DATABASE=true
.
Before starting, it will configure all the settings according to
the setup.sh
or console-setup.sh
files. See docker-entrypoint.sh file.
This project has not support for oracle database.
Docker stack:
volumes:
- idempiere_data:/var/lib/postgresql/data
Or adding to bash command:
-v idempiere_data:/var/lib/postgresql/data
Docker stack:
volumes:
- idempiere_config:/opt/idempiere/configuration
- idempiere_plugins:/opt/idempiere/plugins
Or adding to bash command:
-v idempiere_config:/opt/idempiere/configuration -v idempiere_plugins:/opt/idempiere/plugins
idempiere_config
saves the plugins configuration and idempiere_plugins
is
the path to contain the jar plugin (this one is used to install new plugins).
Other way to share plugins (current folder):
volumes:
- idempiere_config:/opt/idempiere/configuration
- ./plugins:/opt/idempiere/plugins
Or adding to bash command:
-v idempiere_config:/opt/idempiere/configuration -v ./plugins:/opt/idempiere/plugins
Docker stack:
volumes:
- idempiere_log:/opt/idempiere/log
Or adding to bash command:
-v idempiere_log:/opt/idempiere/log
Adding command
yml property:
command: idempiere debug
Or adding to bash command:
docker run -d --name idempiere -p 8443:8443 --link postgres:postgres idempiereofficial/idempiere:9 idempiere debug
As an alternative to passing sensitive information via environment variables,
_FILE
may be appended to some of the previously listed environment variables,
causing the initialization script to load the values for those variables
from files present in the container. See Docker Secrets and Docker PosgreSQL.
Variable | Original variable |
---|---|
DB_ADMIN_PASS_FILE | DB_ADMIN_PASS |
DB_PASS_FILE | DB_PASS |
MAIL_PASS_FILE | MAIL_PASS |
KEY_STORE_PASS_FILE | KEY_STORE_PASS |
Create the secret:
$ printf "postgres" | docker secret create db_admin_pass -
Use environment variable in the stack file:
version: '3.7'
services:
idempiere:
image: idempiereofficial/idempiere:11-master
environment:
- TZ=America/Guayaquil
- DB_ADMIN_PASS_FILE=/run/secrets/db_admin_pass
secrets:
- db_admin_pass
ports:
- 8080:8080
- 8443:8443
- 12612:12612
postgres:
image: postgres:16
environment:
- TZ=America/Guayaquil
- POSTGRES_PASSWORD_FILE=/run/secrets/db_admin_pass
secrets:
- db_admin_pass
ports:
- 5432:5432
volumes:
idempiere_data:
secrets:
db_admin_pass:
external: true
Use this images for development purposes.
source-master
corresponding to iDempiere master brachsource-release-7.1
corresponding to iDempiere release-7.1 brachsource-release-8.2
corresponding to iDempiere release-8.2 brach source-release-9](https://github.com/idempiere/idempiere-docker/tree/master/source-release-9) corresponding to [iDempiere release-9.0 brach](https://github.com/idempiere/idempiere/tree/release-9) source-release-10
](https://github.com/idempiere/idempiere-docker/tree/master/source-release-10) corresponding to iDempiere release-10 brach source-release-11`](https://github.com/idempiere/idempiere-docker/tree/master/source-release-11) corresponding to iDempiere release-11 brach
Variable | Default Value | Description |
---|---|---|
IDEMPIERE_REPOSITORY | /source/idempiere | iDempiere Repository Path |
IDEMPIERE_BRACH | iDempiere Source Branch | |
SCAFFOLD_REPOSITORY | /source/idempiere-plugin-scaffold | INGEINT Scaffolding Repository Path |
SCAFFOLD_BRANCH | INGEINT Scaffolding Source Branch | |
SOURCE_PATH | /source | Sources path |
For more information about the scaffold go here
- Docker secrets
- Volumes for persistent plugins
- Volumes for persistent logs
- Standard Entrypoint
- Exposed port
- Environment variables
- Auto create and sign db
- Auto migration db
- Openjdk 11
- Continuous integration capable
- Standard output log
- Oracle DB capable
- On/Off logs to file
- Console setup bypass
- Add TELNET_HOST env var in core idempiere-server.sh file
- Import dump from volume
- Add parameter stop after init
In devel folder.