diff --git a/README.md b/README.md index 94bc169..d10d755 100644 --- a/README.md +++ b/README.md @@ -69,12 +69,24 @@ Debian-12-Container an und richtet LinkVault darin als systemd-Service ein. ### Installation +Das Repo ist **privat** – für den Download des Scripts und für den `git clone` +innerhalb des Containers wird ein Gitea Access Token benötigt: + +1. In Gitea: **Einstellungen → Anwendungen → Neuen Token erzeugen** (Scope + `read:repository` genügt). +2. Token als Umgebungsvariable `GIT_TOKEN` bereitstellen. + Auf dem **Proxmox-Host** (als root) ausführen: ```bash -bash <(curl -fsSL https://gitea.teamthiele.de/ethiele/linkvault/raw/branch/main/scripts/proxmox/install-linkvault.sh) +export GIT_TOKEN= +bash <(curl -fsSL -H "Authorization: token ${GIT_TOKEN}" \ + https://gitea.teamthiele.de/ethiele/linkvault/raw/branch/main/scripts/proxmox/install-linkvault.sh) ``` +`GIT_TOKEN` wird automatisch an das Script weitergereicht und auch beim +`git clone` innerhalb des LXC-Containers verwendet. + Alternativ, falls das Repo bereits lokal ausgecheckt ist: ```bash @@ -113,12 +125,15 @@ Alle Einstellungen lassen sich per Umgebungsvariable vor dem Aufruf setzen | `CT_PASSWORD` | root-Passwort des Containers | zufällig generiert | | `REPO_URL` | Git-Repo, das geklont wird | `.../ethiele/linkvault.git` | | `APP_PORT` | Port, auf dem uvicorn lauscht | `8000` | +| `GIT_TOKEN` | Gitea Access Token (privates Repo) | – | Beispiel mit statischer IP und fester Container-ID: ```bash +export GIT_TOKEN= CTID=150 CT_HOSTNAME=linkvault CT_IP=192.168.1.50/24 CT_GW=192.168.1.1 \ - bash <(curl -fsSL https://gitea.teamthiele.de/ethiele/linkvault/raw/branch/main/scripts/proxmox/install-linkvault.sh) + bash <(curl -fsSL -H "Authorization: token ${GIT_TOKEN}" \ + https://gitea.teamthiele.de/ethiele/linkvault/raw/branch/main/scripts/proxmox/install-linkvault.sh) ``` ### Nach der Installation diff --git a/scripts/proxmox/install-linkvault.sh b/scripts/proxmox/install-linkvault.sh index d35a35c..da3d418 100755 --- a/scripts/proxmox/install-linkvault.sh +++ b/scripts/proxmox/install-linkvault.sh @@ -32,6 +32,7 @@ TEMPLATE_STORAGE="${TEMPLATE_STORAGE:-local}" CT_PASSWORD="${CT_PASSWORD:-}" # leer = zufällig generiert REPO_URL="${REPO_URL:-https://gitea.teamthiele.de/ethiele/linkvault.git}" APP_PORT="${APP_PORT:-8000}" +GIT_TOKEN="${GIT_TOKEN:-}" # Gitea Access Token, falls Repo privat ist # --------------------------------------------------------------------------- # Vorbedingungen @@ -108,7 +109,11 @@ apt-get update -qq apt-get install -y -qq git python3 python3-venv python3-pip build-essential curl >/dev/null if [ ! -d /opt/linkvault ]; then - git clone --quiet '${REPO_URL}' /opt/linkvault + if [ -n '${GIT_TOKEN}' ]; then + git -c http.extraHeader=\"Authorization: token ${GIT_TOKEN}\" clone --quiet '${REPO_URL}' /opt/linkvault + else + git clone --quiet '${REPO_URL}' /opt/linkvault + fi fi cd /opt/linkvault