Saltar a contenido

42. GOGS control de Versiones

Web de gogs

42.1 Instalación.

Mediante imagen docker: gogs docker image

Usando docker compose el fichero de este directorio :
docker-compose.yml.
Observaciones sobre este fichero docker-compose: * Los volumenes mapeados a directorios locales deben ser accesibles

Una vez inicialziado el contenedor con docker-compose up -d y antes de abrir la web, es necesario crear la base de datos usando el fichero de este directorio:
mysql.sql

Usando el comando:

docker exec -i cont_id mysql -pG0gsS3cr3t  < mysql.sql

Usando tunel ssh para mapear el puerto 3000 a local http://localhost:3000

Datos iniciales:
* base de datos localizada en : mysql:33xx (aparece en links: del fichero docker-compose) . * usuario: gogs no se usa
* pass: la del fichero docker-compose
* Resto sin cambios

Importante Usuario administrador. ......

42.1.1 Con Postgres como base de datos

Basado en este blog

Mismos pasos, utilizamos el docker-compose.yml para postgres:

version: "3"

services:
  gogs:
    image: gogs/gogs
    restart: always
    volumes:
      - "gogs_data:/data"
    ports:
      - "10022:22"
      - "3000:3000"
    links:
      - db
    depends_on:
      - db
    networks:
       - gogs

  db:
    image: postgres
    networks:
       - gogs
    volumes:
      - "pg_data:/var/lib/postgresql/data"
    environment:
      POSTGRES_DB: gogs
      POSTGRES_USER: "gogs"
      POSTGRES_PASSWORD: "paswordXXXX"

networks:
    gogs:
      driver: bridge

volumes:
  gogs_data:
  pg_data:
Antes de usar gogs necesitamos crear una base de datos:

Dentro del contenedor

docker exec -it db_id  /bin/bash

psql -U gogs 
CREATE DATABASE gogs OWNER gogs
\q
Al iniciar gogs Datos iniciales: * base de datos localizada en : db:5432 (aparece en links: del fichero docker-compose) * usuario: gogs no se usa * pass: la del fichero docker-compose * Resto sin cambios

42.1.2 Ejecutar como un servicio en Linux

There’s a systemd service template file in the Gogs GitHub repository and in the installed files at ./scripts/systemd/gogs.service. You will likely need to modify it for your installation:

Update User, Group, WorkingDirectory, ExecStart, and Environment with values appropriate to your Gogs installation.
(Optional) If you would like to use Gogs with MySQL/MariaDB, PostgreSQL, Redis, or memcached then uncomment the appropriate After lines. Save your modified service file at /etc/systemd/system/gogs.service, enable it with sudo systemctl enable gogs, and start it with sudo systemctl start gogs.

You can check the status of the Gogs service with sudo systemctl status gogs -l, or display the journal entries with sudo journalctl -b -u gogs.

42.2 Manual de usuario

Creamos una organización Villablanca .
Pulsamos en el nombre y creamos un nuevo equipo : DAM1.1 permisos de escritura.

Los repositorios se crean parra la organización y a continuación se añaden los equipos

42.2.1 Copias de seguridad, restauración y migración

https://github.com/gogs/gogs/discussions/6876

42.3 FAQ Respuesta a preguntas frecuentes.

42.3.1 Crear usuario administrador

O cuando se olvida la passwdord de administrador. Basado en esta web

Para crear un nuevo administrador:

 # Si se ejecuta en un contenedor docker:
 # docker container exec xxxx-id /bin/bash 
 $ su git
$ cd /home/git/gogs
$ ./gogs admin create-user --name tmpuser --password tmppassword --admin --email email@example.com