Desplegar una aplicación en Coolify¶
La GitHub App ya tiene que listar el repo. Si no: conectar GitHub.
Estos pasos son los de cualquier Application desde un repo privado. El ejemplo concreto de este sitio está en MkDocs.
1. Recurso nuevo¶
- Coolify → el proyecto → environment (casi siempre
production). - + New.
- Private Repository (with GitHub App).
No elijas Public URL ni Deploy Key.
2. Repo y build¶
- GitHub App: la Source de FADUA (
coolify-github-app-fadua-sla). - Repository: el repo (ej.
FADUA-S-A/sla-crp-mkdocs). - Load repository si el dropdown está vacío.
- Branch: la de producción (
mainen este sitio). - Build pack: el que corresponda al repo, no el default a ciegas.
| Si el repo tiene… | Build pack | Puerto típico |
|---|---|---|
Dockerfile de sitio estático / nginx |
Dockerfile | el EXPOSE (acá 80) |
| App Node/Python sin Dockerfile | Nixpacks o Railpack | el que escucha la app (a menudo 3000) |
docker-compose.yml |
Docker Compose | según cada servicio |
Railpack no es el default correcto para este MkDocs
Coolify suele proponer Railpack, Output type Web application y puerto 3000.
Este repo se construye con el Dockerfile (Python → mkdocs build → nginx).
Si dejás Railpack, no usás esa imagen.
- Base directory:
/salvo que la app viva en un subdirectorio. - Continue.
3. Dominio¶
En Configuration → General → Domains:
DNS: registro A de ese subdominio a la IP del VPS, igual que docs y coolify.
Traefik pide el certificado a Let's Encrypt.
No reutilices el dominio del panel (coolify.fadua.ar) para una app.
4. Usuario y contraseña (opcional pero este sitio lo usa)¶
MkDocs no tiene login. Lo pone Traefik.
- Misma Application → Configuration → General.
- Bajá a HTTP Basic Authentication.
- Switch ON, usuario y contraseña.
- Readonly labels activado (Coolify genera las labels del proxy).
- Save.
- Deploy otra vez. Sin redeploy el sitio sigue público.
Comprobá en una ventana privada. Si ya abriste el dominio, el navegador puede no volver a preguntar.
El toggle no existe en recursos Docker Compose: ahí las labels van en el compose.
5. Deploy y auto-deploy¶
Deploy (arriba a la derecha). El log tiene que terminar en verde.
Auto Deploy (General o Advanced) en ON: cada push a la rama configurada dispara un deploy.
No dispara deploy:
- commits solo locales
- push a otra rama
- Auto Deploy apagado
- webhook de GitHub que no llega a
https://coolify.fadua.ar
Prueba: un cambio mínimo en main → Coolify → Deployments tiene que mostrar un job nuevo.