Wiki completa de Gitea: 9 páginas en español

2025-12-03 16:27:25 +01:00
commit e8326ce6d5
9 changed files with 1967 additions and 0 deletions

290
Actualización.md Normal file

@@ -0,0 +1,290 @@
# Actualización
Mantén Gitea y PostgreSQL actualizados para obtener nuevas características y parches de seguridad.
## 🔄 Actualización desde Portainer
### Método 1: Git Repository Stack
Si desplegaste usando Git Repository:
1. Ve a **Stacks** → Tu stack `gitea`
2. Haz clic en **Pull and redeploy**
3. Portainer:
- Descarga la última versión del compose desde Git
- Descarga las imágenes Docker actualizadas
- Recrea los contenedores
⏱️ **Tiempo estimado**: 2-5 minutos (con downtime)
### Método 2: Web Editor Stack
Si usaste Web Editor:
1. Ve a **Stacks** → Tu stack `gitea`
2. Haz clic en **Editor**
3. No cambies nada (usa `latest` tag)
4. Haz clic en **Update the stack**
5. ✅ Marca **Re-pull image and redeploy**
## 🖥️ Actualización desde CLI
### Actualización Estándar
```bash
cd /path/to/gitea
# 1. Hacer backup antes de actualizar
./backup-gitea.sh # Si tienes script de backup
# 2. Descargar nuevas imágenes
docker compose pull
# 3. Recrear contenedores
docker compose up -d
# 4. Verificar logs
docker compose logs -f
```
### Actualización con Downtime Mínimo
```bash
# 1. Pull de imágenes (sin downtime)
docker compose pull
# 2. Recrear solo Gitea (downtime ~10 segundos)
docker compose up -d --no-deps gitea
# 3. Verificar
docker compose ps
docker compose logs gitea
```
## 📋 Checklist Pre-Actualización
Antes de actualizar, verifica:
-**Backup reciente**: Tienes backup de datos y BD
-**Changelog revisado**: Lee [Gitea Releases](https://github.com/go-gitea/gitea/releases)
-**Breaking changes**: Verifica si hay cambios que rompan compatibilidad
-**Migraciones de BD**: Algunas versiones requieren migraciones
-**Tiempo de ventana**: Planifica mantenimiento si es producción
## 🔍 Verificar Versión Actual
```bash
# Ver versión de Gitea
docker compose exec gitea gitea --version
# Ver versión de PostgreSQL
docker compose exec gitea-db psql --version
# Ver tags de imágenes
docker compose images
```
## 🆙 Actualizar a Versión Específica
Si necesitas una versión específica en lugar de `latest`:
### Editar docker-compose.yml
```yaml
services:
gitea:
image: gitea/gitea:1.21.0 # En lugar de :latest
gitea-db:
image: postgres:16-alpine # Mantener versión
```
### Actualizar
```bash
docker compose pull
docker compose up -d
```
## 🔄 Migraciones Automáticas
Gitea ejecuta migraciones de base de datos automáticamente al iniciar:
```bash
# Ver logs de migración
docker compose logs gitea | grep -i migrat
# Ejemplo de salida:
# [I] [SQL] Running migration: v123 -> Add new column to issues table
```
> ⚠️ Las migraciones son irreversibles. Por eso es crítico hacer backup antes.
## 🐘 Actualizar PostgreSQL
### Actualización Menor (16.0 → 16.1)
```bash
# Cambiar en compose
image: postgres:16.1-alpine
# Actualizar
docker compose pull gitea-db
docker compose up -d gitea-db
```
### Actualización Mayor (15 → 16)
Requiere dump y restore:
```bash
# 1. Backup de BD
docker compose exec gitea-db pg_dump -U gitea gitea > gitea-backup.sql
# 2. Detener servicios
docker compose down
# 3. Eliminar volumen de BD
docker volume rm gitea_db
# 4. Actualizar versión en compose
# image: postgres:16-alpine
# 5. Crear nuevo volumen y restaurar
docker volume create gitea_db
docker compose up -d gitea-db
sleep 10
docker compose exec -T gitea-db psql -U gitea gitea < gitea-backup.sql
# 6. Iniciar Gitea
docker compose up -d gitea
```
## 🧪 Probar Actualización
Antes de actualizar producción, prueba en entorno de desarrollo:
```bash
# Clonar setup
cp -r /path/to/gitea /tmp/gitea-test
cd /tmp/gitea-test
# Restaurar backup
# (seguir pasos de Backup y Restauración)
# Actualizar versión de prueba
docker compose pull
docker compose up -d
# Verificar funcionamiento
# Acceder a http://localhost:3000
```
## 🔙 Rollback (Volver Atrás)
Si algo sale mal:
### Método 1: Restaurar desde Backup
```bash
# Detener servicios
docker compose down
# Restaurar volúmenes
# (seguir pasos de Backup y Restauración)
# Iniciar con versión anterior
docker compose up -d
```
### Método 2: Usar Versión Anterior de Imagen
```bash
# Ver imágenes disponibles
docker images | grep gitea
# Editar compose para usar imagen anterior
image: gitea/gitea:1.20.0 # Versión previa
# Aplicar
docker compose up -d --force-recreate gitea
```
## 📅 Estrategia de Actualizaciones
### Opción 1: Siempre Latest (Automático)
**Pros**:
- ✅ Siempre al día
- ✅ Parches de seguridad inmediatos
**Contras**:
- ❌ Puede romper sin aviso
- ❌ Requiere supervisión
### Opción 2: Versiones Específicas (Manual)
**Pros**:
- ✅ Control total
- ✅ Actualizaciones planificadas
**Contras**:
- ❌ Requiere monitoreo manual
- ❌ Puede quedar desactualizado
### Recomendación
Para producción:
- Usa **versiones específicas** (ej: `1.21.0`)
- Monitorea [Gitea Releases](https://github.com/go-gitea/gitea/releases)
- Actualiza mensualmente o cuando hay parches de seguridad
- Siempre prueba en entorno de desarrollo primero
## 🔔 Notificaciones de Nuevas Versiones
### GitHub Watch
1. Ve a https://github.com/go-gitea/gitea
2. Haz clic en **Watch****Custom** → ✅ **Releases**
3. Recibirás emails de nuevas versiones
### RSS Feed
Suscríbete al feed:
```
https://github.com/go-gitea/gitea/releases.atom
```
## 🛡️ Actualizaciones de Seguridad
Para parches críticos de seguridad:
1. **Lee el Security Advisory**
2. **Haz backup inmediato**
3. **Actualiza lo antes posible**
4. **Verifica que funciona**
5. **Monitorea logs por 24-48 horas**
## 📊 Después de Actualizar
```bash
# 1. Verificar versión
docker compose exec gitea gitea --version
# 2. Ver logs
docker compose logs --tail=100 gitea
# 3. Probar funciones clave
# - Login
# - Clonar repositorio
# - Push nuevo commit
# - Crear issue
# - Revisar panel de administración
# 4. Monitorear recursos
docker stats gitea gitea-db
```
---
**Siguiente**: [Solución de Problemas](Solución-de-Problemas)

281
Backup-y-Restauración.md Normal file

@@ -0,0 +1,281 @@
# Backup y Restauración
Protege tus repositorios Git, base de datos y configuración con backups regulares.
## ⚠️ Importancia de los Backups
Un servidor Git sin backups es un **riesgo crítico**:
- 💔 Pérdida de código fuente
- 💔 Pérdida de historial de commits
- 💔 Pérdida de issues y pull requests
- 💔 Pérdida de configuración y usuarios
## 📦 ¿Qué respaldar?
Gitea almacena datos en dos lugares principales:
1. **Volumen `gitea_data`**: Repositorios, configuración, avatares, LFS
2. **Volumen `gitea_db`**: Base de datos PostgreSQL con metadatos
## 🔄 Backup Manual
### Método Completo (Recomendado)
```bash
# 1. Detener Gitea (mantener DB corriendo)
docker compose stop gitea
# 2. Backup de datos de Gitea
docker run --rm \
-v gitea_data:/data \
-v $(pwd):/backup \
alpine tar czf /backup/gitea-data-$(date +%Y%m%d-%H%M%S).tar.gz -C /data .
# 3. Backup de PostgreSQL
docker compose exec gitea-db pg_dump -U gitea gitea > gitea-db-$(date +%Y%m%d-%H%M%S).sql
# 4. Reiniciar Gitea
docker compose start gitea
# 5. Verificar backups
ls -lh gitea-*.tar.gz
ls -lh gitea-*.sql
```
### Método Rápido (Sin Downtime)
Para Gitea, si aceptas posibles inconsistencias menores:
```bash
# Backup en caliente
docker run --rm \
-v gitea_data:/data \
-v $(pwd):/backup \
alpine tar czf /backup/gitea-data-$(date +%Y%m%d-%H%M%S).tar.gz -C /data .
# DB backup (sin detener)
docker compose exec gitea-db pg_dump -U gitea gitea > gitea-db-$(date +%Y%m%d-%H%M%S).sql
```
## 🔙 Restauración
### Restaurar Completamente
```bash
# 1. Detener todos los servicios
docker compose down
# 2. Eliminar volúmenes antiguos (¡CUIDADO!)
docker volume rm gitea_data gitea_db
# 3. Crear nuevos volúmenes
docker volume create gitea_data
docker volume create gitea_db
# 4. Restaurar datos de Gitea
docker run --rm \
-v gitea_data:/data \
-v $(pwd):/backup \
alpine sh -c "cd /data && tar xzf /backup/gitea-data-20241203-120000.tar.gz"
# 5. Iniciar solo PostgreSQL
docker compose up -d gitea-db
# 6. Esperar a que PostgreSQL esté listo
sleep 10
# 7. Restaurar base de datos
docker compose exec -T gitea-db psql -U gitea gitea < gitea-db-20241203-120000.sql
# 8. Iniciar todo
docker compose up -d
# 9. Verificar
docker compose logs -f
```
### Restaurar Solo Repositorios
Si solo necesitas restaurar repositorios específicos:
```bash
# Extraer backup a directorio temporal
mkdir temp-restore
tar xzf gitea-data-20241203.tar.gz -C temp-restore
# Copiar repositorios específicos
docker cp temp-restore/git/repositories/usuario/repo.git gitea:/data/git/repositories/usuario/
# Reiniciar Gitea
docker compose restart gitea
```
## 🤖 Backup Automático
### Opción 1: Cron Job
Crea un script `/root/backup-gitea.sh`:
```bash
#!/bin/bash
BACKUP_DIR="/backups/gitea"
DATE=$(date +%Y%m%d-%H%M%S)
mkdir -p $BACKUP_DIR
cd /path/to/gitea
# Backup Gitea data
docker run --rm \
-v gitea_data:/data \
-v $BACKUP_DIR:/backup \
alpine tar czf /backup/gitea-data-$DATE.tar.gz -C /data .
# Backup PostgreSQL
docker compose exec -T gitea-db pg_dump -U gitea gitea > $BACKUP_DIR/gitea-db-$DATE.sql
# Comprimir SQL
gzip $BACKUP_DIR/gitea-db-$DATE.sql
# Eliminar backups antiguos (más de 30 días)
find $BACKUP_DIR -name "gitea-*" -mtime +30 -delete
echo "Backup completado: $DATE"
```
Hazlo ejecutable y añade a cron:
```bash
chmod +x /root/backup-gitea.sh
# Editar crontab
crontab -e
# Añadir línea (backup diario a las 2 AM)
0 2 * * * /root/backup-gitea.sh >> /var/log/gitea-backup.log 2>&1
```
### Opción 2: docker-volume-backup
Usa [offen/docker-volume-backup](https://github.com/offen/docker-volume-backup):
```yaml
services:
backup:
image: offen/docker-volume-backup:latest
environment:
BACKUP_CRON_EXPRESSION: "0 2 * * *" # 2 AM diario
BACKUP_FILENAME: "gitea-backup-%Y%m%d-%H%M%S.tar.gz"
BACKUP_RETENTION_DAYS: "30"
volumes:
- gitea_data:/backup/gitea_data:ro
- /backups:/archive
```
### Opción 3: Duplicati
Configura Duplicati para respaldar:
- `/var/lib/docker/volumes/gitea_data/_data`
- Los archivos SQL generados por cron
## 📤 Backup Remoto
### rsync a Servidor Remoto
```bash
# En el script de backup, añade:
rsync -avz --delete /backups/gitea/ usuario@servidor-remoto:/backups/gitea/
```
### Subir a Cloud Storage
**AWS S3**:
```bash
aws s3 sync /backups/gitea/ s3://mi-bucket/gitea-backups/
```
**Google Drive** (con rclone):
```bash
rclone sync /backups/gitea/ gdrive:gitea-backups/
```
## 🧪 Probar Restauración
**CRÍTICO**: Prueba tus backups regularmente:
```bash
# 1. Crear entorno de prueba
mkdir /tmp/gitea-test
cd /tmp/gitea-test
# 2. Copiar compose files
cp /path/to/gitea/docker-compose.yml .
cp /path/to/gitea/.env .
# 3. Restaurar y verificar
# (Usa los pasos de restauración anteriores)
# 4. Verificar que todo funciona
docker compose up -d
# Accede a http://localhost:3000 y verifica repos
```
## 📋 Checklist de Backup
- ✅ Backup automático configurado
- ✅ Backups se ejecutan regularmente
- ✅ Backups se copian a ubicación remota
- ✅ Rotación de backups antiguos configurada
- ✅ Proceso de restauración documentado
- ✅ Restauración probada al menos una vez
- ✅ Alertas configuradas si falla el backup
## 🔍 Verificar Integridad
```bash
# Verificar archivos tar.gz
tar tzf gitea-data-20241203.tar.gz > /dev/null && echo "OK" || echo "CORRUPTO"
# Verificar SQL
gzip -t gitea-db-20241203.sql.gz && echo "OK" || echo "CORRUPTO"
# Ver tamaño de backups
du -sh gitea-*.tar.gz
```
## 🆘 Recuperación de Desastres
### Pérdida Completa del Servidor
1. Instalar Docker y Docker Compose en nuevo servidor
2. Clonar repositorio de configuración
3. Restaurar `.env` desde backup o recrear
4. Seguir pasos de **Restaurar Completamente**
5. Configurar DNS apuntando al nuevo servidor
6. Verificar SSL y acceso
### Corrupción de Base de Datos
Si PostgreSQL falla:
```bash
# Detener todo
docker compose down
# Eliminar solo volumen de DB
docker volume rm gitea_db
# Recrear y restaurar solo DB
docker volume create gitea_db
docker compose up -d gitea-db
sleep 10
docker compose exec -T gitea-db psql -U gitea gitea < gitea-db-backup.sql
# Iniciar Gitea
docker compose up -d gitea
```
---
**Siguiente**: [Actualización](Actualización)

242
Configuración-Inicial.md Normal file

@@ -0,0 +1,242 @@
# Configuración Inicial
Después de desplegar Gitea, debes completar el asistente de instalación inicial para configurar la aplicación.
## 🌐 Acceso al Asistente
Visita `https://gitea.tudominio.com` en tu navegador. La primera vez verás el **asistente de instalación de Gitea**.
## 🗄️ 1. Configuración de Base de Datos
Esta sección ya está pre-configurada gracias a las variables de entorno del compose:
**Configuración (pre-rellenada automáticamente)**:
- **Tipo de base de datos**: PostgreSQL
- **Host**: `gitea-db:5432`
- **Nombre de usuario**: `gitea` (o el valor de `DB_USER`)
- **Contraseña**: La que configuraste en `DB_PASSWORD`
- **Nombre de base de datos**: `gitea` (o el valor de `DB_NAME`)
> ⚠️ **Importante**: Verifica que estos valores coinciden con tu archivo `.env`.
## ⚙️ 2. Configuración General del Sitio
Configura los parámetros generales de tu instalación Gitea:
### Título del Sitio
**Campo**: `Site Title`
**Valor recomendado**: `Git ICT Iberia` o el nombre de tu organización
Aparecerá en la interfaz web, emails y notificaciones.
### URL Base del Servidor
**Campo**: `Server Domain` y `Gitea Base URL`
**Valores críticos**:
- **Server Domain**: `gitea.tudominio.com`
- **Gitea Base URL**: `https://gitea.tudominio.com`
⚠️ **MUY IMPORTANTE**:
- Debe incluir `https://`
- Si usas un puerto diferente a 443, inclúyelo: `https://gitea.tudominio.com:8443`
- Esta URL se usa para clonado de repos y webhooks
### Rutas de Archivos
**Valores por defecto (recomendados)**:
- **Ruta de repositorios Git**: `/data/git/repositories`
- **Ruta raíz Git LFS**: `/data/git/lfs`
- **Ejecutar como nombre de usuario**: `git`
> ✅ No cambies estas rutas a menos que sepas lo que haces.
### SSH
**Puerto del servidor SSH**: `22`
Gitea puede servir SSH en el puerto 22 del contenedor. Para usarlo desde fuera:
- **Con Traefik/NPM**: Necesitas publicar el puerto SSH separadamente (no cubierto en este stack básico)
- **Alternativa**: Usar HTTPS para git (más simple, funciona directamente)
## 👤 3. Configuración del Administrador
**Crea tu cuenta de administrador**:
### Nombre de Usuario
**Campo**: `Administrator Username`
**Valor**: Tu nombre de usuario preferido (ej: `admin`, `groales`)
Este será el primer usuario y tendrá permisos de administrador completos.
### Contraseña
**Campo**: `Password` y `Confirm Password`
**Recomendaciones**:
- ✅ Mínimo 12 caracteres
- ✅ Combina mayúsculas, minúsculas, números y símbolos
- ✅ No reutilices contraseñas de otros servicios
### Email
**Campo**: `Email Address`
**Valor**: Tu email real
Úsalo para:
- Recuperación de contraseña
- Notificaciones (si configuras SMTP)
- Webhooks y alertas
## ⚙️ 4. Configuración Opcional
Antes de hacer clic en "Install", puedes expandir **Optional Settings** para ajustes adicionales.
### Configuración de Email
Si tienes un servidor SMTP, configúralo ahora:
- **Server and Other Services** → **Email Settings**:
- SMTP Host: `smtp.tudominio.com`
- SMTP Port: `587` (STARTTLS) o `465` (SSL)
- Send Email As: `gitea@tudominio.com`
- SMTP Username: Tu usuario SMTP
- SMTP Password: Tu contraseña SMTP
> También puedes configurar SMTP más tarde editando `/data/gitea/conf/app.ini`.
### Configuración del Servidor
Ajustes opcionales en **Server and Other Services**:
- **Disable Self-Registration**: ✅ Recomendado si es una instalación privada
- **Require Sign-In to View Pages**: ✅ Activar para repositorios completamente privados
- **Enable OpenID Sign-In**: ❌ Desactivar si no lo necesitas
### Notificaciones
- **Enable Email Notifications**: ✅ Activar si configuraste SMTP
- **Disable Gravatar Service**: ❌ Dejar activado (usa avatares de Gravatar)
## ✅ 5. Completar Instalación
1. Revisa que todo esté correcto
2. Haz clic en **Install Gitea**
3. Espera unos segundos mientras se configura
Si todo va bien, serás redirigido a la pantalla de login.
## 🔐 6. Primer Inicio de Sesión
1. Introduce tu nombre de usuario y contraseña del administrador
2. Haz clic en **Sign In**
¡Bienvenido a Gitea! Ya puedes empezar a crear repositorios.
## 🛠️ Post-Instalación
### Verificar Configuración
Accede al panel de administración:
1. Haz clic en tu avatar (esquina superior derecha)
2. Selecciona **Site Administration**
3. Revisa las secciones:
- **Dashboard**: Estado general del sistema
- **Configuration**: Ver configuración completa
- **Users**: Gestionar usuarios
### Crear tu Primer Repositorio
1. Haz clic en el **+** en la esquina superior derecha
2. Selecciona **New Repository**
3. Configura:
- **Owner**: Tu usuario
- **Repository Name**: Nombre del proyecto
- **Visibility**: Public/Private
-**Initialize Repository**: Añade README, .gitignore, License
4. Haz clic en **Create Repository**
### Configurar SSH (Opcional)
Ver la sección SSH en la página [Personalización](Personalización).
## 📝 Notas Importantes
### Archivo app.ini
La configuración de Gitea se guarda en:
```
/data/gitea/conf/app.ini
```
Para editarlo:
```bash
docker compose exec gitea vi /data/gitea/conf/app.ini
# Después de editar, reiniciar Gitea
docker compose restart gitea
```
### Cambiar URL Base Después
Si necesitas cambiar la URL base después de la instalación:
1. Edita `/data/gitea/conf/app.ini`
2. Busca `[server]`
3. Modifica:
```ini
DOMAIN = gitea.tudominio.com
ROOT_URL = https://gitea.tudominio.com/
```
4. Reinicia: `docker compose restart gitea`
### Primer Usuario = Admin
El primer usuario que crees automáticamente tiene permisos de administrador. Si deshabilitaste auto-registro, solo tú podrás crear tu cuenta.
## 🆘 Solución de Problemas
### "Database connection failed"
**Causa**: Gitea no puede conectar a PostgreSQL
**Solución**:
```bash
# Verificar que gitea-db está corriendo
docker compose ps
# Ver logs de PostgreSQL
docker compose logs gitea-db
# Verificar que están en la red gitea-internal
docker network inspect gitea-internal
```
### "Cannot save configuration"
**Causa**: Permisos incorrectos en el volumen
**Solución**:
```bash
# Verificar permisos
docker compose exec gitea ls -la /data/gitea
# Si es necesario, recrear el volumen
docker compose down
docker volume rm gitea_data
docker compose up -d
```
### No puedo acceder a https://gitea.tudominio.com
**Causa**: Problema con el proxy inverso
**Solución**:
- **Traefik**: Verifica labels en el contenedor: `docker inspect gitea`
- **NPM**: Verifica que el Proxy Host está configurado correctamente
- Comprueba que el puerto 3000 está accesible: `docker compose exec gitea netstat -ln | grep 3000`
---
**Siguiente paso**: [Personalización](Personalización)

100
Home.md Normal file

@@ -0,0 +1,100 @@
# Wiki de Gitea
Bienvenido a la wiki de **Gitea**, un servidor Git autoalojado ligero y rápido.
## 📋 Índice de Contenidos
### Despliegue
- **[Traefik](Traefik)**: Despliegue con Traefik como reverse proxy (requiere override)
- **[Nginx Proxy Manager](NPM)**: Despliegue con Nginx Proxy Manager (usa compose base)
### Configuración y Mantenimiento
- **[Configuración Inicial](Configuración-Inicial)**: Asistente de instalación y primeros pasos
- **[Personalización](Personalización)**: SMTP, SSH, webhooks, integración CI/CD
- **[Backup y Restauración](Backup-y-Restauración)**: Protege tus repositorios
- **[Actualización](Actualización)**: Mantener Gitea actualizado
- **[Solución de Problemas](Solución-de-Problemas)**: Resolver errores comunes
## 🔧 ¿Qué es Gitea?
Gitea es un servidor Git autoalojado escrito en Go. Es una alternativa ligera a GitLab y GitHub on-premises que ofrece:
- 🚀 **Ligero y rápido**: Consume menos de 100MB de RAM
- 📦 **Fácil de instalar**: Un solo binario, no requiere Node.js ni Ruby
- 🔒 **Seguro y confiable**: Gestión completa de permisos y accesos
- 📱 **Interfaz moderna**: UI similar a GitHub, intuitiva y responsive
- 🔄 **Git completo**: Pull requests, issues, wiki, projects, CI/CD
## ⚠️ Consideraciones Importantes
Antes de desplegar Gitea:
1. **PostgreSQL incluido**: Este stack incluye PostgreSQL 16 Alpine
2. **Contraseña segura**: Genera `DB_PASSWORD` fuerte para la base de datos
3. **Backups esenciales**: Un servidor Git sin backups es un riesgo crítico
4. **HTTPS recomendado**: Para push/pull seguro y autenticación
5. **Usuario administrador**: El primer usuario creado es automáticamente admin
6. **URL base correcta**: Debe configurarse en el asistente inicial con HTTPS
## 🔑 Generar DB_PASSWORD
**Antes de cualquier despliegue**, genera una contraseña segura para PostgreSQL:
```bash
openssl rand -base64 32
```
Guarda el resultado, lo necesitarás como `DB_PASSWORD`.
> ⚠️ **Importante**: Usa comillas simples en el archivo `.env` si contiene caracteres especiales.
> Ejemplo: `DB_PASSWORD='tu_password_generado'`
---
## 🚀 Inicio Rápido
### Elección del Modo de Despliegue
| Modo | Recomendado | Requisitos | Características |
|------|-------------|------------|-----------------|
| **Traefik** | ✅ Sí | Red `proxy`, Traefik con Let's Encrypt | SSL automático, configuración simple |
| **NPM** | ✅ Sí | Red `proxy`, NPM configurado | Configuración manual de proxy host |
### Variables de Entorno
**Todas las configuraciones requieren**:
```env
DB_PASSWORD='tu_password_generado' # Contraseña PostgreSQL (entre comillas simples)
```
**Para Traefik necesitas también**:
```env
DOMAIN_HOST=gitea.tudominio.com # Sin protocolo
```
**Opcionales** (tienen valores por defecto):
```env
DB_NAME=gitea # Nombre de la base de datos (default: gitea)
DB_USER=gitea # Usuario PostgreSQL (default: gitea)
```
## 📚 Recursos Adicionales
- [README del repositorio](https://git.ictiberia.com/groales/gitea)
- [Documentación oficial de Gitea](https://docs.gitea.com/)
- [GitHub de Gitea](https://github.com/go-gitea/gitea)
- [Gitea Awesome](https://gitea.com/gitea/awesome-gitea)
## 🆘 Soporte
Si encuentras problemas:
1. Consulta la página **[Solución de Problemas](Solución-de-Problemas)**
2. Revisa los logs: `docker compose logs gitea` o `docker compose logs gitea-db`
3. Verifica la configuración en `/data/gitea/conf/app.ini`
4. Consulta la documentación oficial de Gitea
---
**Última actualización**: Diciembre 2025

195
NPM.md Normal file

@@ -0,0 +1,195 @@
# Despliegue con Nginx Proxy Manager (NPM)
Esta guía te ayudará a desplegar Gitea usando **Nginx Proxy Manager** como reverse proxy.
## ✅ Requisitos Previos
Antes de comenzar, asegúrate de tener:
- ✅ Nginx Proxy Manager funcionando y accesible
- ✅ Red Docker `proxy` creada y NPM conectado a ella
- ✅ Dominio configurado apuntando a tu servidor
- ✅ Puertos 80 y 443 abiertos y dirigidos a NPM
- ✅ DB_PASSWORD generada
### Verificar Red Proxy
```bash
docker network ls | grep proxy
```
Si no existe, créala:
```bash
docker network create proxy
```
## 🔑 Generar DB_PASSWORD
**Antes de cualquier despliegue**, genera una contraseña segura para PostgreSQL:
```bash
openssl rand -base64 32
```
Guarda el resultado, lo necesitarás para las variables de entorno.
> ⚠️ **Importante**: Usa comillas simples en el archivo `.env` si contiene caracteres especiales.
---
## 🚀 Despliegue desde Portainer
### Opción A: Git Repository (Recomendada)
Esta opción mantiene tu stack actualizado con el repositorio Git.
1. En Portainer, ve a **Stacks****Add stack**
2. Nombre del stack: `gitea`
3. Selecciona **Git Repository**
4. Configura el repositorio:
- **Repository URL**: `https://git.ictiberia.com/groales/gitea`
- **Repository reference**: `refs/heads/main`
- **Compose path**: `docker-compose.yml`
- **Additional paths**: Dejar vacío (no necesitas override para NPM)
5. En **Environment variables**, añade:
```env
DB_PASSWORD='tu_password_generado'
```
⚠️ **Nota**: Otras opciones se configuran desde el panel de administración de Gitea después del despliegue.
6. Haz clic en **Deploy the stack**
### Opción B: Web Editor
Si prefieres usar el editor web de Portainer:
1. Copia el contenido consolidado del [README - Sección NPM](https://git.ictiberia.com/groales/gitea#despliegue-con-nginx-proxy-manager)
2. Pégalo en el Web Editor
3. Configura las variables de entorno como en la Opción A
## 🖥️ Despliegue desde CLI
### 1. Clonar el repositorio
```bash
git clone https://git.ictiberia.com/groales/gitea.git
cd gitea
```
### 2. Configurar variables de entorno
No necesitas archivo override. El `docker-compose.yml` base es suficiente para NPM.
```bash
cp .env.example .env
```
Edita el archivo `.env` y configura:
```env
DB_PASSWORD='tu_password_generado'
```
### 3. Iniciar el servicio
```bash
docker compose up -d
```
### 4. Verificar el despliegue
```bash
# Ver logs
docker compose logs -f gitea
docker compose logs -f gitea-db
# Verificar que el contenedor está corriendo
docker compose ps
```
### 5. Configurar Nginx Proxy Manager
Ver la sección de configuración a continuación.
## 🔧 Configuración en Nginx Proxy Manager
Una vez que Gitea esté corriendo, configura el Proxy Host en NPM:
### 1. Crear Proxy Host
1. En NPM, ve a **Proxy Hosts****Add Proxy Host**
2. En la pestaña **Details**:
- **Domain Names**: `gitea.tudominio.com`
- **Scheme**: `http`
- **Forward Hostname / IP**: `gitea`
- **Forward Port**: `3000`
-**Block Common Exploits**: Activar
-**Websockets Support**: Activar (recomendado para mejor rendimiento)
3. En la pestaña **SSL**:
-**Force SSL**: Activar
- **SSL Certificate**: Request a new SSL Certificate
- Marca las opciones:
- ✅ Force SSL
- ✅ HTTP/2 Support
- ✅ HSTS Enabled
4. Haz clic en **Save**
### 2. Verificar Acceso
Visita `https://gitea.tudominio.com` - deberías ver el asistente de instalación de Gitea.
## 📝 Notas Técnicas
### Red Interna
Gitea y PostgreSQL se comunican a través de la red `gitea-internal`:
- **gitea**: Conectado a `proxy` (para NPM) y `gitea-internal` (para DB)
- **gitea-db**: Solo conectado a `gitea-internal` (aislado de internet)
### Puerto Interno
Gitea escucha en el puerto `3000` internamente. NPM se encarga de:
- Proxy inverso desde puerto 443 (HTTPS) → 3000 (Gitea)
- Terminación SSL
- Redirección HTTP → HTTPS
### Persistencia de Datos
Dos volúmenes:
- `gitea_data`: Repositorios, configuración, avatares, LFS
- `gitea_db`: Base de datos PostgreSQL
## 🛠️ Comandos Útiles
```bash
# Ver configuración de Gitea
docker compose exec gitea cat /data/gitea/conf/app.ini
# Acceder al contenedor de Gitea
docker compose exec gitea bash
# Acceder a PostgreSQL
docker compose exec gitea-db psql -U gitea
# Reiniciar solo Gitea (sin afectar DB)
docker compose restart gitea
# Ver espacio usado por volúmenes
docker system df -v | grep gitea
```
## 🔄 Actualización
Ver la página [Actualización](Actualización) para instrucciones detalladas.
---
**Siguiente paso**: [Configuración Inicial](Configuración-Inicial)

211
Personalización.md Normal file

@@ -0,0 +1,211 @@
# Personalización
Configuraciones avanzadas y personalización de tu instancia de Gitea.
## 📧 Configuración de Email (SMTP)
Para notificaciones, recuperación de contraseñas y webhooks.
### Editar app.ini
```bash
docker compose exec gitea vi /data/gitea/conf/app.ini
```
Añade o modifica la sección `[mailer]`:
```ini
[mailer]
ENABLED = true
FROM = gitea@tudominio.com
MAILER_TYPE = smtp
HOST = smtp.tudominio.com:587
IS_TLS_ENABLED = true
USER = gitea@tudominio.com
PASSWD = tu_password_smtp
```
Para Gmail:
```ini
HOST = smtp.gmail.com:587
USER = tu_email@gmail.com
PASSWD = tu_app_password
```
Reinicia Gitea:
```bash
docker compose restart gitea
```
## 🔑 Configuración de SSH
### Generar Clave SSH (Cliente)
```bash
ssh-keygen -t ed25519 -C "tu_email@ejemplo.com"
cat ~/.ssh/id_ed25519.pub
```
### Añadir Clave en Gitea
1. Ve a **Settings****SSH / GPG Keys**
2. Haz clic en **Add Key**
3. Pega tu clave pública
4. Haz clic en **Add Key**
### Clonar con SSH
```bash
git clone git@gitea.tudominio.com:usuario/repo.git
```
> ⚠️ **Nota**: Este stack básico no expone el puerto SSH (22). Para usar SSH, necesitas publicar el puerto 22 del contenedor.
## 🔗 Webhooks
Configura notificaciones cuando ocurren eventos en tus repositorios.
### Crear Webhook
1. Ve al repositorio → **Settings****Webhooks**
2. Haz clic en **Add Webhook** → Selecciona tipo (Gitea, Discord, Slack, etc.)
3. Configura:
- **Target URL**: URL de tu servicio
- **HTTP Method**: POST (generalmente)
- **Content Type**: application/json
- **Secret**: Token de seguridad (opcional pero recomendado)
4. Selecciona eventos que disparan el webhook
5. Haz clic en **Add Webhook**
## 👥 Gestión de Usuarios
### Desde Panel de Administración
**Site Administration****User Accounts**:
- **Create User Account**: Crear usuarios manualmente
- **Edit**: Modificar usuarios existentes
- **Delete**: Eliminar usuarios
### Deshabilitar Auto-Registro
Edita `app.ini`:
```ini
[service]
DISABLE_REGISTRATION = true
REQUIRE_SIGNIN_VIEW = true # Requiere login para ver contenido
```
### Cambiar a Usuario Admin
```bash
docker compose exec gitea gitea admin user change-password --username usuario --password nueva_password
```
## 🎨 Personalización Visual
### Logo y Favicon
1. Coloca tus archivos en el volumen `gitea_data`
2. Edita `app.ini`:
```ini
[ui]
DEFAULT_THEME = gitea
THEMES = gitea,arc-green
```
### Mensaje de Bienvenida
Crea un archivo Markdown en:
```
/data/gitea/custom/templates/home.tmpl
```
## 📊 Integración CI/CD
Gitea soporta Gitea Actions (compatible con GitHub Actions).
### Habilitar Gitea Actions
Edita `app.ini`:
```ini
[actions]
ENABLED = true
```
### Añadir Runner
Necesitas un contenedor adicional `act_runner`. Ver [documentación oficial](https://docs.gitea.com/usage/actions/overview).
## 🔒 Autenticación Externa
### LDAP/Active Directory
**Site Administration****Authentication Sources****Add Authentication Source**
Selecciona **LDAP (via BindDN)** y configura:
- Host
- Port
- Bind DN
- User Search Base
- User Filter
### OAuth2 (Google, GitHub, etc.)
**Site Administration****Authentication Sources****OAuth2**
Configura el provider y las credenciales OAuth2.
## 📝 Configuración de Repositorios
### Límites de Tamaño
Edita `app.ini`:
```ini
[repository]
ROOT = /data/git/repositories
DEFAULT_BRANCH = main
[repository.upload]
FILE_MAX_SIZE = 50
```
### Git LFS
```ini
[lfs]
STORAGE_TYPE = local
PATH = /data/git/lfs
```
## 🛡️ Seguridad
### 2FA (Two-Factor Authentication)
1. Usuario → **Settings****Security**
2. **Two-Factor Authentication**
3. Escanea QR con app (Google Authenticator, Authy)
4. Introduce código de verificación
### Tokens de Acceso
**Settings****Applications****Generate New Token**
Úsalos para:
- API de Gitea
- CI/CD pipelines
- Automatización
## 🌐 Internacionalización
Gitea soporta múltiples idiomas. Cambia en:
**Settings****Account****Language**
---
Ver [Backup y Restauración](Backup-y-Restauración) para proteger tu configuración.

438
Solución-de-Problemas.md Normal file

@@ -0,0 +1,438 @@
# Solución de Problemas
Guía para resolver los problemas más comunes con Gitea.
## 🔍 Herramientas de Diagnóstico
### Ver Logs
```bash
# Logs de Gitea en tiempo real
docker compose logs -f gitea
# Logs de PostgreSQL
docker compose logs -f gitea-db
# Últimas 100 líneas
docker compose logs --tail=100 gitea
# Logs dentro del contenedor
docker compose exec gitea cat /data/gitea/log/gitea.log
```
### Verificar Estado
```bash
# Estado de contenedores
docker compose ps
# Recursos usados
docker stats gitea gitea-db
# Conectividad de redes
docker network inspect gitea-internal
docker network inspect proxy
# Espacio en disco
df -h
docker system df -v | grep gitea
```
## 🗄️ Problemas de Base de Datos
### "Database connection failed" en instalación
**Síntomas**: Error al conectar con PostgreSQL durante el asistente
**Causas posibles**:
- PostgreSQL aún no está listo
- Contraseña incorrecta
- Configuración de red incorrecta
**Soluciones**:
```bash
# 1. Verificar que gitea-db está corriendo
docker compose ps gitea-db
# 2. Ver logs de PostgreSQL
docker compose logs gitea-db | tail -20
# 3. Verificar que están en la misma red
docker network inspect gitea-internal | grep -A 10 Containers
# 4. Probar conexión manualmente
docker compose exec gitea nc -zv gitea-db 5432
# 5. Verificar contraseña
docker compose exec gitea env | grep GITEA__database__PASSWD
# 6. Reiniciar PostgreSQL
docker compose restart gitea-db
sleep 10
# 7. Reintentar instalación
```
### PostgreSQL no inicia
**Síntomas**: `gitea-db` en estado `Exited` o `Restarting`
**Soluciones**:
```bash
# Ver error específico
docker compose logs gitea-db | grep -i error
# Verificar permisos
docker compose exec gitea-db ls -la /var/lib/postgresql/data
# Si está corrupto, restaurar desde backup
docker compose down
docker volume rm gitea_db
docker volume create gitea_db
# Restaurar BD desde backup
```
### Error de migración
**Síntomas**: Gitea no inicia después de actualizar, logs muestran migration error
**Solución**:
```bash
# 1. Volver a versión anterior
docker compose down
docker pull gitea/gitea:1.20.0 # Versión previa
# Editar compose para usar versión anterior
docker compose up -d
# 2. Restaurar BD desde backup
# (Ver página Backup y Restauración)
# 3. Intentar actualización nuevamente
```
## 🌐 Problemas de Conectividad
### No puedo acceder a https://gitea.tudominio.com
**Síntomas**: Timeout o conexión rechazada
**Soluciones para Traefik**:
```bash
# 1. Verificar que Traefik está corriendo
docker ps | grep traefik
# 2. Verificar labels de Gitea
docker inspect gitea | grep -A 20 Labels
# 3. Ver logs de Traefik
docker logs traefik | grep gitea
# 4. Verificar que está en red proxy
docker network inspect proxy | grep gitea
# 5. Probar acceso directo al puerto 3000
curl http://localhost:3000
```
**Soluciones para NPM**:
```bash
# 1. Verificar Proxy Host en NPM
# Accede a NPM y revisa la configuración
# 2. Probar acceso directo
docker compose exec gitea curl localhost:3000
# 3. Verificar DNS
nslookup gitea.tudominio.com
# 4. Verificar que Gitea y NPM están en red proxy
docker network inspect proxy | grep -E "(gitea|npm)"
```
### SSL/TLS errors
**Síntomas**: Certificado inválido o ERR_CERT_AUTHORITY_INVALID
**Soluciones**:
```bash
# Verificar certificado
echo | openssl s_client -connect gitea.tudominio.com:443 | grep -A 5 "Certificate chain"
# Para Traefik: verificar resolver
docker exec traefik cat /etc/traefik/traefik.yml | grep -A 10 certificatesResolvers
# Para NPM: regenerar certificado
# En NPM: Edit Proxy Host → SSL → Force SSL → Request New Certificate
```
## 📥 Problemas con Git Operations
### No puedo hacer push/pull
**Síntomas**: `fatal: unable to access` o autenticación fallida
**Soluciones**:
```bash
# 1. Verificar URL del remoto
git remote -v
# 2. Probar con verbose
GIT_CURL_VERBOSE=1 git push origin main
# 3. Verificar credenciales
git config credential.helper
# 4. Limpiar cache de credenciales
git credential-cache exit
# 5. Verificar URL base en Gitea
docker compose exec gitea cat /data/gitea/conf/app.ini | grep ROOT_URL
```
### Push rechazado por tamaño
**Síntomas**: `error: RPC failed; HTTP 413`
**Solución**:
Edita `app.ini`:
```ini
[repository.upload]
FILE_MAX_SIZE = 100 # En MB
```
Reinicia:
```bash
docker compose restart gitea
```
## 🔑 Problemas de Autenticación
### Olvidé contraseña de administrador
**Solución**:
```bash
# Cambiar contraseña desde línea de comandos
docker compose exec gitea gitea admin user change-password \
--username admin \
--password nueva_password_segura
```
### No puedo iniciar sesión
**Síntomas**: Credenciales correctas pero login falla
**Soluciones**:
```bash
# 1. Verificar que el usuario existe
docker compose exec gitea gitea admin user list
# 2. Ver logs durante el intento de login
docker compose logs -f gitea
# 3. Verificar sesiones
docker compose exec gitea-db psql -U gitea -c "SELECT * FROM session LIMIT 5;"
# 4. Limpiar sesiones antiguas
docker compose exec gitea-db psql -U gitea -c "DELETE FROM session WHERE expiry < NOW();"
```
## 📧 Problemas de Email
### Emails no se envían
**Síntomas**: No llegan notificaciones
**Soluciones**:
```bash
# 1. Verificar configuración SMTP en app.ini
docker compose exec gitea cat /data/gitea/conf/app.ini | grep -A 10 "\[mailer\]"
# 2. Probar envío desde Gitea
# Site Administration → Configuration → Send Testing Email
# 3. Ver logs de error
docker compose logs gitea | grep -i mail
# 4. Verificar conectividad SMTP
docker compose exec gitea nc -zv smtp.tudominio.com 587
```
## 💾 Problemas de Espacio
### Disco lleno
**Síntomas**: Gitea lento, errores al hacer push
**Soluciones**:
```bash
# 1. Ver espacio usado
df -h
docker system df -v
# 2. Limpiar logs antiguos
docker compose exec gitea find /data/gitea/log -name "*.log" -mtime +30 -delete
# 3. Limpiar imágenes Docker sin usar
docker image prune -a
# 4. Limpiar volúmenes huérfanos
docker volume prune
# 5. Ver tamaño de repositorios
docker compose exec gitea du -sh /data/git/repositories/*
```
### Volumen corrupto
**Síntomas**: Errores de I/O, contenedor no inicia
**Solución drástica**:
```bash
# 1. HACER BACKUP SI ES POSIBLE
docker compose exec gitea tar czf /tmp/backup.tar.gz /data
# 2. Copiar backup fuera del contenedor
docker cp gitea:/tmp/backup.tar.gz ./
# 3. Recrear volumen
docker compose down
docker volume rm gitea_data
docker volume create gitea_data
# 4. Restaurar desde backup
docker run --rm -v gitea_data:/data -v $(pwd):/backup alpine \
sh -c "cd /data && tar xzf /backup/backup.tar.gz --strip-components=1"
# 5. Reiniciar
docker compose up -d
```
## ⚡ Problemas de Rendimiento
### Gitea muy lento
**Síntomas**: Interfaz web tarda mucho, git operations lentas
**Soluciones**:
```bash
# 1. Verificar recursos
docker stats gitea gitea-db
# 2. Ver procesos dentro de Gitea
docker compose exec gitea top
# 3. Optimizar PostgreSQL
# Editar compose, añadir a gitea-db:
command: postgres -c shared_buffers=256MB -c max_connections=200
# 4. Ver queries lentas en PostgreSQL
docker compose exec gitea-db psql -U gitea -c "
SELECT query, calls, total_time, mean_time
FROM pg_stat_statements
ORDER BY mean_time DESC
LIMIT 10;"
# 5. Verificar disco
iostat -x 5
```
## 🔄 Problemas de Actualización
### Contenedor no inicia después de actualizar
**Soluciones**:
```bash
# 1. Ver logs de error
docker compose logs gitea | grep -i error
# 2. Volver a versión anterior
docker compose down
# Editar compose: image: gitea/gitea:VERSION_ANTERIOR
docker compose up -d
# 3. Si persiste, restaurar desde backup
# (Ver página Backup y Restauración)
```
## 🆘 Comandos de Emergencia
### Reiniciar Completamente
```bash
# Reinicio completo manteniendo datos
docker compose restart
# Recrear contenedores manteniendo volúmenes
docker compose down
docker compose up -d
# Forzar recreación
docker compose up -d --force-recreate
```
### Reiniciar TODO (CUIDADO)
```bash
# ⚠️ ESTO ELIMINA TODOS LOS DATOS
docker compose down -v
docker compose up -d
# Tendrás que:
# 1. Pasar por el asistente de instalación nuevamente
# 2. Restaurar desde backup
```
### Acceder al Shell
```bash
# Shell de Gitea
docker compose exec gitea bash
# Shell de PostgreSQL
docker compose exec gitea-db bash
# Ejecutar comando sin shell interactivo
docker compose exec gitea ls -la /data/gitea
```
## 📞 Obtener Ayuda
Si ninguna solución funciona:
1. **Recopila información**:
```bash
docker compose logs > logs.txt
docker compose ps > ps.txt
docker inspect gitea > inspect.txt
```
2. **Consulta recursos**:
- [Gitea Documentation](https://docs.gitea.com/)
- [Gitea Discourse](https://discourse.gitea.io/)
- [GitHub Issues](https://github.com/go-gitea/gitea/issues)
3. **Abre un issue** con:
- Versión de Gitea (`gitea --version`)
- Logs relevantes
- Pasos para reproducir
- Configuración (sin contraseñas)
---
**Volver a**: [Home](Home)

180
Traefik.md Normal file

@@ -0,0 +1,180 @@
# Despliegue con Traefik
Esta guía te ayudará a desplegar Gitea usando **Traefik** como reverse proxy con certificados SSL automáticos de Let's Encrypt.
## ✅ Requisitos Previos
Antes de comenzar, asegúrate de tener:
- ✅ Traefik funcionando con soporte para Let's Encrypt
- ✅ Red Docker `proxy` creada y Traefik conectado a ella
- ✅ Dominio configurado apuntando a tu servidor
- ✅ Puertos 80 y 443 abiertos en el firewall
- ✅ DB_PASSWORD generada
### Verificar Red Proxy
```bash
docker network ls | grep proxy
```
Si no existe, créala:
```bash
docker network create proxy
```
## 🔑 Generar DB_PASSWORD
**Antes de cualquier despliegue**, genera una contraseña segura para PostgreSQL:
```bash
openssl rand -base64 32
```
Guarda el resultado, lo necesitarás para las variables de entorno.
> ⚠️ **Importante**: Usa comillas simples en el archivo `.env` si contiene caracteres especiales.
---
## 🚀 Despliegue desde Portainer
### Opción A: Git Repository (Recomendada)
Esta opción mantiene tu stack actualizado con el repositorio Git.
1. En Portainer, ve a **Stacks****Add stack**
2. Nombre del stack: `gitea`
3. Selecciona **Git Repository**
4. Configura el repositorio:
- **Repository URL**: `https://git.ictiberia.com/groales/gitea`
- **Repository reference**: `refs/heads/main`
- **Compose path**: `docker-compose.yml`
- **Additional paths**: `docker-compose.override.traefik.yml.example`
5. En **Environment variables**, añade:
```env
DOMAIN_HOST=gitea.tudominio.com
DB_PASSWORD='tu_password_generado'
```
⚠️ **Importante**:
- `DOMAIN_HOST` es el dominio sin protocolo
- **Usa comillas simples** en `DB_PASSWORD` para evitar problemas con caracteres especiales
- Reemplaza con tu contraseña real generada anteriormente
6. Haz clic en **Deploy the stack**
### Opción B: Web Editor
Si prefieres usar el editor web de Portainer:
1. Copia el contenido consolidado del [README - Sección Traefik](https://git.ictiberia.com/groales/gitea#despliegue-con-traefik)
2. Pégalo en el Web Editor
3. Configura las variables de entorno como en la Opción A
## 🖥️ Despliegue desde CLI
### 1. Clonar el repositorio
```bash
git clone https://git.ictiberia.com/groales/gitea.git
cd gitea
```
### 2. Copiar el archivo override
```bash
cp docker-compose.override.traefik.yml.example docker-compose.override.yml
```
### 3. Configurar variables de entorno
```bash
cp .env.example .env
```
Edita el archivo `.env` y configura:
```env
DOMAIN_HOST=gitea.tudominio.com
DB_PASSWORD='tu_password_generado'
```
### 4. Iniciar el servicio
```bash
docker compose up -d
```
### 5. Verificar el despliegue
```bash
# Ver logs de Gitea
docker compose logs -f gitea
# Ver logs de PostgreSQL
docker compose logs -f gitea-db
# Verificar que ambos contenedores están corriendo
docker compose ps
```
## 🔧 Configuración Inicial
Una vez desplegado, accede a `https://gitea.tudominio.com` y completa el asistente de instalación.
Ver la página [Configuración Inicial](Configuración-Inicial) para más detalles.
## 📝 Notas Técnicas
### Red Interna
Gitea y PostgreSQL se comunican a través de la red `gitea-internal`:
- **gitea**: Conectado a `proxy` (para Traefik) y `gitea-internal` (para DB)
- **gitea-db**: Solo conectado a `gitea-internal` (aislado de internet)
### Labels de Traefik
El override configura:
- ✅ Redirección automática HTTP → HTTPS
- ✅ Certificado SSL con Let's Encrypt
- ✅ Puerto interno 3000 (puerto web de Gitea)
- ✅ Middleware de redirección permanente
### Persistencia de Datos
Dos volúmenes:
- `gitea_data`: Repositorios, configuración, avatares, LFS
- `gitea_db`: Base de datos PostgreSQL
## 🛠️ Comandos Útiles
```bash
# Ver configuración de Gitea
docker compose exec gitea cat /data/gitea/conf/app.ini
# Acceder al contenedor de Gitea
docker compose exec gitea bash
# Acceder a PostgreSQL
docker compose exec gitea-db psql -U gitea
# Reiniciar solo Gitea (sin afectar DB)
docker compose restart gitea
# Ver espacio usado por volúmenes
docker system df -v | grep gitea
```
## 🔄 Actualización
Ver la página [Actualización](Actualización) para instrucciones detalladas.
---
**Siguiente paso**: [Configuración Inicial](Configuración-Inicial)

30
_Sidebar.md Normal file

@@ -0,0 +1,30 @@
# 📚 Wiki de Gitea
## Inicio
- [🏠 Home](Home)
## 🚀 Despliegue
- [Traefik](Traefik)
- [Nginx Proxy Manager](NPM)
## ⚙️ Configuración
- [Configuración Inicial](Configuración-Inicial)
- [Personalización](Personalización)
## 🔧 Mantenimiento
- [Backup y Restauración](Backup-y-Restauración)
- [Actualización](Actualización)
- [Solución de Problemas](Solución-de-Problemas)
---
## 📖 Enlaces Útiles
- [📦 Repositorio](https://git.ictiberia.com/groales/gitea)
- [📝 README](https://git.ictiberia.com/groales/gitea#readme)
- [🌐 Gitea Docs](https://docs.gitea.com/)
- [💬 Gitea Discourse](https://discourse.gitea.io/)
---
**Última actualización**: Diciembre 2025