Docker images are distributed with 2 different container types. All images are hosted in the docker hub https://hub.docker.com/u/6kare address.
Emakin Standalone Container
Emakin Standalone contains all the required dependencies to run emakin. The standalone image should be used for testing purposes, and it's not recommended for production usage.
Code Block | ||
---|---|---|
| ||
docker run -p 80:80 6kare/emakin-standalone:latest |
On container start, the default domain is automatically created with "admin@emakin.com" user and "admin" password. The application can be accessed from http://localhost address, and the host administration settings can be accessed from http://localhost/hostadm address.
Persistent Data
By default, the application data is reset when the container is restarted. Therefore, if you need to persist the application data, docker mounts must be used to keep the stored data between restarts.
...
language | bash |
---|
...
On container start, the default domain is automatically created with "admin@emakin.com" user and "admin" password. The application can be accessed from http://localhost address, and the host administration settings can be accessed from http://localhost/hostadm address.
Emakin Container
Emakin image does not contain any dependency but the application image. Other dependencies like database, Redis etc., should be configured externally. This image should be used for more advanced scenarios like Docker Compose or Kubernetes.
Code Block | ||
---|---|---|
| ||
docker run -p 80:80 6kare/emakin:latest8.5 |
Environment Variables
External database connections can be specified with the following environment variables. The default database provider is "Postgre", but "Oracle" and "SqlServer" can be used as well.
...
Code Block | ||
---|---|---|
| ||
version: '3' services: web: image: 6kare/emakin:latest8.5 ports: - "80:80" - "443:443" - "7180:7180" - "25:25" - "587:587" - "465:465" depends_on: - redis - postgre - basex - tika volumes: - "emkdata:/app/Configuration/Data" environment: - AK_DbProvider=Npgsql.NpgsqlFactoryPostgreSql - AK_DbConnStr=Host=postgre;Database=ALTIKARE;Username=ALTIKARE;Password=ALTIKARE; - AK_RedisConnStr=redis,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: # - "/var/run/postgres/postgres.sock:/var/run/postgres/postgres.sock" - "pgdata:/var/lib/postgresql/data" environment: - POSTGRES_USER=ALTIKARE - POSTGRES_PASSWORD=ALTIKARE - POSTGRES_DB=ALTIKARE redis: image: "redis:alpine" expose: - "6379" basex: image: "6kare/basex/basexhttp" expose: - "1984" volumes: - "basexdata:/srv/basex/data" tika: image: "6kare/tikatika2" 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: restart: always - expose:"clamavdata:/var/lib/clamav" volumes: emkdata: pgdata: - 3310 basexdata: volumesclamavdata: |
CloudFlare Support
To support Cloudflare SSL termination please add the following environment variables to compose file. Please see the SSL termination page for more details.
Code Block |
---|
environment: -AK_Web__ForwardedHeaders__ClearProxies=true - "clamavdata:/var/lib/clamav" volumes: pgdata: basexdata: clamavdata:-AK_Web__ForwardedHeaders__ClearKnownNetworks=true -AK_Web__ForwardedHeaders__ForwardedForHeaderName=CF-Connecting-IP |
Compose File With Load Balancer
...
Code Block | ||
---|---|---|
| ||
version: '4' services: haproxy: image: haproxy:latest volumes: - "./haproxy:/usr/local/etc/haproxy:ro" restart: always ports: - "80:80" - "443:443" - "7180:7180" - "25:25" - "587:587" - "465:465" web1: image: 6kare/emakin:latest8.5 hostname: emakinapp1 expose: - "80" - "5000" volumes: - "ftdata:/ftdata" depends_on: - redis - postgres - basex - tika volumes: - tika "emkdata:/app/Configuration/Data" environment: environment:- AK_DbProvider=PostgreSql - AK_DbConnStr=Host=postgres;Database=ALTIKARE;Username=ALTIKARE;Password=ALTIKARE; - AK_RedisConnStr=redis,allowAdmin=true - AK_BasexConnStr=http://admin:admin@basex:1984/ - AK_TikaConnStr=http://tika:9998/tika - AK_FULLTEXTCATALOGPATHWopiConnStr=/ftdatahttp://onlyoffice:81/hosting/discovery - AK_AntivirusServerUrl=tcp://clamav:3310 web2: image: 6kare/emakin:latest8.5 hostname: emakinapp2 expose: - "80" - "7180" - "25:25" - "587:587" - "465:465" volumes: - "ftdataemkdata:/app/Configuration/ftdataData" depends_on: - redis - postgres - basex - tika - onlyoffice environment: - AK_DbProvider=PostgreSql - AK_DbConnStr=Host=postgres;Database=ALTIKARE;Username=ALTIKARE;Password=ALTIKARE; - AK_RedisConnStr=redis,allowAdmin=true - AK_BasexConnStr=http://admin:admin@basex:1984/ - AK_TikaConnStr=http://tika:9998/tika - AK_FULLTEXTCATALOGPATH=/ftdataWopiConnStr=http://onlyoffice:81/hosting/discovery - AK_AntivirusServerUrl=tcp://clamav:3310 web3: image: 6kare/emakin:latest8.5 hostname: emakinapp3 expose: - "80" - "7180" - "25:25" - "587:587" - "465:465" volumes: - "ftdataemkdata:/ftdataapp/Configuration/Data" depends_on: - redis - postgres - basex - tika - onlyoffice environment: - AK_DbProvider=PostgreSql - AK_DbConnStr=Host=postgres;Database=ALTIKARE;Username=ALTIKARE;Password=ALTIKARE; - AK_RedisConnStr=redis,allowAdmin=true - AK_BasexConnStr=http://admin:admin@basex:1984/ - AK_TikaConnStr=http://tika:9998/tika - AK_FULLTEXTCATALOGPATHWopiConnStr=/ftdatahttp://onlyoffice:81/hosting/discovery - AK_AntivirusServerUrl=tcp://clamav:3310 postgres: image: "postgres" restart: always volumes: # - "/var/run/postgres/postgres.sock:/var/run/postgres/postgres.sock" - "pgdata:/var/lib/postgresql/data" environment: - POSTGRES_USER=ALTIKARE - POSTGRES_PASSWORD=ALTIKARE - POSTGRES_DB=ALTIKARE redis: image: "redis:alpine" expose: - "6379" basex: image: "6kare/basex/basexhttp" expose: - "1984" volumes: - "basexdata:/srv/basex/data" tika: image: "6kare/tikatika2" restart: always expose: - 9998 onlyoffice: image: onlyoffice/documentserver 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: pgdata: basexdata: ftdata: |
...