oggit/installer/README-en.md

3.1 KiB

Git component installer

This directory contains the installer for the git component for OpenGnsys.

It downloads, installs and configures Forgejo, creates the default repositories and configures SSH keys.

Quick Installation

Ubuntu 24.04

Add the repository

Create the file /etc/apt/sources.list.d/opengnsys.sources with these contents:

Types: deb
URIs: https://ognproject.evlt.uma.es/debian-opengnsys/
Suites: noble
Components: main
Signed-By:
 -----BEGIN PGP PUBLIC KEY BLOCK-----
 .
 mDMEZzx/SxYJKwYBBAHaRw8BAQdAa83CuAJ5/+7Pn9LHT/k34EAGpx5FnT/ExHSj
 XZG1JES0Ik9wZW5HbnN5cyA8b3Blbmduc3lzQG9wZW5nbnN5cy5lcz6ImQQTFgoA
 QRYhBC+J38Xsso227ZbDVt2S5xJQRhKDBQJnPH9LAhsDBQkFo5qABQsJCAcCAiIC
 BhUKCQgLAgQWAgMBAh4HAheAAAoJEN2S5xJQRhKDW/MBAO6swnpwdrbm48ypMyPh
 NboxvF7rCqBqHWwRHvkvrq7pAP9zd98r7z2AvqVXZxnaCsLTUNMEL12+DVZAUZ1G
 EquRBbg4BGc8f0sSCisGAQQBl1UBBQEBB0B6D6tkrwXSHi7ebGYsiMPntqwdkQ/S
 84SFTlSxRqdXfgMBCAeIfgQYFgoAJhYhBC+J38Xsso227ZbDVt2S5xJQRhKDBQJn
 PH9LAhsMBQkFo5qAAAoJEN2S5xJQRhKDJ+cBAM9jYbeq5VXkHLfODeVztgSXnSUe
 yklJ18oQmpeK5eWeAQDKYk/P0R+1ZJDItxkeP6pw62bCDYGQDvdDGPMAaIT6CA==
 =xcNc
 -----END PGP PUBLIC KEY BLOCK-----

It's required to run apt update after creating this file

Install packages

sudo apt install -y python3-git opengnsys-libarchive-c python3-termcolor python3-requests python3-tqdm bsdextrautils

Adding SSH Keys to oglive

The Git system accesses the ogrepository via SSH. To function, it needs the oglive to have an SSH key, and for the ogrepository to accept it.

The Git installer can make the required changes by extracting an SSH key from an oglive and installing it in Forgejo. If there is a local ogboot installation, the installer will do this automatically. If there is not, it is necessary to provide the installer with an oglive from which to extract the key using the --oglive-file or --oglive-url parameter.

For example:

./opengnsys_git_installer.py --oglive-url https://example.com/ogLive-noble.iso

The installer will proceed to download the file, mount the ISO, and extract the key.

To perform the process after completing the installation and only add a key to an existing installation, use the --set-ssh-key parameter:

./opengnsys_git_installer.py --set-ssh-key --oglive-url https://example.com/ogLive-noble.iso

Running the Installer

# ./opengnsys_git_installer.py

It must be run as root.

The installer downloads and installs Forgejo, a web interface for Git. The configuration is automatically generated.

Forgejo manages the repositories and SSH access, so it must always be running. By default, it is installed on port 3000.

The default user is oggit with the password opengnsys.

Packages with Dependencies

The OgGit system requires Python modules that are not included in Ubuntu 24.04 or have outdated versions.

The package sources can be found in oggit/packages.

Source Code Documentation

Python documentation can be generated using a utility like pdoc3 (there are multiple possible alternatives):

# Install pdoc3
pip install --user pdoc3

# Generate documentation
pdoc3 --force --html opengnsys_git_installer.py