📌 Nota (Requisito Previo):
Esta guía asume que ya has otorgado acceso SSH a tu asistente de IA. Si aún no sabes cómo conectar la IA a tu equipo, revisa primero nuestro tutorial:
👉 Guía Completa: Cómo Conectar una IA a tu NAS o Servidor.
En esta guía paso a paso descubrirás cómo pedirle a una Inteligencia Artificial que despliegue, configure y mantenga tu propio servidor Forgejo (tu propio servicio privado similar a GitHub o GitLab) en tu servidor NAS o servidor Linux utilizando Docker.
🦊 1. ¿Qué es Forgejo y por qué tener tu propio Servidor Git?
Forgejo es una plataforma de software libre ultraligera diseñada para alojar repositorios Git de código y proyectos.
- Privacidad Absoluta: Tus repositorios, proyectos y código fuente se guardan 100% en tu servidor, sin depender de servicios de terceros (como GitHub o GitLab).
- Ultrarrápido y Ligero: Consume una fracción mínima de memoria RAM y procesador, siendo ideal para un NAS o una Raspberry Pi.
- Interfaz Familiar: Ofrece todas las herramientas de desarrollo conocidas (control de versiones, ramas, peticiones de cambio Pull Requests, incidencias Issues y wiki).
🤖 2. El Prompt Exacto para Pedirle la Instalación a la IA
Copia el siguiente prompt, sustituye los datos genéricos simulados entre paréntesis y envíaselo a tu IA conectada por SSH:
Hola IA, quiero que instales y configures un servidor Git privado con Forgejo en mi servidor NAS utilizando Docker.
Por favor, utiliza los siguientes datos de configuración de prueba:
- Dominio público para la web: mi-git.ejemplo.org
- Puerto SSH para operaciones Git (clonación): 2222
- Nombre del usuario Administrador inicial: mi_admin_git
- Correo del Administrador: admin-git@ejemplo.org
- Contraseña deseada para el Administrador: ClaveSuperSeguraForgejo123!
- Ruta de almacenamiento en el servidor: /srv/docker/forgejo
Realiza todos los pasos de despliegue:
1. Crea los directorios para los datos de Forgejo y la base de datos PostgreSQL 16.
2. Escribe el archivo docker-compose.yml mapeando los puertos web internos y el puerto 2222 de SSH.
3. Inicia el stack de contenedores en Docker.
4. Crea la cuenta de administrador inicial mediante el comando de consola de Forgejo.
5. Configura el servidor Nginx para servir el dominio HTTPS cifrado.
6. Confírmame cuando el servidor esté listo y pueda iniciar sesión.
🧠 3. Lo que hace la IA Paso a Paso Detrás de Escenas
Al enviar el prompt, la IA se encarga de ejecutar de forma autónoma las siguientes acciones en tu servidor:
graph TD
A[Prompt del Usuario] --> B[Crear Carpetas /srv/docker/forgejo/data y db]
B --> C[Escribir docker-compose.yml Forgejo + Postgres 16]
C --> D[Desplegar Contenedores con Docker Compose]
D --> E[Crear Usuario Admin mediante comando CLI forgejo]
E --> F[Configurar Proxy Inverso Nginx en puerto 443]
F --> G[Servidor listo en https://mi-git.ejemplo.org]
1. Preparación de Carpetas Persistentes:
La IA prepara la estructura en el almacenamiento para garantizar que tus proyectos no se borren nunca:
/srv/docker/forgejo/
├── data/ <-- Repositorios Git, llaves SSH y archivos
└── db/ <-- Base de datos PostgreSQL 16
2. Creación del Archivo docker-compose.yml:
La IA escribe la arquitectura en Docker de los dos contenedores necesarios:
version: '3.8'
services:
server:
image: codeberg.org/forgejo/forgejo:9-rootless
container_name: forgejo
environment:
- USER_UID=1000
- USER_GID=1000
- FORGEJO__database__DB_TYPE=postgres
- FORGEJO__database__HOST=db:5432
- FORGEJO__database__NAME=forgejo
- FORGEJO__database__USER=forgejo
- FORGEJO__database__PASSWD=password_db_segura
volumes:
- /srv/docker/forgejo/data:/var/lib/gitea
ports:
- "3000:3000"
- "2222:2222"
restart: unless-stopped
db:
image: postgres:16-alpine
container_name: forgejo-db
environment:
- POSTGRES_USER=forgejo
- POSTGRES_PASSWORD=password_db_segura
- POSTGRES_DB=forgejo
volumes:
- /srv/docker/forgejo/db:/var/lib/postgresql/data
restart: unless-stopped
3. Ejecución del Servicio y Creación de la Cuenta Administradora:
La IA arranca la pila de contenedores (docker compose up -d) y ejecuta el comando de creación de la cuenta inicial:
docker exec -u git forgejo forgejo admin user create --username mi_admin_git --password "ClaveSuperSeguraForgejo123!" --email "admin-git@ejemplo.org" --admin
4. Enrutamiento HTTPS en Nginx:
La IA añade la regla en Nginx para dirigir las peticiones web cifradas desde https://mi-git.ejemplo.org hacia el contenedor web de Forgejo.
💻 4. Cómo Clonar y Trabajar con tu Servidor Git
Una vez completada la instalación por la IA, podrás trabajar con tus proyectos desde tu ordenador:
A. Acceso por Interfaz Web:
Abre tu navegador e ingresa a https://mi-git.ejemplo.org e inicia sesión con tus credenciales.
B. Clonar Repositorios por HTTPS:
git clone https://mi-git.ejemplo.org/mi_admin_git/mi-proyecto.git
C. Clonar Repositorios por SSH (Puerto 2222):
Para clonar mediante SSH usando tu clave pública:
git clone ssh://git@mi-git.ejemplo.org:2222/mi_admin_git/mi-proyecto.git
🛠️ 5. Mantenimiento Automatizado con la IA
En el futuro, cualquier tarea de mantenimiento la resolverá la IA tras enviarle una instrucción sencilla:
- Para actualizar Forgejo a la versión más reciente:
“IA, actualiza la imagen de Docker de Forgejo a la versión más reciente de forma segura sin perder mis datos.” - Para respaldar todos los repositorios:
“IA, genera una copia de seguridad comprimida de la carpeta /data y de la base de datos PostgreSQL de Forgejo.”