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

# Deployment

> Deploy your Palico app to production with Docker. Setup CI/CD and Pull Request Preview with Coolify.

You can host your Palico app on any server that supports Docker. We recommend using [Coolify](https://coolify.io) for hosting and setting up CI/CD and Pull Request Preview.

## Create Docker-Compose File

You can generate a docker-compose file by running the following command:

```bash theme={null}
npm run selfhost:init
```

This will generate a `docker-compose.yml` and `Dockerfile` at the root of your projects.

## Environment Variables

The following environment variables are required to run your Palico app:

```
# TEMPLATE ENV VARS FOR DOCKER COMPOSE FOR PROD DEPLOYMENT
# ================
DOCKER_COMPOSE_JWT_SECRET="local-secret"
DOCKER_COMPOSE_SERVICE_KEY="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiYXBpa2V5IiwiaWF0IjoxNzI3OTk1MTg1fQ.7sqVWeiU4LNWRne_OGQb7pd0rZoPbSJ59j-BwaKJfkU"
DOCKER_COMPOSE_STUDIO_USERNAME="admin"
DOCKER_COMPOSE_STUDIO_PASSWORD="password"
DOCKER_COMPOSE_DATABASE_USERNAME="root"
DOCKER_COMPOSE_DATABASE_PASSWORD="root"
DOCKER_COMPOSE_DATABASE_NAME="palicoapp"
DEV_MODE="false"
```

You MUST replace at least the first 4 environment variables. You can generate a new `DOCKER_COMPOSE_JWT_SECRET` and `DOCKER_COMPOSE_SERVICE_KEY` by running the following command:

```bash theme={null}
npm run palico generate secret
```

## Deploy to Coolify

You can deploy your Palico app to Coolify by checking out the [Coolify Documentation](https://coolify.io/docs/).

You will likely need a https domain to connect to your Palico app hosted on Coolify from your Palico Studio or other clients.

<Note>
  Video Tutorial Coming Soon
</Note>
