Table of Contents
- Despliegue con Nginx Proxy Manager (NPM)
- ✅ Requisitos Previos
- 🔑 Generar DB_PASSWORD
- 🚀 Despliegue desde Portainer
- 🖥️ Despliegue desde CLI
- 1. Clonar el repositorio
- 2. Configurar variables de entorno
- 3. Iniciar el servicio
- 4. Verificar el despliegue
- 5. Configurar Nginx Proxy Manager
- 🔧 Configuración en Nginx Proxy Manager
- 📝 Notas Técnicas
- 🛠️ Comandos Útiles
- 🔄 Actualización
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
proxycreada 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
docker network ls | grep proxy
Si no existe, créala:
docker network create proxy
🔑 Generar DB_PASSWORD
Antes de cualquier despliegue, genera una contraseña segura para PostgreSQL:
openssl rand -base64 32
Guarda el resultado, lo necesitarás para las variables de entorno.
⚠️ Importante: Usa comillas simples en el archivo
.envsi contiene caracteres especiales.
🚀 Despliegue desde Portainer
Opción A: Git Repository (Recomendada)
Esta opción mantiene tu stack actualizado con el repositorio Git.
-
En Portainer, ve a Stacks → Add stack
-
Nombre del stack:
gitea -
Selecciona Git Repository
-
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)
- Repository URL:
-
En Environment variables, añade:
DB_PASSWORD='tu_password_generado'
⚠️ Nota: Otras opciones se configuran desde el panel de administración de Gitea después del despliegue.
- Haz clic en Deploy the stack
Opción B: Web Editor
Si prefieres usar el editor web de Portainer:
- Copia el contenido consolidado del README - Sección NPM
- Pégalo en el Web Editor
- Configura las variables de entorno como en la Opción A
🖥️ Despliegue desde CLI
1. Clonar el repositorio
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.
cp .env.example .env
Edita el archivo .env y configura:
DB_PASSWORD='tu_password_generado'
3. Iniciar el servicio
docker compose up -d
4. Verificar el despliegue
# 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
-
En NPM, ve a Proxy Hosts → Add Proxy Host
-
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)
- Domain Names:
-
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
-
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) ygitea-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, LFSgitea_db: Base de datos PostgreSQL
🛠️ Comandos Útiles
# 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 para instrucciones detalladas.
Siguiente paso: Configuración Inicial
📚 Wiki de Gitea
Inicio
🚀 Despliegue
⚙️ Configuración
🔧 Mantenimiento
📖 Enlaces Útiles
Última actualización: Diciembre 2025