> For the complete documentation index, see [llms.txt](https://docs.hackle.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hackle.io/en/development-guide/hackle-proxy/proxy-sdk-setting.md).

# Install Hackle Proxy

## Using Docker

If Docker is not installed, refer to the [Install Docker](/en/development-guide/hackle-proxy/set-docker.md) document to install Docker first, then continue below.

## 1. Run Docker Standalone

### 1.1 Download Docker Image

Use the following command to download the Hackle Proxy image.

```dockerfile
docker pull hackle/proxy
```

### 1.2 Run Hackle Proxy

You can run Hackle Proxy using the following command.

```dockerfile
docker run -d \
			-e SDK_KEYS=YOUR_SDK_KEY \
			-p 8888:8888 \
			--name hackle-proxy \
			hackle/proxy
```

Run **`Hackle Proxy`** by specifying the SDK Key. You can find the SDK Key in the [SDK Keys](/en/development-guide/sdk/get-your-key.md) document.

You can enter up to 4 SDK Keys using `,` as a separator.

### 1.3 Verify Installation

```shell
curl http://localhost:8888/hello
```

## 2. Using Docker Compose

### 2.1 Write the Script

If you are using Docker Compose, you can run it by writing **`docker-compose.yml`** as follows.

```dockerfile
version: '3.1'

services:

  hackle-proxy:
    image: hackle/proxy
    ports:
      - 8888:8888
    environment:
      SDK_KEYS: YOUR_SDK_KEY
```

Run **`Hackle Proxy`** by specifying the SDK Key. You can find the SDK Key in the [SDK Keys](/en/development-guide/sdk/get-your-key.md) document.

You can enter up to 4 SDK Keys using `,` as a separator.

### 2.2 Run

```dockerfile
docker-compose up -d
```

## 3. Other

### 3.1 Minimum Requirements

The Proxy is implemented to run on low-spec hardware. However, for performance reasons, the following minimum specs are recommended:

* CPU: 1 core
* Memory: 1GB

## 4. Troubleshooting

```shell
library initialization failed - unable to allocate file descriptor table - out of memory
```

If you encounter the above issue when starting Docker, add the following option:

```shell
--ulimit nofile=1024:1024
```

## If you are not using Docker

If Docker is not installed, a Proxy available without Docker is currently being prepared. Refer to the [Install Docker](/en/development-guide/hackle-proxy/set-docker.md) document to install Docker and then use the Proxy.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.hackle.io/en/development-guide/hackle-proxy/proxy-sdk-setting.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
