Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

Docker images are distributed with 2 different container types. All images are hosted in 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.

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.

docker run -p 80:80 --mount source=emakindata,target=/var/lib/postgresql/data --mount source=emakindata,target=/srv/basex/data 6kare/emakin-standalone:latest

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.

docker run -p 80:80 6kare/emakin:latest

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.

AK_DbProvider=Postgre
AK_DbConnStr=Host=databaseserver;Database=database;Username=user;Password=pass;

Compose File

Emakin container can be deployed with the following Docker Compose file. Create new text file with "docker-compose.yml" name paste following content in file. After saved you can start emakin with "docker compose up" command.

version: '4'
services:
    web:
        image: 6kare/emakin:latest
        ports:
            - "80:80"
            - "443:443"
            - "5000:5000"
        depends_on:
            - redis
            - postgre
            - basex
            - tika
        environment:
            - AK_DbProvider=Postgre
            - 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/tika
    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: "basex/basexhttp"
        expose:
            - "1984"
        volumes:
            - "basexdata:/srv/basex/data"
    tika:
        image: "6kare/tika"
        restart: always
        expose:
          - 9998
volumes:
    pgdata:
    basexdata:

Compose File With Load Balancer


version: '3'
services:
  haproxy:
    image: haproxy:latest
    volumes:
      - "./haproxy/config:/usr/local/etc/haproxy:ro"
    restart: always
    ports:
      - "80:80"
      - "443:443"
      - "5000:5000"
  web1:
    image: 6kare/emakin:latest
    expose:
      - "80"
      - "5000"
    depends_on:
      - redis
      - postgres
      - basex
      - tika
    environment:
      - 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
  web2:
    image: 6kare/emakin:latest
    expose:
      - "80"
      - "5000"
    depends_on:
      - redis
      - postgres
      - basex
      - tika
    environment:
      - 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
  web3:
    image: 6kare/emakin:latest
    expose:
      - "80"
      - "5000"
    depends_on:
      - redis
      - postgres
      - basex
      - tika
    environment:
      - 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
  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: "basex/basexhttp"
    expose:
      - "1984"
    volumes:
      - "basexdata:/srv/basex/data"
  tika:
    image: "6kare/tika"
    restart: always
    expose:
      - 9998
volumes:
  pgdata:
  basexdata:





  • No labels