> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usecompiler.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Get a self-hosted Compiler instance running and ask your first question.

This page walks through the fastest path to a working instance: Docker Compose on a server with a domain. For Kubernetes, ECS or another platform, see [Other platforms](/deployment/other-platforms). Heroku has [its own guide](/deployment/heroku).

## Prerequisites

* A server with Docker and Docker Compose
* A domain name pointing at the server, with ports 80 and 443 open
* A GitHub account that can create GitHub Apps
* An [Anthropic API](https://console.anthropic.com) key, or AWS credentials for [Bedrock](/configuration/aws-bedrock)

## Get started

<Steps>
  <Step title="Create the files">
    Make a folder with a `docker-compose.yml`, a `Caddyfile` and a `.env`. Copy them from [Docker deployment](/deployment/docker#1-create-the-files).

    Generate the database password and the encryption key with:

    ```bash theme={null}
    openssl rand -hex 32
    ```
  </Step>

  <Step title="Start Compiler">
    ```bash theme={null}
    docker compose up -d
    ```

    Database migrations run on startup. Open `https://your-domain` and sign up as the first user.
  </Step>

  <Step title="Connect GitHub">
    Setup asks for a GitHub App. Create one by following [GitHub App setup](/configuration/github-app), enter its App ID, slug and private key, then install it on the repositories Compiler may read.
  </Step>

  <Step title="Choose an AI provider">
    Pick the Anthropic API or [AWS Bedrock](/configuration/aws-bedrock) and enter your credentials.
  </Step>

  <Step title="Create a project">
    Create your first project and choose the repositories it covers. Compiler clones them in the background, and you can start asking questions while they sync.
  </Step>
</Steps>

## Next steps

<Columns cols={2}>
  <Card title="Add file uploads" icon="hard-drive" href="/configuration/storage">
    Let people attach images and documents to conversations.
  </Card>

  <Card title="Connect Slack" icon="slack" href="/configuration/slack">
    Answer questions directly in Slack threads.
  </Card>
</Columns>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.