57 lines
1.8 KiB
Markdown
57 lines
1.8 KiB
Markdown
# Installing Dependencies for Python
|
|
|
|
Converting the code to Python 3 currently requires the packages specified in `requirements.txt`.
|
|
|
|
To install Python dependencies, the `venv` module (https://docs.python.org/3/library/venv.html) is used, which installs all dependencies in an isolated environment separate from the system.
|
|
|
|
# Quick Installation
|
|
|
|
## Ubuntu 24.04
|
|
|
|
sudo apt install python3-git opengnsys-libarchive-c python3-termcolor bsdextrautils
|
|
|
|
## Add SSH Keys to oglive
|
|
|
|
The Git system accesses the ogrepository via SSH. To work, it needs the oglive to have an SSH key, and the ogrepository must accept it.
|
|
|
|
The Git installer can make the required changes with:
|
|
|
|
./opengnsys_git_installer.py --set-ssh-key
|
|
|
|
Or to do it for a specific oglive:
|
|
|
|
./opengnsys_git_installer.py --set-ssh-key --oglive 1 # oglive number
|
|
|
|
Running this command automatically adds the SSH key to Forgejo.
|
|
|
|
The existing key can be extracted with:
|
|
|
|
./opengnsys_git_installer.py --extract-ssh-key --quiet
|
|
|
|
# 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 |