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

# Coolify — your own PaaS

> Deploy apps, databases, and Docker from Git with auto-SSL

Coolify is a self-hosted deployment platform — your own Heroku/Vercel on your server: apps from Git, databases, and Docker services come up through a web interface, with an automatic reverse proxy and SSL. You pay only for the VPS, with no vendor lock-in and no monthly cloud fee.

<Note>
  The commands and numbers were checked against the official documentation [coolify.io/docs](https://coolify.io/docs) as of writing — the installer and requirements get updated, so look there before installing.
</Note>

## What you'll need

A Lumi server with **Ubuntu 22.04** (the default image) and at least 2 GB of RAM — 4 GB and up is comfortable (the VPS-2 plan or higher). Grab the IP, the `root` login, and the password from the server card in [@lumivps\_bot](https://t.me/lumivps_bot).

<Warning>
  You **don't need** to install Docker ahead of time — the installer brings it up itself. If the server already has Docker from **snap**, remove it — that version isn't supported. And free up ports 80/443/8000 if nginx, Apache, or another panel is sitting on them.
</Warning>

## Installation

<Steps>
  <Step title="Connect to the server over SSH">
    ```bash theme={"system"}
    ssh root@YOUR_SERVER_IP
    ```
  </Step>

  <Step title="Run the official installer">
    A single command installs Docker Engine, the dependencies, and the whole Coolify stack into `/data/coolify`:

    ```bash theme={"system"}
    curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash
    ```

    It takes a few minutes. At the end, the script prints the dashboard address.
  </Step>

  <Step title="Open the dashboard and create an admin">
    Go to `http://SERVER_IP:8000` — the registration page opens. Create the **first account**: it becomes the owner of the instance.

    <Warning>
      Register **immediately** after installation. Whoever opens the registration page first gets full control over the server — don't drag your feet.
    </Warning>
  </Step>
</Steps>

## Open the ports in the firewall

Coolify uses several ports:

| Port        | What for                              |
| ----------- | ------------------------------------- |
| 8000        | Coolify dashboard                     |
| 80 / 443    | App HTTP/HTTPS and SSL issuance       |
| 6001 / 6002 | Realtime updates and the web terminal |

```bash theme={"system"}
ufw allow 8000/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 6001/tcp
ufw allow 6002/tcp
```

<Warning>
  Coolify runs on Docker, and Docker can **bypass ufw** through its own iptables rules — a port may stay open even if ufw "isn't letting it through." For reliable filtering, use your **provider's firewall** (on the cloud side) or set up the `ufw-docker` combo. More on ufw — [Firewall](/en/vps/firewall).
</Warning>

## Domain and SSL

By default the dashboard works over IP and HTTP. To put it on a domain with HTTPS:

<Steps>
  <Step title="Point a domain at the server">
    Create an **A record** (for example `coolify.yourdomain.ru` → server IP). How — [DNS records](/en/domains/dns).
  </Step>

  <Step title="Set the domain in Coolify">
    In the dashboard: **Settings → Configuration** → the **Instance's Domain (FQDN)** field → enter the address **with `https://`**: `https://coolify.yourdomain.ru` → **Save**.
  </Step>

  <Step title="SSL issues itself">
    Coolify configures the built-in reverse proxy (Traefik) and automatically obtains a Let's Encrypt certificate. Renewal is automatic too — there's nothing to do.
  </Step>
</Steps>

<Tip>
  The same principle works for apps: when you create a resource, you specify its domain with `https://`, and Coolify issues a certificate for it on its own.
</Tip>

## First deploy

<Steps>
  <Step title="The server is already connected">
    Coolify adds `localhost` (this very server) automatically during installation — there's no need to connect it separately.
  </Step>

  <Step title="Create a project">
    **+ New** → **Project**, and inside it — an environment (Production by default).
  </Step>

  <Step title="Add a resource">
    **+ New Resource** → choose a source: a public or private **Git repository**, a ready-made **Docker image**, or **Docker Compose**. Coolify builds and runs it on its own.
  </Step>

  <Step title="Set a domain and deploy">
    Enter the app's domain with `https://` (SSL issues itself) → **Deploy**. From then on, every push to the repository deploys with a button or automatically via webhook.
  </Step>
</Steps>

## Pitfalls

<AccordionGroup>
  <Accordion title="Too little RAM — it crashes during the build" icon="memory">
    On 1 GB, Coolify is unstable. Keep at least 2 GB for Coolify itself plus headroom for your apps (comfortable is 4 GB and up, the VPS-2 plan or higher).
  </Accordion>

  <Accordion title="Port 80/443/8000 is already taken" icon="plug-circle-xmark">
    If nginx, Apache, or another panel is already running on the server, Coolify's proxy won't start. Stop or remove them (or move them to another port) before installing.
  </Accordion>

  <Accordion title="ufw doesn't close the ports" icon="shield-halved">
    Docker bypasses ufw — see the firewall block above. Use your provider's firewall or `ufw-docker`.
  </Accordion>

  <Accordion title="Docker from snap" icon="box">
    Not supported. Remove the snap version of Docker before installing — Coolify will install its own.
  </Accordion>
</AccordionGroup>

Lumi handles the server and network; software setup is on you. Network or port issues — write to [@lumisup\_robot](https://t.me/lumisup_robot).

## Where to next

<CardGroup cols={2}>
  <Card title="Docker" icon="box" href="/en/vps/docker">
    Coolify runs on Docker — how it's built.
  </Card>

  <Card title="Your own domain" icon="globe" href="/en/domains/connect">
    Connect a domain to apps in Coolify.
  </Card>
</CardGroup>
