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/