Configuracion inicial

Por: Artiko
forgejoconfiguracionapp.iniadminseguridad

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:

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

Seccion [service]

[service]
DISABLE_REGISTRATION  = true
REQUIRE_SIGNIN_VIEW   = true

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 —>