[{"data":1,"prerenderedAt":121},["ShallowReactive",2],{"seo-verification":3,"marketplace-app-es-gitea":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"marketplace-app-es-gitea",{"slug":9,"slugs":10,"categorySlugs":11,"name":16,"description":17,"phase":18,"unavailableReason":19,"docsUrl":20,"logo":21,"github":22,"tagline":23,"longDescription":24,"features":25,"useCases":34,"steps":44,"faq":63,"specs":82,"compatibleOs":91,"relatedApps":93,"relatedPosts":114,"category":118},"gitea",{"fr":9,"en":9,"ar":9,"es":9},{"fr":12,"en":13,"ar":14,"es":15},"developpement","development","التطوير","desarrollo","Gitea","Su propio GitHub, autoalojado en cuestión de minutos. Plataforma Git completa con CI\u002FCD (Gitea Actions), registro de paquetes y permisos de equipo, sin facturación por uso.",1,null,"https:\u002F\u002Fservorbit.com\u002Fblog\u002Falojar-gitea-en-un-vps","https:\u002F\u002Fcdn.jsdelivr.net\u002Fgh\u002Fselfhst\u002Ficons\u002Fsvg\u002Fgitea.svg","https:\u002F\u002Fgithub.com\u002Fgo-gitea\u002Fgitea","Su propio GitHub, autoalojado en un solo VPS: repositorios, pull requests, CI\u002FCD con Gitea Actions y registro de paquetes, sin facturación por desarrollador.","Gitea es un servicio Git autoalojado escrito en Go y publicado bajo licencia MIT. Retoma la totalidad del flujo de trabajo que sus equipos ya conocen — repositorios, ramas, tickets, pull requests, revisión de código, wiki, releases — sobre una infraestructura que usted controla, a partir de un único binario que arranca en pocos segundos y se conforma con unos pocos cientos de megabytes de RAM en reposo. En un VPS ServOrbit funciona en dos contenedores: la aplicación `gitea\u002Fgitea` y su base de datos `postgres:16-alpine`. La interfaz web responde en el puerto 3000 detrás del vhost nginx en HTTPS, y Git sobre SSH escucha en el puerto 2222, de modo que `git clone` y `git push` funcionan con su clave pública habitual.\n\nGitea incorpora dos piezas que en otros lugares suelen facturarse aparte. Gitea Actions es un motor de CI\u002FCD que lee la misma sintaxis de flujos de trabajo que GitHub Actions: sus archivos `.github\u002Fworkflows` existentes se ejecutan casi sin modificaciones en un runner que usted mismo aloja. El registro de paquetes integrado habla npm, Docker\u002FOCI, Maven, NuGet, PyPI, Composer, Cargo y Helm desde la instancia que ya aloja su código. Organizaciones, equipos y ramas protegidas permiten reproducir la configuración Git de toda una empresa sin una suscripción mensual por desarrollador. Los datos de los repositorios y la base de datos PostgreSQL viven cada uno en un volumen Docker con nombre: una copia de seguridad completa cabe en un snapshot de esos dos volúmenes.",[26,27,28,29,30,31,32,33],"Plataforma Git completa: repositorios, ramas, etiquetas, tickets, pull requests, revisión de código, wiki y releases — el flujo de trabajo que su equipo ya conoce.","Gitea Actions: CI\u002FCD integrado, compatible con la sintaxis de flujos de trabajo de GitHub Actions — sus archivos `.github\u002Fworkflows` existentes se ejecutan en un runner que usted mismo aloja.","Registro de paquetes integrado: npm, Docker\u002FOCI, Maven, NuGet, PyPI, Composer, Cargo y Helm, servidos por la instancia que ya aloja su código.","Organizaciones, equipos y permisos detallados: reglas de acceso por repositorio, ramas protegidas, revisiones obligatorias y code owners.","Git por HTTPS y por SSH: clone y haga push a través del vhost nginx, o directamente por SSH en el puerto 2222 con claves públicas por usuario.","Mirrors de repositorios: los mirrors pull mantienen la sincronización con un repositorio de GitHub o GitLab; los mirrors push publican los suyos hacia el exterior.","Autenticación flexible: cuentas locales, LDAP, SMTP y OAuth2 (GitHub, GitLab, Google, OIDC genérico) — y el propio Gitea puede actuar como proveedor OAuth2 para sus demás aplicaciones.","Escrito en Go y publicado bajo licencia MIT: un único binario, sin entorno de ejecución que mantener, y unos pocos cientos de megabytes de RAM para una instancia del tamaño de un equipo.",[35,38,41],{"title":36,"body":37},"Servidor Git privado de empresa","Aloje todos sus repositorios internos en su propio VPS en lugar de en una cuenta SaaS facturada por desarrollador. Los proyectos de clientes, el código propietario y los trabajos sin publicar permanecen en una infraestructura que le pertenece, en la jurisdicción que usted elija. Incorporar a un nuevo desarrollador consiste en crear una cuenta, no en pagar un puesto más: el coste de la instancia no se mueve cuando el equipo crece.",{"title":39,"body":40},"CI\u002FCD sin factura por minuto","Gitea Actions lee la misma sintaxis de flujos de trabajo que GitHub Actions: sus archivos `.github\u002Fworkflows` se ejecutan con pocos retoques o ninguno. Instale un runner en el mismo VPS o en una máquina de compilación dedicada, y cada push, etiqueta o pull request dispara su pipeline, sin cuota de minutos de compilación ni cola de espera compartida con otros clientes.",{"title":42,"body":43},"Registro interno de paquetes e imágenes","Publique sus paquetes npm privados, sus imágenes Docker, sus artefactos Maven o sus wheels de PyPI directamente en la instancia que ya aloja su código: `docker push git.example.com\u002Fteam\u002Fapi:1.4`. Un solo juego de credenciales, una sola copia de seguridad y una sola URL para las fuentes y los artefactos, en lugar de un servicio de registro distinto por ecosistema.",[45,48,51,54,57,60],{"title":46,"body":47},"Pedir el VPS ServOrbit","2 GB de RAM son un punto de partida cómodo para un equipo pequeño: Gitea se conforma con unos pocos cientos de megabytes en reposo y PostgreSQL ocupa el resto. Prevea más margen si piensa ejecutar runners de Gitea Actions en la misma máquina, ya que las compilaciones son con diferencia la parte más pesada de la carga.",{"title":49,"body":50},"Elegir el dominio antes del primer despliegue","Gitea inscribe su dirección pública en los enlaces de clonación que muestra, en las cargas útiles de los webhooks, en los callbacks de OAuth2 y en los puntos de entrada del registro de paquetes: el nombre debe estar decidido antes del primer arranque. Cree un registro A del tipo `git.example.com` hacia la IP de su VPS; el certificado TLS se emite y se renueva después automáticamente, una vez desplegada la aplicación.",{"title":52,"body":53},"Conectarse por primera vez","Abra la URL: Gitea muestra su página de instalación, con la base de datos ya rellenada — no la toque. Despliegue «Configuración opcional > Configuración de la cuenta de administrador», cree ahí su cuenta de administrador y valide.",{"title":55,"body":56},"Desplegar desde el Marketplace","Desde su área de cliente ServOrbit, vaya a Marketplace → Desarrollo → Gitea → Desplegar. Docker descarga las imágenes `gitea\u002Fgitea` y `postgres:16-alpine`, genera las credenciales de la base de datos, y la interfaz web responde en el puerto 3000 detrás del vhost HTTPS en menos de un minuto.",{"title":58,"body":59},"Crear la cuenta de administrador y el primer repositorio","Abra su dominio en un navegador: la primera cuenta registrada se convierte en administradora del sitio. Desde la administración del sitio, cierre después el registro público, conecte LDAP u OAuth2 y fije las reglas de protección de rama por defecto antes de invitar a su equipo. Cree luego un repositorio y envíele su código: `git remote add origin ssh:\u002F\u002Fgit@git.example.com:2222\u002Fteam\u002Fapi.git`.",{"title":61,"body":62},"Añadir un runner para Gitea Actions","La CI permanece inactiva mientras no haya ningún runner registrado. Genere un token en Administración del sitio → Actions → Runners y arranque después `gitea\u002Fact_runner` en el VPS o en una máquina de compilación aparte, apuntando a la URL de su instancia. Suba un archivo `.github\u002Fworkflows\u002Fci.yml`: el job aparece en la pestaña Actions en el commit siguiente.",[64,67,70,73,76,79],{"q":65,"a":66},"¿Sustituye Gitea realmente a GitHub?","Para el trabajo diario, sí: repositorios, ramas, tickets, pull requests con revisión y aprobaciones, wiki, releases, ramas protegidas, webhooks, CI\u002FCD mediante Gitea Actions y registro de paquetes están todos integrados. Lo que pierde es el ecosistema que rodea a GitHub: el mercado público de Actions de terceros, Copilot, Dependabot y el efecto de red del código abierto público. Para el código privado de una empresa, normalmente no era eso lo que estaba pagando.",{"q":68,"a":69},"¿Hace falta un nombre de dominio?","Sí, en la práctica. Gitea incrusta su URL pública en los enlaces de clonación que muestra, en las cargas útiles de los webhooks, en los callbacks de OAuth2 y en los puntos de entrada del registro de paquetes: necesita, por tanto, una dirección estable y conocida desde el primer arranque. Apunte un registro A del tipo `git.example.com` a su VPS antes del despliegue; los certificados HTTPS se emiten y se renuevan después automáticamente.",{"q":71,"a":72},"¿Cómo se clona y se hace push por SSH?","El contenedor expone Git sobre SSH en el puerto 2222 y no en el puerto 22 estándar, que queda reservado para la administración del propio VPS. Añada su clave pública en Gitea, en Settings → SSH Keys, y utilice después `git clone ssh:\u002F\u002Fgit@git.example.com:2222\u002Fteam\u002Fapi.git`. Para no repetir el puerto en cada comando, añada un bloque `Host git.example.com` con `Port 2222` en su `~\u002F.ssh\u002Fconfig` local.",{"q":74,"a":75},"¿Puedo importar mis repositorios de GitHub existentes?","Sí. El menú New → Migration acepta una URL de GitHub, GitLab, Gitea o Git sin más e importa el código con todo su historial; para GitHub y GitLab también puede traer los tickets, las pull requests, las etiquetas, los hitos y las releases proporcionando un token de acceso. También puede configurar un mirror pull, que mantiene una copia de solo lectura sincronizada de forma continua con el repositorio de origen.",{"q":77,"a":78},"¿Cómo se ejecutan los pipelines de CI\u002FCD?","Gitea Actions se activa por repositorio y lee los archivos de flujo de trabajo desde `.github\u002Fworkflows`, con la misma sintaxis YAML que GitHub Actions: la mayoría de los pipelines sencillos funcionan sin modificaciones. Los jobs se ejecutan en instancias `act_runner` que usted registra en la URL de su Gitea, de modo que la capacidad de compilación es la del hardware que le dedique: sin cuota de minutos, sin cola compartida. Las Actions del mercado de GitHub se descargan por URL y muchas funcionan tal cual, pero no se garantiza ninguna compatibilidad para las más exóticas.",{"q":80,"a":81},"¿Qué recursos hacen falta y cómo se hace la copia de seguridad?","Una instancia dimensionada para un equipo va holgada con 2 GB de RAM: Gitea ocupa unos pocos cientos de megabytes en reposo y PostgreSQL consume el resto. Todo lo que importa cabe en dos volúmenes Docker: `gitea_data` (repositorios, objetos LFS, avatares subidos y configuración) y `gitea_db` (PostgreSQL). Una copia de seguridad es, por tanto, un snapshot de esos dos volúmenes, idealmente precedido de un `pg_dump` de la base de datos para disponer de un punto de restauración coherente.",{"ram":83,"cpu":84,"disk":85,"stack":86,"port":90},"2 GB","1 vCPU (2 vCPU con runners de Actions)","20 GB",[87,88,89],"Docker","Go","PostgreSQL 16","3000",[92],"ubuntu-24.04",[94,102,108],{"name":95,"slug":96,"categorySlug":15,"categoryName":97,"categoryColor":98,"logo":99,"tagline":100,"description":101},"Laravel Stack","laravel-stack","Desarrollo","text-warning bg-warning\u002F10","https:\u002F\u002Fcdn.simpleicons.org\u002Flaravel","PHP-FPM, Nginx, PostgreSQL, Redis y Supervisor — stack Laravel lista para producción desde el pedido.","PHP-FPM, Nginx, PostgreSQL, Redis y Supervisor preconfigurados. Despliegue Laravel en producción sin configuración inicial.",{"name":103,"slug":104,"categorySlug":15,"categoryName":97,"categoryColor":98,"logo":105,"tagline":106,"description":107},"Node.js Stack","nodejs-stack","https:\u002F\u002Fcdn.simpleicons.org\u002Fnodedotjs","Node.js, PM2, Nginx y base de datos — entorno de producción para sus API y aplicaciones JavaScript.","Node.js con PM2, Nginx como reverse proxy y base de datos. Sus API y aplicaciones JavaScript listas para recibir tráfico.",{"name":109,"slug":110,"categorySlug":15,"categoryName":97,"categoryColor":98,"logo":111,"tagline":112,"description":113},"Nuxt Stack","nuxt-stack","https:\u002F\u002Fcdn.simpleicons.org\u002Fnuxt","Nuxt 3 con SSR, PostgreSQL y reverse proxy — entorno de producción para sus apps Vue.js.","Nuxt 3 con SSR, PostgreSQL y reverse proxy. Entorno de producción para sus aplicaciones Vue.js.",[115,116,117],"heberger-gitea","deployer-laravel-vps","deployer-nodejs-app-vps",{"key":12,"slug":15,"name":97,"objective":119,"icon":120,"color":98},"Poner en marcha rápidamente un proyecto de software.","dev",1789665086092]