Files
sbsports/COOLIFY.md
alexandrump 898d021ae8
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
feat: add authentication system (login, users, auth middleware)
- server/auth.js: JWT middleware and auth routes
- src/stores/auth.js + useAuthFetch.js: client-side auth state
- src/views/LoginView.vue + UsersView.vue: login and user management UI
- router, sidebar, App.vue: guard routes behind auth
- COOLIFY.md: add real deployment IDs
2026-04-22 01:22:05 +02:00

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

  1. Accede a https://panel.thax.es
  2. Crea un nuevo Proyecto (o usa uno existente)
  3. Dentro del proyecto, crea un nuevo servicio:
    • Tipo: Docker Compose
    • Nombre: sbsports
    • Contenido: copia el contenido de coolify/docker-compose.yml
  4. 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=production
  • PORT=3000
  • DATA_DIR=/app/data

Setup en Woodpecker CI

Paso 1: Activar el repositorio

  1. Accede a https://ci.thax.es
  2. El repositorio sbsports debería aparecer en la lista
  3. Haz click en Activate (si no está ya activado)
  4. 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: always está en el compose
  • Força el redeploy con force=true en 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: MonitoringLogs
  • Verifica que el puerto 3000 es accesible

IDs clave

# Coolify application UUID
SBSPORTS_COOLIFY_UUID="ng00g8sskks0ok0okk0cg8kw"

# Coolify project UUID
SBSPORTS_PROJECT_UUID="cwo848sgwgk0gk8kgkwkoskg"

# Gitea repo ID
GITEA_REPO_ID=39

# Woodpecker repo ID
WP_REPO_ID=5

Notas

  • La imagen se buildeará en el registry de Gitea: git.thax.es/alexandrump/sbsports:latest
  • El volumen sbsports-data persiste entre deployments
  • Traefik maneja el HTTPS automáticamente para sbsports.thax.es
  • Los logs se pueden ver en Coolify → Monitoring → Logs