Host a simple website¶
Prepare a repository¶
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>My website</title>
</head>
<body>
<h1>Hello from Coolify</h1>
</body>
</html>
Push it to a public HTTPS Git repository:
Web UI path¶
- Create a project and
productionenvironment. - Select New Resource → Public Git repository.
- Enter the repository and branch.
- Select Static as the build pack.
- Use
/for root files; Vite-style output is oftendist. - When the platform's
cooldomain pool is configured, leave Domain empty and Coolify allocates a unique tenant address. - Add a custom domain such as
https://site.example.comonly after application validation. - Check the homepage, static assets, TLS, and SPA refresh routes.
Automatic tenant domain¶
After one wildcard configuration, users do not need a per-project DNS or reverse-proxy edit. Omitting --domain asks ChatCoolify to request a Coolify-generated address; the plan should include:
The allocated URL has this shape:
AI plan and execution¶
Create a plan first:
coolify website-plan \
--project-uuid PROJECT_UUID \
--server-uuid SERVER_UUID \
--environment-uuid ENVIRONMENT_UUID \
--repository-url https://github.com/example/simple-site \
--build-pack static \
--publish-directory /
Create only after confirming the project, server, environment, repository, and automatic-domain policy:
coolify --allow-write website-create \
--project-uuid PROJECT_UUID \
--server-uuid SERVER_UUID \
--environment-uuid ENVIRONMENT_UUID \
--repository-url https://github.com/example/simple-site \
--build-pack static \
--publish-directory / \
--deploy
Acceptance¶
Confirm that:
- pages and static assets succeed;
- TLS and redirects are correct;
- Git changes deploy as expected;
- CPU, memory, storage, and build resources are bounded;
- Deployment History has a usable rollback version.