Gogs es un proyecto de codigo abierto con el cual podemos poner en macha un servicio de Git en nuestra infraestructura.
Gogs proporciona un entorno web que permite gestionar los respositorios Git desde el navegador, el acceso que tienen los usuarios, gestionar issues y pull requests e incluso crear un wiki para documentar el proyecto.
Es 100% código abierto, está escrito en Go.
Implementaremos Gogs usando docker.
Descarga de imagen
Descarga de imagen de docker.
docker pull gogs/gogs:latest
Creamos la carpeta gogs para el manejo de persistencia de datos.
mkdir gogs
Configuración
Creamos el archivo docker-compose.yml
version: "3.2" networks: gogs: driver: overlay services: server: image: gogs/gogs:latest environment: - "PUID:1001" - "PGID:1001" networks: - gogs ports: - "10022:22" - "3001:3000" volumes: - ./gogs:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro deploy: replicas: 1 restart_policy: condition: any
docker stack deploy -c docker-compose.yml gogs
Iniciar via web http://127.0.0.1:3001, en mi caso lo inicie de forma local, se puede utilizar como fuente de datos PostgreSQL, MySQL y SQLite
Los parametros de configuración de Gogs en el archivo app.ini ubicado en la ruta gogs/conf
BRAND_NAME = Gogs RUN_USER = git RUN_MODE = prod [database] TYPE = sqlite3 HOST = localhost:5432 NAME = gogs USER = postgres PASSWORD = qazxsw123 SSL_MODE = disable PATH = data/gogs.db [repository] ROOT = /data/git/gogs-repositories [server] DOMAIN = localhost HTTP_PORT = 3000 EXTERNAL_URL = http://127.0.0.1:3001/ DISABLE_SSH = false SSH_PORT = 22 START_SSH_SERVER = false OFFLINE_MODE = false [mailer] ENABLED = false [auth] REQUIRE_EMAIL_CONFIRMATION = false DISABLE_REGISTRATION = false ENABLE_REGISTRATION_CAPTCHA = true REQUIRE_SIGNIN_VIEW = false [user] ENABLE_EMAIL_NOTIFICATION = false [picture] DISABLE_GRAVATAR = false ENABLE_FEDERATED_AVATAR = false [session] PROVIDER = file [log] MODE = file LEVEL = Info ROOT_PATH = /app/gogs/log [security] INSTALL_LOCK = true SECRET_KEY = jIPDf3oRgy8WW1R
Referencia: https://gogs.io/