3.7 KiB
3.7 KiB
sbsports — Coolify & Woodpecker Setup
Despliegue automático de sbsports en Coolify con CI/CD en Woodpecker.
URLs
| Servicio | URL |
|---|---|
| App Web | https://sbsports.thax.es |
| Registry | git.thax.es/alexandrump/sbsports |
Setup en Coolify
Paso 1: Crear el servicio
- Accede a https://panel.thax.es
- Crea un nuevo Proyecto (o usa uno existente)
- Dentro del proyecto, crea un nuevo servicio:
- Tipo: Docker Compose
- Nombre: sbsports
- Contenido: copia el contenido de
coolify/docker-compose.yml
- Click en Deploy
Paso 2: Obtener el UUID
Una vez creado, copia el UUID del servicio. Lo encontrarás en:
- URL:
https://panel.thax.es/project/{projectId}/service/{UUID} - O en los detalles del servicio
Paso 3: Configurar variables de entorno
En Coolify, ve a Environment del servicio y verifica:
NODE_ENV=productionPORT=3000DATA_DIR=/app/data
Setup en Woodpecker CI
Paso 1: Activar el repositorio
- Accede a https://ci.thax.es
- El repositorio sbsports debería aparecer en la lista
- Haz click en Activate (si no está ya activado)
- Guarda el Repository ID (aparece en la URL:
/repos/{id})
Paso 2: Configurar secretos
En Woodpecker, ve a Secrets del repositorio sbsports y agrega:
| Secreto | Valor | Origen |
|---|---|---|
gitea_user |
Tu usuario de Gitea | git.thax.es |
gitea_token |
Token de Gitea | https://git.thax.es/user/settings/applications |
coolify_api_token |
Token de Coolify API | panel.thax.es (del README de invest) |
SBSPORTS_COOLIFY_UUID |
UUID del servicio | De Coolify (Paso 2) |
Paso 3: Variables del pipeline
Añade la variable SBSPORTS_COOLIFY_UUID a los secretos de Woodpecker con el UUID obtenido en Coolify.
Flujo de despliegue
git push → Gitea
↓
Woodpecker detects push
↓
1. Build imagen: Dockerfile → git.thax.es/alexandrump/sbsports:latest
↓
2. PATCH compose en Coolify con la nueva imagen
↓
3. Trigger deploy en Coolify (redeploy automático)
↓
Contenedor reinicia con la nueva imagen
Despliegue manual (sin Woodpecker)
Si necesitas hacer deploy manualmente:
# 1. Build y push a registry
docker build -t git.thax.es/alexandrump/sbsports:latest .
docker login git.thax.es
docker push git.thax.es/alexandrump/sbsports:latest
# 2. Redeploy en Coolify
COOLIFY_TOKEN="8|qF9w8JziRgUjUsbTMTUIQUP6C2PjD8bpbQ34Gf4e6254af98"
COOLIFY_UUID="<obtén de https://panel.thax.es>"
curl -sSLk -X GET "https://panel.thax.es/api/v1/deploy?uuid=$COOLIFY_UUID&force=false" \
-H "Authorization: Bearer $COOLIFY_TOKEN"
Troubleshooting
Imagen no actualiza en Coolify
- Verifica que
pull_policy: alwaysestá en el compose - Força el redeploy con
force=trueen la URL de deploy
Woodpecker falla al buildar
- Verifica credenciales de Gitea en secretos
- Comprueba que el Dockerfile existe en la raíz del repo
Dominio no resuelve
- Verifica que Traefik está corriendo en Coolify
- Comprueba las labels de la configuración en
coolify/docker-compose.yml
Contenedor no arranca
- Revisa logs en Coolify: Monitoring → Logs
- Verifica que el puerto 3000 es accesible
IDs clave
# Coolify service UUID (reemplazar después de crear)
SBSPORTS_COOLIFY_UUID="obtén_de_coolify"
# Gitea registry (ya configurado)
git.thax.es/alexandrump/sbsports
# Credenciales (guardadas en memoria de Claude Code)
# Ver: /Users/alex/.claude/projects/*/memory/
Notas
- La imagen se buildeará en el registry de Gitea:
git.thax.es/alexandrump/sbsports:latest - El volumen
sbsports-datapersiste entre deployments - Traefik maneja el HTTPS automáticamente para
sbsports.thax.es - Los logs se pueden ver en Coolify → Monitoring → Logs