# Install on Coolify

> Deploy Resta on Coolify as a Docker Compose resource. Coolify generates the passwords and routes your domain to the gateway.

Source: https://resta.dev/docs/install-coolify · Updated 2026-11-01

**Resta ships a `docker-compose.yml` written for Coolify: you add it as a Docker Compose resource, set a domain on the gateway service, and deploy.** Coolify generates the internal passwords and routes HTTPS traffic for your domain to the gateway. You create your account on first visit.

> The source repository is not public yet. These steps describe the compose file as it is; the repository link will be added here at release.

## Steps

1. In Coolify, create a new resource and choose **Docker Compose**. Point it at the Resta repository, or paste its `docker-compose.yml`.
2. Open the **gateway** service and set its domain, for example `https://db.example.com`. Leave the other services without domains: they are only reachable inside the stack.
3. Deploy.
4. Open your domain and complete **Set up this server**.

## What Coolify fills in

The compose file uses Coolify's magic variables, so there is nothing to generate by hand:

| Variable | Used for |
|---|---|
| `SERVICE_FQDN_GATEWAY` | The public URL. Resta returns it to clients as each database's address. |
| `SERVICE_PASSWORD_POSTGRES` | The Postgres password. |
| `SERVICE_PASSWORD_64_OPERATOR` | Token for the operator routes, which are only reachable inside the stack. |
| `SERVICE_PASSWORD_64_NODEADMIN` | Token the API uses to call the node's internal admin port. |

The token signing keys are generated on first start into the `keys` volume.

## Optional settings

Set these as environment variables on the resource:

| Variable | Why |
|---|---|
| `RESTA_ADMIN_EMAIL`, `RESTA_ADMIN_PASSWORD` | Create the account at start instead of in the browser. |
| `RESTA_BACKUP_TARGET` and S3 settings | Send backups to a bucket off the server. See [Backups](https://resta.dev/docs/backups). |
| `RESTA_VERSION` | Pin an image version. |

All settings: [Configuration](https://resta.dev/docs/configuration).

## Back up Postgres too

Database snapshots do not include Postgres. Turn on Coolify's scheduled backups for the `postgres` service, or run `pg_dump` on a schedule. Postgres holds the account, API keys and the database list.

## Check it

```sh
curl https://db.example.com/health
# ok
```

Next: [Quickstart](https://resta.dev/docs/quickstart).
