84 lines
3.1 KiB
Markdown
84 lines
3.1 KiB
Markdown
# 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 |