Conectar GitHub a Coolify (organización)¶
Coolify no se “loguea” en github.com. Se crea una GitHub App, se instala en la
organización FADUA-S-A y Coolify guarda App ID, Installation ID, secretos y
la clave .pem. Recién ahí puede listar repos privados y desplegar.
Hace falta ser Owner o Admin de FADUA-S-A.
Dos caminos¶
| Camino | Cuándo |
|---|---|
| Automated installation (Register with GitHub) | Preferido. Coolify rellena URLs, permisos y secretos. |
| Manual installation (Continue manually) | Si GitHub abre el formulario vacío y hay que pegar cada campo. Es el que usamos al armar esta instancia. |
Las dos empiezan igual: crear la Source en Coolify.
Parte 1 — Source en Coolify¶
- Entrá a https://coolify.fadua.ar.
- Menú izquierdo → Sources → + Add.
- Completá:
- Name: por ejemplo
coolify-github-app-fadua-sla - Organization:
FADUA-S-A
Exacto, el slug. Vacío = tu usuario personal, no la org. - Continue.
Coolify abre la Source. En la barra de direcciones vas a ver:
Anotá el SOURCE_ID (el UUID después de /github/). Lo usa el Setup URL si vas por el camino manual.
Si ves dos tarjetas (Automated installation y Manual installation), todavía no hay App registrada. Elegí un camino abajo.
Parte 2A — Automático (recomendado para la próxima)¶
- En Webhook endpoint elegí
https://coolify.fadua.ar, no la IP ni:8000. - Preview deployments: opcional (
Read and update pull requestssi querés comentarios en PRs). - Register with GitHub.
- GitHub abre el alta con los campos ya cargados. Nombre único → Create GitHub App.
- GitHub te devuelve a Coolify.
- Install repositories → organización FADUA-S-A → repos (por lo menos
sla-crp-mkdocs) → Install.
Listo. Saltá a comprobar.
Parte 2B — Manual (lo que hay que hacer si GitHub pide todos los campos)¶
GitHub muestra un formulario largo (Homepage, Redirect URI, Webhook, Permissions…). Coolify no lo rellenó: hay que copiar los valores a mano y después Continue manually en Coolify para pegar IDs.
Dónde crear la App¶
No uses https://github.com/settings/apps/new (eso es tu usuario).
Usá:
Si la App ya existe y https://github.com/settings/apps/NOMBRE da 404, es normal:
la App es de la org. La URL correcta es:
Campos del formulario de GitHub¶
GitHub App name: coolify-github-app-fadua-sla (único en todo GitHub).
Homepage URL
Redirect URI (Callback)
- Allow wildcard matching → no
- Expire user authorization tokens → no
- Request user authorization during installation → no
- Enable Device Flow → no
Setup URL (reemplazá SOURCE_ID por el UUID de Coolify)
Redirect on update → sí
Webhook
- Active → sí
- Webhook URL:
- Secret: una cadena larga al azar. La misma tiene que ir en Coolify. Ejemplo:
Si aparece Enable SSL verification, activarlo.
Permissions¶
Dejá el resto en No access.
Repository permissions
| Permiso | Valor |
|---|---|
| Contents | Read-only |
| Metadata | Read-only |
| Pull requests | Read and write |
Account permissions
| Permiso | Valor |
|---|---|
| Email addresses | Read-only |
Subscribe to events¶
- Push (obligatorio para auto-deploy)
- Pull request (solo si querés preview de PRs)
Where can this GitHub App be installed?¶
Si creaste la App en la org: Only on this account (FADUA-S-A) está bien.
Si el formulario es de tu usuario (@fpadilla-fadua): tenés que elegir Any account. Si no, no se puede instalar en la org.
Create GitHub App.
Datos que GitHub te da después de crear¶
En la página de la App (la de la org):
- Anotá App ID (número, ej.
4873196). - Anotá Client ID (
Iv1.…). - Generate a new client secret → copiá el secret (se ve una sola vez).
- Private keys → Generate a private key → se baja un
.pem. - El Webhook secret es el que pusiste vos, no uno nuevo.
Instalar en la organización (Installation ID)¶
El Installation ID no existe hasta que instalás la App. No es el App ID.
- En la App: Install App.
- Elegí FADUA-S-A, no tu usuario.
- Only select repositories → por lo menos
sla-crp-mkdocs. - Install.
GitHub deja una URL así:
El número final (160061605 en esta instancia) es el Installation ID.
Lista de instalaciones de la org:
Ahí → la App → Configure → el mismo número en la URL.
App ID ≠ Installation ID
Son dos números distintos. Pegar el App ID en Installation ID, o copiar un Installation ID viejo, termina en el error Failed to get installation token … Repository not found.
En el alta de este sitio Coolify tenía 160061585 y la instalación real era
160061605. Había que corregir el campo y guardar.
Pegar credenciales en Coolify¶
- Coolify → Keys & Tokens → Private Keys → + Add.
- Nombre:
github-app-coolify-github-app-fadua-sla. - Pegá todo el
.pem(BEGIN…END). - Save.
- Sources → tu Source.
- Si todavía ves las dos tarjetas: Manual installation → Continue manually.
- Completá:
| Campo Coolify | Valor |
|---|---|
| Organization | FADUA-S-A |
| HTML URL | https://github.com |
| API URL | https://api.github.com |
| User | git |
| Port | 22 |
| App ID | el de la App |
| Installation ID | el de .../installations/NUMERO en la org |
| Client ID | el Iv1.… |
| Client secret | el que generaste |
| Webhook secret | el mismo del formulario de GitHub |
| Private key | el .pem que cargaste en Keys |
- Save. Sync name en verde = Coolify habla con GitHub.
Comprobar que quedó bien¶
| Dónde | Qué tenés que ver |
|---|---|
| Coolify → Source | Organization FADUA-S-A, Installation ID de la org |
| GitHub → instalaciones de la org | App instalada, repo sla-crp-mkdocs tildado |
| Coolify → New Application → GitHub App | El repo aparece en el dropdown |
Si el repo no aparece: en GitHub, esa instalación → Repository access → sumá el repo. En Coolify, Load repositories / Repositories.
Valores actuales de esta instancia¶
No copies secretos. IDs públicos de la instalación (se pueden rotar):
| Campo | Valor |
|---|---|
| Source en Coolify | https://coolify.fadua.ar/source/github/cfhdieqgi58ypc97cqme1nbo |
| App ID | 4873196 |
| Installation ID (org) | 160061605 |
| Private key en Coolify | github-app-coolify-github-app-fadua-sla |
Client secret, webhook secret y .pem viven solo en Coolify y en GitHub. No van en este Markdown.
Siguiente paso¶
Desplegar una aplicación (ejemplo: este MkDocs).