> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/deployment/ko/self-hosted/inference-server/install/linux.md).

# Linux에 설치

CPU, GPU 또는 TensorRT에서 Inference CLI, Docker 또는 Docker Compose를 사용하여 Linux에 Roboflow Inference Server를 설치하고 실행합니다.

이 페이지의 Docker 예제는 localhost의 포트 9001을 공개합니다. 다른 컴퓨터의 클라이언트의 경우, 매핑을 접근 가능한 호스트 주소로 의도적으로 변경하고 구성하세요 [서버 액세스](/deployment/ko/self-hosted/inference-server/configuration/security.md#restrict-network-access).

기본 설정이 잘 되어 있는(캐시 볼륨과 안전한 비권한 실행 모드) 올바른 컨테이너를 머신에 맞게 시작하는 가장 쉬운 방법은 CLI가 선택해 다음으로 시작하게 하는 것입니다 `inference server start`. [Docker 설치](https://docs.docker.com/engine/install/) 먼저:

```bash
pip install inference-cli
inference server start
```

## 컨테이너를 수동으로 시작하기

컨테이너 설정을 더 세밀하게 제어하고 싶다면, 직접 시작하세요.

{% tabs %}
{% tab title="CPU" %}
핵심 CPU Docker 이미지에는 onnxruntime를 통해 x64 CPU에서 OpenVINO 가속을 지원하는 기능이 포함되어 있습니다. SAM2 같은 무거운 모델은 너무 느리게 실행되어(이미지당 수십 초) 실용적이지 않을 수 있습니다. 그런 모델이 필요하다면 CUDA를 지원하는 GPU를 사용하세요.

CPU 추론의 주요 사용 사례는 정지 이미지 처리(예: 업로드된 파일의 NSFW 분류 또는 문서 검증) 또는 비디오에서 프레임을 드물게 샘플링하는 것(예: 주차장 점유 추적)입니다.

CPU 추론을 시작하려면 `roboflow/roboflow-inference-server-cpu:latest` 컨테이너를 사용하세요.

```bash
sudo docker run -d \\
    --name inference-server \\
    --read-only \\
    -p 127.0.0.1:9001:9001 \
    --volume ~/.inference/cache:/tmp:rw \\
    --security-opt="no-new-privileges" \\
    --cap-drop="ALL" \\
    --cap-add="NET_BIND_SERVICE" \\
    roboflow/roboflow-inference-server-cpu:latest
```

{% endtab %}

{% tab title="GPU" %}
GPU 컨테이너는 NVIDIA-Docker를 통해 CUDA를 지원하는 카드에서 하드웨어 가속을 추가합니다. 다음을 따르세요 [NVIDIA Container Toolkit 설치 가이드](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html)그런 다음 `--gpus all` 을 `docker run` 명령을 추가하세요:

```bash
sudo docker run -d \\
    --name inference-server \\
    --gpus all \\
    --read-only \\
    -p 127.0.0.1:9001:9001 \
    --volume ~/.inference/cache:/tmp:rw \\
    --security-opt="no-new-privileges" \\
    --cap-drop="ALL" \\
    --cap-add="NET_BIND_SERVICE" \\
    roboflow/roboflow-inference-server-gpu:latest
```

{% endtab %}

{% tab title="TensorRT" %}
GPU 컨테이너에서는 선택적으로 [TensorRT](https://developer.nvidia.com/tensorrt), NVIDIA의 모델 최적화 런타임입니다. 각 모델을 처음 로드할 때 무거운 컴파일 및 최적화 단계(때때로 15분 이상)를 치르는 대신 모델 속도를 크게 높여줍니다.

TensorRT를 활성화하려면 다음을 추가하세요 `TensorrtExecutionProvider` 을 `ONNXRUNTIME_EXECUTION_PROVIDERS` 환경 변수를 활성화할 수 있습니다.

```bash
sudo docker run -d \\
    --name inference-server \\
    --gpus all \\
    --read-only \\
    -p 127.0.0.1:9001:9001 \
    --volume ~/.inference/cache:/tmp:rw \\
    --security-opt="no-new-privileges" \\
    --cap-drop="ALL" \\
    --cap-add="NET_BIND_SERVICE" \\
    -e ONNXRUNTIME_EXECUTION_PROVIDERS="[TensorrtExecutionProvider,CUDAExecutionProvider,OpenVINOExecutionProvider,CPUExecutionProvider]" \\
    roboflow/roboflow-inference-server-gpu:latest
```

{% endtab %}
{% endtabs %}

## Docker Compose

애플리케이션에 Docker Compose를 사용한다면, 이에 해당하는 YAML은 다음과 같습니다:

{% tabs %}
{% tab title="CPU" %}

```yaml
version: "3.9"

services:
  inference-server:
    container_name: inference-server
    image: roboflow/roboflow-inference-server-cpu:latest

    read_only: true
    ports:
      - "127.0.0.1:9001:9001"

    volumes:
      - "${HOME}/.inference/cache:/tmp:rw"

    security_opt:
      - no-new-privileges
    cap_drop:
      - ALL
    cap_add:
      - NET_BIND_SERVICE
```

{% endtab %}

{% tab title="GPU" %}

```yaml
version: "3.9"

services:
  inference-server:
    container_name: inference-server
    image: roboflow/roboflow-inference-server-gpu:latest

    read_only: true
    ports:
      - "127.0.0.1:9001:9001"

    volumes:
      - "${HOME}/.inference/cache:/tmp:rw"

    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]

    security_opt:
      - no-new-privileges
    cap_drop:
      - ALL
    cap_add:
      - NET_BIND_SERVICE
```

{% endtab %}

{% tab title="TensorRT" %}

```yaml
version: "3.9"

services:
  inference-server:
    container_name: inference-server
    image: roboflow/roboflow-inference-server-gpu:latest

    read_only: true
    ports:
      - "127.0.0.1:9001:9001"

    volumes:
      - "${HOME}/.inference/cache:/tmp:rw"

    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]

    environment:
      ONNXRUNTIME_EXECUTION_PROVIDERS: "[TensorrtExecutionProvider,CUDAExecutionProvider,OpenVINOExecutionProvider,CPUExecutionProvider]"

    security_opt:
      - no-new-privileges
    cap_drop:
      - ALL
    cap_add:
      - NET_BIND_SERVICE
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
Roboflow Enterprise 요금제에는 [Helm 차트](https://github.com/roboflow/inference/tree/main/inference/enterprise/helm-chart) Kubernetes 배포, OT 네트워크용 네트워킹 솔루션, 맞춤형 지원 및 설치 패키지를 위한 것입니다. [영업팀에 문의하세요](https://roboflow.com/sales) 자세한 내용을 알아보세요.
{% endhint %}

## 다음 단계

* [새 서버에서 모델을 실행하세요.](/deployment/ko/self-hosted/self-hosted.md#run-model-locally) 새 서버를 대상으로.
* [Docker 구성 옵션](/deployment/ko/self-hosted/inference-server/configuration/docker-configuration.md) 포트, 캐싱, 모델 제한용
* [자체 호스팅 서버 보안](/deployment/ko/self-hosted/inference-server/configuration/security.md) localhost를 넘어 노출하기 전에.
