-
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-mastersource-release-7.1source-release-8.2source-release-9source-release-10source-release-11source-release-12
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:16Remember 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:12-masterFor 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:12-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:12-masterFor secrets see the section Docker Secrets.
Create a docker-stack.yml file:
version: '3.7'
services:
idempiere:
image: idempiereofficial/idempiere:12-master
volumes:
- idempiere_config:/opt/idempiere/configuration
- idempiere_plugins:/opt/idempiere/plugins
environment:
- TZ=America/Caracas
ports:
- 8080:8080
- 8443:8443
- 12612:12612
postgres:
image: postgres:16
volumes:
- idempiere_data:/var/lib/postgresql/data
environment:
- TZ=America/Caracas
- POSTGRES_PASSWORD=postgres
ports:
- 5432:5432
volumes:
idempiere_data:
idempiere_plugins:
idempiere_config:Docker swarm enabled:
$ docker stack deploy -c docker-stack.yml idempiereDocker compose:
$ docker-compose -f docker-stack.yml upThe 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/dataOr adding to bash command:
-v idempiere_data:/var/lib/postgresql/dataDocker stack:
volumes:
- idempiere_config:/opt/idempiere/configuration
- idempiere_plugins:/opt/idempiere/pluginsOr adding to bash command:
-v idempiere_config:/opt/idempiere/configuration -v idempiere_plugins:/opt/idempiere/pluginsidempiere_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/pluginsOr adding to bash command:
-v idempiere_config:/opt/idempiere/configuration -v ./plugins:/opt/idempiere/pluginsDocker stack:
volumes:
- idempiere_log:/opt/idempiere/logOr adding to bash command:
-v idempiere_log:/opt/idempiere/logAdding command yml property:
command: idempiere debugOr adding to bash command:
docker run -d --name idempiere -p 8443:8443 --link postgres:postgres idempiereofficial/idempiere:12-release 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:12-master
environment:
- TZ=America/Caracas
- 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/Caracas
- POSTGRES_PASSWORD_FILE=/run/secrets/db_admin_pass
secrets:
- db_admin_pass
ports:
- 5432:5432
volumes:
idempiere_data:
secrets:
db_admin_pass:
external: trueUse this images for development purposes.
source-mastercorresponding to iDempiere master brachsource-release-7.1corresponding to iDempiere release-7.1 brachsource-release-8.2corresponding 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](https://github.com/idempiere/idempiere/tree/release-11) source-release-12](https://github.com/idempiere/idempiere-docker/tree/master/source-release-12) corresponding to iDempiere release-12 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.