Saltar a contenido

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

  1. Coolify → el proyecto → environment (casi siempre production).
  2. + New.
  3. Private Repository (with GitHub App).
    No elijas Public URL ni Deploy Key.

2. Repo y build

  1. GitHub App: la Source de FADUA (coolify-github-app-fadua-sla).
  2. Repository: el repo (ej. FADUA-S-A/sla-crp-mkdocs).
  3. Load repository si el dropdown está vacío.
  4. Branch: la de producción (main en este sitio).
  5. 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.

  1. Base directory: / salvo que la app viva en un subdirectorio.
  2. Continue.

3. Dominio

En Configuration → General → Domains:

https://subdominio.fadua.ar

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.

  1. Misma Application → Configuration → General.
  2. Bajá a HTTP Basic Authentication.
  3. Switch ON, usuario y contraseña.
  4. Readonly labels activado (Coolify genera las labels del proxy).
  5. Save.
  6. 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.

Relacionado