Docker Installation¶
Emakin Docker images are published on Docker Hub at 6kare.
When the container starts for the first time, the documented default domain and admin user are created automatically:
- default admin user:
[email protected] - default admin password:
admin
Default access points:
- Application Access:
http://localhost - Host Administration:
https://localhost:7180
Docker Compose Configuration¶
Create a docker-compose.yml file similar to the following:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | |
The Compose example keeps the default data path and does not need AK_CONFIGURATION_DATA_PATH. Define this variable only when the Emakin node data must be stored outside /app/Configuration/Data. In that case, change the existing emakin service environment and volume target together:
1 2 3 4 | |
The example above replaces the default emakin-data:/app/Configuration/Data mapping; do not leave both mappings for the same data volume. The target directory must be writable by the container user. When moving an existing deployment, copy or restore the existing data, including protected settings and the FullText catalog, before switching to the new volume target. Compose does not migrate the old data automatically.
Replace placeholders such as credentials and hostnames with your actual environment values, then start the stack with docker compose up.
Optional Push and Market Services¶
The Push and Market services are disabled by default. The supplied Compose file starts them only when their profiles are selected. Each profile runs the corresponding isolated Agent mode instead of the complete web stack.
Start Market on HTTP port 5100:
1 | |
Start Push on HTTPS port 5111:
1 2 | |
Before starting the Push profile, place the signing PFX at ./push/product.pfx. Compose mounts this file read-only at /run/emakin/push/product.pfx and passes its password through PUSH_PRODUCT_CERTIFICATE_PASSWORD. Keep the PFX and password outside source control. The Push profile listens on HTTP port 5110 and HTTPS port 5111; only 5111 is published by the supplied Compose configuration.
The Agent image exposes these runtime ports for custom deployments: Web 80/443, Market 5100, Push 5110/5111, FullText 5120, Health 5121, and Host Administration 7180.
Environment Variables¶
The documented database environment variables are:
1 2 | |
Packaging Images¶
Use the following script to package Docker images for deployment to a closed network. After execution, emakin-deploy.tar.gz will be created in the current directory.
1 2 3 4 5 6 7 8 9 | |
Unpacking Images¶
1 2 3 4 5 6 7 | |
Once unpacking is completed, start services with Docker Compose:
1 | |
WSL Support¶
In some environments, the PostgreSQL image may not work correctly with WSL because of file system permission issues. In these cases, use a Docker volume instead of mounting a Windows file path.
1 2 3 4 5 6 7 | |
Load Balancer Example with HAProxy¶
The following example shows how an HAProxy service can be added for load balancing across multiple Emakin web nodes:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
You also need a separate haproxy.cfg file. The documented sample is:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |
Adapt the sample to your actual hostnames, ports, and network layout.