Skip to content

docker minimal setup without the analytics or core services #10207

@ShubhamTiwary914

Description

@ShubhamTiwary914

Actions before raising this issue

  • I searched the existing issues and did not find anything similar.
  • I read/searched the docs

Is your feature request related to a problem? Please describe.

Context

CVAT setup guide shows how to setup via docker compose, and it works well, but now I'd like to self host on some other machine, which has lower specs,
and so I wanna see if it possible to remove some services like clickhouse, grafana, etc... or non-core services as much as possible such that the main annotation still works.

Tried so far: removing clickhouse, traefik, etc and their depends_on or other references, as well as the other compose files like dev, ci, etc tho only docker-compose.yaml actually works.
Could not find any related issues or docs, please do mention if I might've missed something there, hank you.


Benchmarks

I've ran on my local machine and benchmarked it:

NAME                               CPU %     MEM USAGE / LIMIT   MEM %     NET I/O           BLOCK I/O         PIDS
cvat_ui                             0.00%    12.94MiB   /  4GiB                 6.7kB 
cvat_worker_quality_reports         0.12%    203MiB   /  4GiB                 50.2kB
cvat_worker_chunks                  0.23%    380.4MiB    /   4GiB                 61.9kB
cvat_worker_consensus               0.13%    201.6MiB     /  4GiB                 50.8kB
cvat_worker_utils                   0.13%    370.5MiB  /    4GiB                 58.8kB
cvat_server                         0.51%    394.5MiB    /      4GiB                 193kB 
cvat_worker_annotation              0.14%    205.8MiB   /     4GiB                 49.5kB
cvat_worker_webhooks                0.13%    206.3MiB     /      4GiB                 49.2kB
cvat_worker_import                  0.25%    386.3MiB    /     4GiB                 60.9kB
cvat_worker_export                  0.23%    379.9MiB      /   4GiB                 58.7kB
cvat_vector                         0.04%    83.4MiB    /      4GiB                 8.31kB
cvat_db                             0.04%    23.76MiB      /    4GiB                 84.4kB
cvat_redis_inmem                    0.35%    10.48MiB    /    4GiB                 82.9kB
traefik                             0.00%    28.17MiB      /     4GiB                 9.09kB
cvat_grafana                        0.29%    157MiB    /   4GiB                 12.8MB
cvat_clickhouse                     1.47%    739.2MiB      /   4GiB                 13.9kB
cvat_redis_ondisk                   0.16%    90.56MiB    /    4GiB                 14.4kB
cvat_opa                            0.00%    34.9MiB  /    4GiB                 75kB  
--------------------------------------------------------------------------------
TOTAL    CPU 4.22% | MEM 3908.71 MiB | NET RX 0.00 MiB TX 0.00 MiB | BLK R 72.00 MiB W 0.00 MiB | PIDS 940

But taking out the clickhouse, and other non-core services may reduce that requirements even lower.

Describe the solution you'd like

The main idea is:

would it be possible to have some sort of docker-compose.minimal.yaml that can maybe work lower resources by using something like:

x-limits: &limits
  deploy:
    resources:
      limits:
        cpus: ${CPU_LIMIT}
        memory: ${MEM_LIMIT}

services:
   service-a: 
      <<: *limits   

Describe alternatives you've considered

No response

Additional context

None

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions