Container Deployment #
INFINI Console supports container deployment.
Downloading an Image #
The images of INFINI Console are published at the official repository of Docker. The URL is as follows:
https://hub.docker.com/r/infinilabs/console
Use the following command to obtain the latest container image:
docker pull infinilabs/console:latest
Verifying the Image #
After downloading the image locally, you will notice that the container image of INFINI Console is very small, with a size less than 30 MB. So, the downloading is very fast.
✗ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
infinilabs/console latest 8c27cd334e4c 47 minutes ago 26.4MB
Create configuration #
Now you need to create a configuration file console.yml
for basic configuration, as follows:
# for this System Cluster, please use Elasticsearch v7.3+
elasticsearch:
- name: default
enabled: true
monitored: false
endpoint: http://192.168.3.188:9299
basic_auth:
username: elastic
password: ZBdkVQUUdF1Sir4X4BGB
discovery:
enabled: true
web:
enabled: true
embedding_api: true
auth:
enabled: true
ui:
enabled: true
path: .public
vfs: true
local: true
network:
binding: 0.0.0.0:9000
skip_occupied_port: true
gzip:
enabled: true
elastic:
elasticsearch: default
enabled: true
remote_configs: true
health_check:
enabled: true
interval: 30s
availability_check:
enabled: true
interval: 60s
metadata_refresh:
enabled: true
interval: 30s
cluster_settings_check:
enabled: true
interval: 20s
store:
enabled: false
orm:
enabled: true
init_template: true
template_name: ".infini"
index_prefix: ".infini_"
metrics:
enabled: true
major_ip_pattern: "192.*"
queue: metrics
elasticsearch:
enabled: true
cluster_stats: true
node_stats: true
index_stats: true
pipeline:
- name: indexing_merge
auto_start: true
keep_running: true
processor:
- indexing_merge:
input_queue: "metrics"
elasticsearch: "default"
index_name: ".infini_metrics"
output_queue:
name: "metrics_requests"
label:
tag: "metrics"
worker_size: 1
bulk_size_in_mb: 10
- name: consume-metrics_requests
auto_start: true
keep_running: true
processor:
- bulk_indexing:
bulk:
compress: true
batch_size_in_mb: 10
batch_size_in_docs: 5000
consumer:
fetch_max_messages: 100
queues:
type: indexing_merge
when:
cluster_available: [ "default" ]
- name: metadata_ingest
auto_start: true
keep_running: true
processor:
- metadata:
bulk_size_in_mb: 10
bulk_max_docs_count: 5000
fetch_max_messages: 1000
elasticsearch: "default"
queues:
type: metadata
category: elasticsearch
consumer:
group: metadata
when:
cluster_available: [ "default" ]
- name: activity_ingest
auto_start: true
keep_running: true
processor:
- activity:
bulk_size_in_mb: 10
bulk_max_docs_count: 5000
fetch_max_messages: 1000
elasticsearch: "default"
queues:
category: elasticsearch
activity: true
consumer:
group: activity
when:
cluster_available: [ "default" ]
Note: Please change the relevant configuration of Elasticsearch in the above configuration to the actual server connection address and authentication information, which requires version v7.3 or above.
Starting the Console #
Use the following command to start the INFINI Console container:
docker run -p 9000:9000 -v=`pwd`/console.yml:/console.yml infinilabs/console:latest
Docker Compose #
You can also use docker compose to manage container instances. Create one docker-compose.yml
file as follows:
version: "3.5"
services:
infini-console:
image: infinilabs/console:latest
ports:
- 9000:9000
container_name: "infini-console"
volumes:
- ../console.yml:/console.yml
volumes:
dist:
In the directory where the configuration file resides, run the following command to start INFINI Console.
➜ docker-compose up