Configuracion inicial
Configuracion inicial
Tras el primer arranque, Forgejo necesita configurarse antes de estar listo para usarse. Hay dos momentos de configuracion: el asistente web inicial y los ajustes posteriores en app.ini.
Asistente de instalacion web
Al acceder por primera vez a http://localhost:3000, Forgejo muestra un formulario de instalacion. Los campos mas importantes:
- Database Type: selecciona
SQLite3 - Site Title: nombre visible de tu instancia
- Repository Root Path: dejar el valor por defecto
/data/git/repositories - Git Hooks Path: dejar por defecto
- SSH Server Domain: IP o dominio del servidor (importante para clonar por SSH)
- SSH Port: 22
- HTTP Port: 3000
- Application URL: la URL base, ej.
http://tu-servidor:3000ohttps://git.tudominio.com
Al final del formulario puedes crear el primer usuario administrador directamente.
Una vez completado, Forgejo escribe la configuracion en /data/gitea/conf/app.ini y redirige al login.
Archivo app.ini
Es el archivo central de configuracion. Su ubicacion dentro del contenedor es /data/gitea/conf/app.ini, que corresponde al volumen forgejo-data.
Para editarlo desde el anfitrion:
docker exec -it forgejo cat /data/gitea/conf/app.ini
Para editar directamente (requiere que el volumen sea accesible):
docker compose exec forgejo sh
vi /data/gitea/conf/app.ini
Seccion [server]
Controla como Forgejo se expone al exterior:
[server]
DOMAIN = git.tudominio.com
ROOT_URL = http://git.tudominio.com:3000/
HTTP_PORT = 3000
SSH_DOMAIN = git.tudominio.com
SSH_PORT = 22
DISABLE_SSH = false
ROOT_URL debe incluir la barra final. Si usas HTTPS, cambia el esquema aqui (ver capitulo 6).
Seccion [database]
Con SQLite la configuracion minima es:
[database]
DB_TYPE = sqlite3
PATH = /data/gitea/gitea.db
Seccion [repository]
[repository]
DEFAULT_BRANCH = main
ENABLE_PUSH_CREATE_USER = false
DEFAULT_BRANCH: rama por defecto en repositorios nuevosENABLE_PUSH_CREATE_USER: si esta entrue, un push a un repositorio inexistente lo crea automaticamente (conveniente pero puede ser un riesgo)
Seccion [service]
[service]
DISABLE_REGISTRATION = true
REQUIRE_SIGNIN_VIEW = true
DISABLE_REGISTRATION: impide que cualquier persona se registre. Activar esto despues de crear el adminREQUIRE_SIGNIN_VIEW: obliga a iniciar sesion para ver cualquier contenido (util en instancias privadas)
Seccion [mailer]
Opcional. Necesario para envio de emails (invitaciones, recuperacion de contrasena):
[mailer]
ENABLED = true
FROM = [email protected]
PROTOCOL = smtp
SMTP_ADDR = smtp.tudominio.com
SMTP_PORT = 587
USER = [email protected]
PASSWD = tu_contrasena_smtp
Deja esta seccion sin ENABLED = true si no tienes servidor SMTP configurado.
Variables de entorno como alternativa
En lugar de editar app.ini, puedes pasar configuracion mediante variables de entorno en docker-compose.yml. El formato es FORGEJO__seccion__CLAVE:
services:
forgejo:
image: codeberg.org/forgejo/forgejo:14
environment:
- USER_UID=1000
- USER_GID=1000
- FORGEJO__server__DOMAIN=git.tudominio.com
- FORGEJO__server__ROOT_URL=https://git.tudominio.com/
- FORGEJO__service__DISABLE_REGISTRATION=true
- FORGEJO__service__REQUIRE_SIGNIN_VIEW=true
Las variables de entorno tienen precedencia sobre app.ini. Esta forma es preferible cuando usas orquestadores o quieres mantener la configuracion en el archivo Compose sin modificar archivos dentro del volumen.
Nota: los dobles guiones bajos __ separan seccion y clave, no guion simple.
Crear usuario administrador via CLI
Si omitiste la creacion del admin en el asistente web, puedes crearlo desde la linea de comandos:
docker exec -it forgejo forgejo admin user create \
--username admin \
--password tu_contrasena_segura \
--email [email protected] \
--admin
Verifica que el usuario existe:
docker exec -it forgejo forgejo admin user list
Desactivar registro publico
Despues de crear el administrador, desactiva el registro para evitar que usuarios no autorizados creen cuentas. Dos formas:
Via app.ini (requiere reinicio):
[service]
DISABLE_REGISTRATION = true
docker compose restart forgejo
Via panel de administracion (sin reinicio):
Accede a http://localhost:3000/-/admin/config con el usuario admin y desactiva “Enable Registration” en la seccion de configuracion del sitio.
Siguiente: Capitulo 6: HTTPS con reverse proxy —>