Installation 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 access points:
Application Access: http://localhost Host Administration: http://localhost:7180 Quick Start Example command:
docker run -p 80 :80 6kare/emakin:8.8
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 services :
web :
image : 6kare/emakin:8.8
ports :
- "80:80"
- "443:443"
- "7180:7180"
- "25:25"
- "587:587"
- "465:465"
sysctls :
- "net.ipv4.ip_unprivileged_port_start=0"
depends_on :
- dragonfly
- postgre
- basex
- tika
volumes :
- "emkdata:/app/Configuration/Data"
environment :
- AK_DbProvider=PostgreSql
- AK_DbConnStr=Host=postgre;Database=ALTIKARE;Username=ALTIKARE;Password=ALTIKARE;
- AK_RedisConnStr=dragonfly,allowAdmin=true
- AK_BasexConnStr=http://admin:admin@basex:1984/
- AK_TikaConnStr=http://tika:9998/
- AK_WopiConnStr=http://onlyoffice:81/hosting/discovery
- AK_AntivirusServerUrl=tcp://clamav:3310
postgre :
image : "postgres"
restart : always
volumes :
- "pgdata:/var/lib/postgresql/data"
environment :
- POSTGRES_USER=ALTIKARE
- POSTGRES_PASSWORD=ALTIKARE
- POSTGRES_DB=ALTIKARE
dragonfly :
image : docker.dragonflydb.io/dragonflydb/dragonfly
container_name : dragonfly
restart : always
ports :
- "6379:6379"
ulimits :
memlock : -1
basex :
image : "6kare/basex"
expose :
- "1984"
volumes :
- "basexdata:/srv/basex/data"
tika :
image : "6kare/tika2"
restart : always
expose :
- 9998
onlyoffice :
image : onlyoffice/documentserver
restart : always
environment :
USE_UNAUTHORIZED_STORAGE : "true"
WOPI_ENABLED : "true"
expose :
- "81:80"
- "8443:443"
clamav :
image : "clamav/clamav:latest"
restart : always
expose :
- 3310
volumes :
- "clamavdata:/var/lib/clamav"
volumes :
emkdata :
pgdata :
basexdata :
clamavdata :
Replace placeholders such as credentials and hostnames with your actual environment values, then start the stack with docker compose up.
Environment Variables The documented database environment variables are:
AK_DbProvider = PostgreSQL # Or "Oracle", "SqlServer"
AK_DbConnStr = Host = databaseserver; Database = database; Username = user; Password = pass;
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 #...previous services definition...
haproxy :
image : haproxy:latest
volumes :
- "./haproxy.cfg:/usr/local/etc/haproxy:ro"
restart : always
ports :
- "80:80"
- "443:443"
- "7180:7180"
- "25:25"
- "587:587"
- "465:465"
#...rest of the configuration...
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 frontend http
bind *:80
bind *:443
bind *:5000
mode http
timeout client 1000s
use_backend all
backend all
mode http
timeout server 1000s
timeout connect 1000s
server s1 web1:80
server s2 web2:80
server s3 web3:80
Adapt the sample to your actual hostnames, ports, and network layout.