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

# Dokploy

> Deploy a dedicated Dokploy instance: run apps and databases via Docker with Traefik routing and automatic TLS, preinstalled on a Strettch Cloud Compute.

<Info>
  **Category:** paas · devops · docker · self-hosted
  **OS:** Ubuntu 24.04 · **Version:** 0.29.12
</Info>

## Overview

Dokploy is an open-source, self-hosted PaaS used to deploy applications and databases from a web dashboard, with Docker builds, Traefik reverse proxying, and automatic TLS handled for you.

This image comes with Dokploy installed but switched off: the web port stays closed until you run setup, so nobody can claim the admin account before you do. Setup takes about three minutes and runs the first time you log in.

## What is on this image

Everything below sits on top of a stock Ubuntu 24.04 server.

| Software              | What it does                                                      |
| --------------------- | ----------------------------------------------------------------- |
| Dokploy               | The platform, plus the Postgres and Traefik containers it runs on |
| Docker and Compose    | Runs Dokploy and whatever you deploy with it                      |
| `ufw`                 | Firewall, already configured(see Security below)                  |
| `fail2ban`            | Blocks IPs that keep failing SSH logins                           |
| `unattended-upgrades` | Applies Ubuntu security updates on its own                        |
| `sc-console-agent`    | Runs the browser console in the Strettch Cloud dashboard          |
| `sc-metrics-agent`    | Sends CPU, memory, and disk metrics to your dashboard             |

## 1. Connect

Once your Compute is running, SSH in as root:

```bash theme={null}
ssh root@YOUR_COMPUTE_IP
```

The root password and SSH key are in the Strettch Cloud console. Setup starts automatically when you log in. If you would rather work from the browser console, run `/opt/sc/dokploy/setup.sh` there instead.

## 2. Answer three questions

Setup asks for:

* **Admin email**: This is what you will use to log in.
* **Your name**: will be used as the display name. Press Enter to accept `Admin`
* **Admin password**: make sure it is at least twelve characters, typed twice

<Warning>
  Pick and save a strong password. Whoever holds the Dokploy admin login controls the whole server. Everything else, setup handles on its own.
</Warning>

## 3. Log in

Setup prints your URL when it finishes. Open it:

```
http://YOUR_COMPUTE_IP:3000
```

If your Compute has a public IP, use that one, you will find it in the console. When required any login details use the previous email and password you entered in your compute.

## 4. Add a domain and HTTPS

Optional, but worth doing if you have a domain. Point an A record at your Compute's public IP, then set the domain in the Dokploy dashboard. It requests a certificate for you automatically, and ports 80 and 443 are already open. Dokploy documents the full details at [docs.dokploy.com](https://docs.dokploy.com).

## Managing it

| Command                     | What it does                                                           |
| --------------------------- | ---------------------------------------------------------------------- |
| `/opt/sc/dokploy/info.sh`   | Prints your URL and admin email again                                  |
| `/opt/sc/dokploy/status.sh` | Shows whether Dokploy is running, which ports are open, and disk usage |
| `/opt/sc/dokploy/debug.sh`  | Collects logs for support, with secrets stripped out                   |

## Security

The firewall allows SSH, HTTP, HTTPS, the Dokploy UI, and the Strettch Cloud agent. Everything else coming in is blocked.

`fail2ban` watches SSH however ten failed logins bans an IP for six hours, with longer bans for repeat offenders, up to a week.

```bash theme={null}
fail2ban-client status sshd
ufw status
```

<Note>
  Your password is never stored on the server, so only you have it. If you cancel setup partway through or mistype something, nothing is exposed, you can log in again and it starts over.
</Note>
