# Docker Compose

1. Install Docker Engine in your local environment by following [these](https://docs.docker.com/engine/install/) steps
2. Install Docker Compose in your local environment by following [these](https://docs.docker.com/compose/install/) steps
3. Create a directory to save the docker compose file.

```
mkdir -p gopaddle
cd gopaddle
```

3. Create a Docker compose file with the following content and save the file

```
services:
  gopaddle:
    depends_on: 
      - mongodb
      - redis
    image: gopaddle/gplite
    ports:
      - "8006:8006"
      - "8080:8080"
      - "8017:8017"
      - "8009:8009"
      - "8011:8011"
      - "9090:9090"
    environment:
      BASE_SERVER: http://localhost:8006
      GP_RELEASE: 4.2.7
      INSTALL_SOURCE: lite
      CLUSTER_TYPE: docker
      NODE_IP: http://localhost:8006
      DOMAIN_NAME: http://localhost:8006
      WEBHOOK_NODE_IP: http://localhost:9090
    healthcheck:
      test: curl --fail http://localhost:8080 || exit 1
      interval: 10s
      retries: 5
      start_period: 30s
      timeout: 30s
  mongodb:
    container_name: mongodb
    image: mongo:4.0.4
    restart: always
    environment:
      MONGO_INITDB_ROOT_USERNAME: admin
      MONGO_INITDB_ROOT_PASSWORD: cGFzc3dvcmQ
      MONGO_LITE_USERNAME: lite
    volumes:
      - type: bind
        source: ~/mongodb
        target: /var/lib/mongodb
        bind:
          create_host_path: true
  redis:
    image: gopaddle/redis:3.2-alpine
    container_name: redis
  influxdb:
    image: gopaddle/influxdb:1.7.0
    container_name: influxdb
    environment:
      INFLUXDB_ADMIN_PASSWORD: cGFzc3dvcmQ
      INFLUXDB_ADMIN_USER: admin
      INFLUXDB_HTTP_AUTH_ENABLED: "true"
    volumes:
      - type: bind
        source: ~/influxdb
        target: /var/lib/influxdb
        bind:
          create_host_path: true
  esearch:
    image: elasticsearch:7.12.0
    container_name: esearch
    environment:
      discovery.type: single-node
      ELASTIC_PASSWORD: cGFzc3dvcmQ
  rabbitmq:
    image: gopaddle/rabbitmq:3.8.5
    container_name: rabbitmq
```

3. Deploy the docker compose file as below:

```
docker compose up
```

5. Access the gopaddle UI @ `http://localhosts:8080`


---

# Agent Instructions: 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:

```
GET https://help.gopaddle.io/overview/installing-community-edition/docker-compose.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
