oggit/installer
Vadim vtroshchinskiy 5242f3519a Change user to oggit 2024-10-29 12:21:44 +01:00
..
README.md Fix installer bugs and add documentation 2024-10-29 12:21:44 +01:00
opengnsys_git_installer.html Add installer 2024-09-12 08:46:12 +02:00
opengnsys_git_installer.py Change user to oggit 2024-10-29 12:21:44 +01:00
requirements.txt Add requirements file 2024-09-12 08:48:19 +02:00

README.md

Instalación de dependencias para python

La conversion del código a Python 3 requiere actualmente los paquetes especificados en requirements.txt

Para instalar dependencias de python se usa el modulo venv (https://docs.python.org/3/library/venv.html) que instala todas las dependencias en un entorno independiente del sistema.

Instalación rápida

Distribuciones antiguas (18.04)

Nota: En 18.04, uname solo se encuentra en /bin, lo que causa un error inocuo en el log durante la creación de los repositorios:

 Failed checking if running in CYGWIN due to: FileNotFoundError(2, 'No such file or directory')

Se arregla con el symlink incluido en las instrucciones mas abajo.

sudo apt install -y python3.8 python3.8-venv python3-venv libarchive-dev
sudo ln -sf /bin/uname /usr/bin/
python3.8 -m venv venvog
. venvog/bin/activate
python3.8 -m pip install --upgrade pip
pip3 install -r requirements.txt

Ejecutar con:

python3.8 ./opengnsys_git_installer.py

Distribuciones nuevas (22.04)

sudo apt install python3 python3-venv libarchive-dev
python3 -m venv venvog
. venvog/bin/activate
python3 -m pip install --upgrade pip
pip3 install -r requirements.txt

Agregar clave de SSH si es necesario

El proceso falla si no hay clave de SSH en la imagen. Utilizar:

/opt/opengnsys/bin/setsslkey

para agregarla.

Ejecutar

Nota: Preferiblemente ejecutar como root, ya que sudo borra los cambios a las variables de entorno realizadas por venv. El resultado probable es un error de falta de módulos de Python, o un fallo del programa por usar dependencias demasiado antiguas.

# . venv/bin/activate
# ./opengnsys_git_installer.py

El instalador descarga e instala Forgejo, un interfaz web de Git. La configuración se genera automáticamente.

Forgejo gestiona los repositorios y el acceso por SSH, por lo cual debe quedarse siempre corriendo. Por defecto se instala en el puerto 3000.

El usuario por defecto es opengnsys con password opengnsys.

Documentación

Se puede generar documentación de Python con una utilidad como pdoc3 (hay multiples alternativas posibles):

# Instalar pdoc3
pip install --user pdoc3

# Generar documentación
pdoc3 --force --html opengnsys_git_installer.py