Zum Inhalt springen

Umgebungsvariablen ​

Arkvory wird über Umgebungsvariablen konfiguriert, deren Namen mit ARKVORY_ beginnen. Diese Seite listet jede Variable auf, die die Serverprozesse, der Kommandozeilen-Client und die Installer-Skripte lesen.

Woher die Werte stammen ​

Die Installer schreiben die Servereinstellungen in eine Datei, config/runtime.json, im Installationsverzeichnis. Der Launcher jedes Dienstes liest diese Datei und gibt ihre Werte an API, Worker und Backup-Agent weiter. Jeder JSON-Schlüssel muss mit ARKVORY_ beginnen, und jeder Wert muss eine Zeichenkette sein.

json
{
  "ARKVORY_HOST": "127.0.0.1",
  "ARKVORY_PORT": "8080",
  "ARKVORY_CAPACITY_BYTES": "10995116277760",
  "ARKVORY_DATABASE_URL": "postgresql://arkvory:PASSWORD@127.0.0.1:54329/arkvory",
  "ARKVORY_DATA_DIR": "/opt/proanima-arkvory/data",
  "ARKVORY_KEYS_FILE": "/opt/proanima-arkvory/config/keys.json",
  "ARKVORY_MAX_DOWNLOADS": "32"
}

Die Datei enthält das Datenbankpasswort. Belassen Sie ihre Zugriffsrechte so, wie der Installer sie gesetzt hat.

Um eine Einstellung zu ändern, bearbeiten Sie config/runtime.json und starten Sie die Dienste neu. Bevorzugen Sie den Befehl arkvory configure, wo er die Einstellung abdeckt (HTTPS, Backup-Speicher, Spiegel, Updates). Er prüft die Änderung und stellt die alte Datei wieder her, wenn die Dienste nicht starten. Siehe Konfiguration.

bash
sudo systemctl restart arkvory-api arkvory-worker arkvory-backup
powershell
Restart-Service Arkvoryapi, Arkvoryworker, Arkvorybackup

Ein Wert außerhalb des erlaubten Bereichs stoppt den Prozess beim Start mit einer Meldung, die die Variable nennt. Arkvory greift in diesem Fall nicht auf einen Standardwert zurück.

Die Spalte „Gelesen von“ verwendet diese Namen: API ist der HTTP-Server (auch als Lese-Gateway), Worker ist der Hintergrund-Worker, Agent ist der Backup-Agent, CLI ist arkvoryctl.

Kern ​

VariableGelesen vonStandardBedeutung
ARKVORY_DATABASE_URLAPI, Worker, Agent, MigrationerforderlichPostgreSQL-Verbindungs-URL (postgres:// oder postgresql://). Verwenden Sie für jede Installation eine eigene Datenbank.
ARKVORY_DATA_DIRAPI, Worker, AgenterforderlichLokales Speicherverzeichnis: Staging, Inhalte und die Datei storage-id. Verwenden Sie keine Netzwerkfreigabe.
ARKVORY_HOSTAPI127.0.0.1Adresse, auf der gelauscht wird. Die Installer schreiben 127.0.0.1; in Docker Compose ist es 0.0.0.0 im Container, und der Port wird nur auf dem Loopback des Hosts veröffentlicht.
ARKVORY_PORTAPI8080TCP-Port, 1–65535.
ARKVORY_WEB_DIRAPIapps/web/publicVerzeichnis mit den Dateien der Webkonsole. Der Launcher setzt es bei jedem Start auf das aktuelle Release.
ARKVORY_DATABASE_POOL_SIZEAPI20Größe des Abfragepools der API, 4–200. Langlebige Sitzungen nutzen einen eigenen Pool mit 3 Verbindungen.

Speicher und Limits ​

VariableGelesen vonStandardBedeutung
ARKVORY_CAPACITY_BYTESAPI, Worker10 TiBObergrenze in Bytes für alle reservierten Inhalte: veröffentlichte, unfertige Uploads und Inhalte, die auf die Bereinigung warten. Es ist keine Datenträgerprüfung. Der Worker liest sie nur für Spiegelkopien.
ARKVORY_STORAGE_RESERVE_BYTESAPI, Worker, Agent1073741824Freier Speicherplatz in Bytes, den Uploads nie verwenden. Er bleibt für die Datenbank, Protokolle und das System reserviert. 0 schaltet die Reserve aus.
ARKVORY_MAX_OBJECT_BYTESAPIetwa 10 TiBGrößtes Objekt in Bytes. Der höchste erlaubte Wert sind 10 000 Teile zu je 1 GiB. Setzen Sie einen niedrigeren Wert, um die Dateigröße zu begrenzen.

Übertragungen und Bandbreite ​

Diese Limits gelten für einen API-Prozess. Raten sind in Bytes pro Sekunde angegeben: 0 bedeutet keine Begrenzung, jeder andere Wert muss zwischen 65 536 und 1 TiB liegen.

VariableGelesen vonStandardBedeutung
ARKVORY_MAX_UPLOADSAPI8Gleichzeitig laufende Uploads, 1–32.
ARKVORY_MAX_DOWNLOADSAPI16Gleichzeitig laufende Downloads, 1–256.
ARKVORY_MAX_UPLOADS_PER_PRINCIPALAPI4Gleichzeitige Uploads eines Kontos oder Schlüssels, bis zum Gesamtlimit für Uploads.
ARKVORY_MAX_DOWNLOADS_PER_PRINCIPALAPI4Gleichzeitige Downloads eines Kontos oder Schlüssels, bis zum Gesamtlimit für Downloads.
ARKVORY_DOWNLOAD_STRATEGYAPIorderedWie die Warteschlange ganze Downloads von Objekten über ARKVORY_DOWNLOAD_SESSION_MIN_BYTES ordnet: ordered (Prioritätsklassen, Konten und Schlüssel reihum), smallest-first (kleine Objekte zuerst) oder shared (keine Warteschlange: jede Anfrage wird einzeln zugelassen). Mit Lese-Gateways (die Variablen ARKVORY_SHARED_DOWNLOADS_*) ist der Standard shared auf jedem Prozess, auch auf dem Schreiber.
ARKVORY_MAX_DOWNLOAD_SESSIONSAPIARKVORY_MAX_DOWNLOADSDownloads, die gleichzeitig einen Platz halten, 1–1024.
ARKVORY_DOWNLOAD_RESERVEAPI1Plätze für Menschen (Konsolensitzungen und persönliche Tokens) während eines Massen-Updates. Unter vier Plätzen standardmäßig 0.
ARKVORY_DOWNLOAD_WEIGHTSAPIinteractive=8,release=4,bulk=2,background=1Anteil der freien Plätze je Klasse. Nennen Sie nur die Klassen, die Sie ändern.
ARKVORY_DOWNLOAD_SESSION_MIN_BYTESAPI16777216Objekte bis zu dieser Größe umgehen die Warteschlange und werden je Anfrage zugelassen.
ARKVORY_DOWNLOAD_IDLE_SECONDSAPI30Eine längere Pause zwischen Bereichen gibt den Platz frei. Der Download behält seine Reihenfolge zehn Minuten.
ARKVORY_DOWNLOAD_AGING_MINUTESAPI15Jede solche Wartezeit hebt einen Download um eine Klasse, höchstens bis release. 0 schaltet das Altern ab.
ARKVORY_DOWNLOAD_PREEMPTAPItrueClients des Warteschlangenprotokolls (SDK, arkvoryctl) geben ihren Platz an einer Bereichsgrenze an eine höhere Klasse oder einen Schlüssel unter seinem Anteil ab, nachdem sie ihn eine Minute gehalten haben.
ARKVORY_DOWNLOAD_RANGES_PER_SESSIONAPI4Gleichzeitige Anfragen eines Downloads: parallele Bereiche, Clients hinter einer Adresse.
ARKVORY_DOWNLOAD_QUEUE_LIMITAPI65536Downloads insgesamt, aktiv und wartend. Darüber wird ein Client gebeten, in einer Minute wiederzukommen.
ARKVORY_DOWNLOAD_QUEUE_PER_PRINCIPALAPI4096Downloads eines Kontos, Schlüssels oder Links insgesamt.
ARKVORY_DOWNLOAD_HOLD_SECONDSAPI20Wie lange eine Anfrage eines Werkzeugs außerhalb des Warteschlangenprotokolls (docker, npm, curl, ein Browser) auf ihren Platz gehalten wird, bevor 503 kommt. Standard: ARKVORY_TRANSFER_QUEUE_TIMEOUT_MS. 0 antwortet sofort.
ARKVORY_SITE_NAMEAPI—Wie diese Installation auf der Seite „Standorte“ anderer Installationen heißt, 1–63 Zeichen.
ARKVORY_FLEET_KEY_FILEAPIfleet.keyDer Schlüssel, der die Schlüssel der von dieser Installation verwalteten Standorte versiegelt. Der Schreibprozess erstellt ihn beim ersten Start; schützen Sie ihn wie das Datenverzeichnis. Weder in der Datenbank noch in Sicherungen.
ARKVORY_SITE_URLAPInicht gesetztDie Adresse https://host[:port], unter der andere Standorte diese Installation erreichen. Ist sie gesetzt, führen Spiegel anderer Standorte, deren Quelle diese Installation ist, auf der Karte der Seite „Standorte“ zu ihr, statt eine externe Adresse zu zeigen. Ein ungültiger Wert verhindert den Start.
ARKVORY_FLEET_LAG_ALERTAPI1000Um wie viele Änderungen ein Spiegel eines verwalteten Standorts hinter seiner Quelle liegen darf, bevor die Seite „Standorte“ des Controllers alarmiert. Ganze Zahl, 1 oder mehr.
ARKVORY_TRANSFER_QUEUE_LIMITAPI64Übertragungen, die auf einen freien Platz warten dürfen, 1–1024.
ARKVORY_TRANSFER_QUEUE_PER_PRINCIPALAPI8Wartende Übertragungen eines Kontos oder Schlüssels, bis zum Warteschlangenlimit.
ARKVORY_TRANSFER_QUEUE_TIMEOUT_MSAPI20000Wie lange eine Übertragung in der Warteschlange warten darf, 1–120 000 ms.
ARKVORY_MAX_REQUESTSAPI128Gleichzeitige authentifizierte Anfragen, 1–4096. Der Wert muss größer sein als Uploads plus Downloads. Ist er nicht gesetzt und sind die Übertragungslimits hoch, ist der Standard Uploads plus Downloads plus 64.
ARKVORY_UPLOAD_BYTES_PER_SECONDAPI0Gesamte Upload-Rate des Prozesses.
ARKVORY_DOWNLOAD_BYTES_PER_SECONDAPI0Gesamte Download-Rate des Prozesses.
ARKVORY_UPLOAD_BYTES_PER_SECOND_PER_PRINCIPALAPI0Upload-Rate eines Kontos oder Schlüssels über alle seine Verbindungen.
ARKVORY_DOWNLOAD_BYTES_PER_SECOND_PER_PRINCIPALAPI0Download-Rate eines Kontos oder Schlüssels über alle seine Verbindungen.
ARKVORY_UPLOAD_IDLE_TIMEOUT_MSAPI30000Eine Upload-Anfrage, die so lange keine Daten sendet, wird gestoppt, 1–1 800 000 ms.
ARKVORY_UPLOAD_DEADLINE_MSAPI1800000Längste Dauer einer Upload-Anfrage, 1–1 800 000 ms. Sie darf nicht kürzer sein als die Leerlauf-Zeitüberschreitung.

Netzwerk, HTTPS und Browser ​

VariableGelesen vonStandardBedeutung
ARKVORY_TLS_CERT_FILEAPInicht gesetztPEM-Zertifikat (mit seiner Kette) für integriertes HTTPS. Setzen Sie es zusammen mit der Schlüsseldatei.
ARKVORY_TLS_KEY_FILEAPInicht gesetztPrivater PEM-Schlüssel ohne Passwort.
ARKVORY_TLS_MIN_VERSIONAPITLSv1.2TLSv1.2 oder TLSv1.3.
ARKVORY_TLS_RELOAD_SECONDSAPI300Wie oft erneuerte Zertifikatsdateien gelesen werden: 30–86 400 Sekunden, oder 0, um sie nur beim Start zu lesen.
ARKVORY_CORS_ORIGINSAPIleerKommagetrennte Liste von bis zu 16 Browser-Origins, für eine Konsole unter einer anderen Adresse. Nur HTTPS oder HTTP auf Loopback.
ARKVORY_TRUSTED_PROXIESAPIleerBis zu 32 Reverse-Proxy-Adressen (IP oder CIDR). Nur diese dürfen die Client-Adresse mit X-Forwarded-For, die Anfrage-ID mit X-Request-Id sowie Host und Protokoll absoluter Links (Git LFS, npm) mit X-Forwarded-Host und X-Forwarded-Proto setzen.

Integriertes HTTPS ist für native Installationen gedacht. Verwenden Sie mit Docker Compose einen Reverse-Proxy. Siehe HTTPS.

Identität und Schlüssel ​

VariableGelesen vonStandardBedeutung
ARKVORY_KEYS_FILEAPI, WorkererforderlichJSON-Datei mit Dateischlüsseln, etwa dem Wiederherstellungsschlüssel und dem Schlüssel für Health-Checks. Sie speichert SHA-256-Hashes, nie die Schlüssel.
ARKVORY_ALLOW_REGISTRATIONAPIaustrue erlaubt Personen, auf der Anmeldeseite eigene Konten zu erstellen. Jeder andere Wert lässt es ausgeschaltet.

Backups ​

VariableGelesen vonStandardBedeutung
ARKVORY_BACKUP_VAULTAgentnicht gesetztVerzeichnis eines initialisierten Backup-Speichers. Ohne diese Angabe läuft der Agent und meldet, dass kein Backup-Speicher konfiguriert ist. arkvory configure --backup-vault schreibt sie.
ARKVORY_BACKUP_VAULT_KEY_FILEAgentnicht gesetztDatei mit dem Agent-Schlüssel für ein verschlüsseltes Vault (AK1-…) oder ein Recovery-Kit. Die Befehle nehmen sie auch als --key-file. arkvory configure --vault-key-file schreibt sie.
ARKVORY_BACKUP_BYTES_PER_SECONDAgentkeine GrenzeBegrenzung der Kopierrate eines Backups, mindestens 65 536.
ARKVORY_BACKUP_POLL_SECONDSAgent15Wie oft der Agent nach neuen Backup-Aufträgen sucht, 1–3600 Sekunden.
ARKVORY_BACKUP_LEASE_SECONDSAgent60Lease-Dauer, die verhindert, dass gleichzeitig ein zweiter Agent läuft, 2–3600 Sekunden.
ARKVORY_BACKUP_SNAPSHOT_SECONDSAgent1800Zeitlimit für den Teil eines Backups, der den Datenbank-Snapshot erstellt, 60–86 400 Sekunden.
ARKVORY_BACKUP_BARRIER_SECONDSAgent30Wie lange ein Backup auf einen laufenden Bereinigungsschritt wartet, 1–600 Sekunden.
ARKVORY_RESTORE_DATABASE_URLRestore-Befehlnicht gesetztZieldatenbank einer Wiederherstellung. Das ist sicherer als --database-url, weil andere Benutzer sie nicht in der Prozessliste sehen.

Siehe Backups.

Spiegel ​

VariableGelesen vonStandardBedeutung
ARKVORY_MIRRORS_FILEAPI, Workernicht gesetztJSON-Datei, die gespiegelte Repositorys auflistet (bis zu 64). arkvory configure --mirror schreibt sie.
ARKVORY_MIRRORS_CA_FILEWorkernicht gesetztAbsoluter Pfad zu einer PEM-Datei mit zusätzlichen Zertifizierungsstellen für die Quellserver. TLS wird immer geprüft.

Siehe Spiegel.

Webhooks ​

VariableGelesen vonStandardBedeutung
ARKVORY_WEBHOOKS_FILEWorkernicht gesetztJSON-Datei mit der Liste der Webhook-Abonnements (bis zu 16). Ohne sie werden keine Webhooks gesendet.
ARKVORY_WEBHOOKS_ALLOW_PRIVATEWorkernicht gesetztNetze im CIDR-Format, durch Kommas getrennt (bis zu 32), die neben öffentlichen Adressen Webhooks empfangen dürfen, zum Beispiel 10.20.0.0/16.
ARKVORY_WEBHOOKS_CA_FILEWorkernicht gesetztAbsoluter Pfad einer PEM-Datei mit zusätzlichen Zertifizierungsstellen für die Empfänger. TLS wird immer geprüft.

Siehe Webhooks.

Hochverfügbarkeits-Cluster ​

VariableGelesen vonStandardBedeutung
ARKVORY_REPLICA_SOCKETAPInicht gesetztSocket des Dienstes arkvory-replica. arkvory configure --cluster setzt sie. Mit ihr erhält ein Schreibvorgang nur dann 2xx, wenn die erforderlichen Kopien vollständig sind. Nicht gesetzt: eigenständiger Server.

Siehe Hochverfügbarkeits-Cluster.

Updates und der Hub ​

VariableGelesen vonStandardBedeutung
ARKVORY_HUB_URLAPIhttps://hub.proanima.netAdresse des ProAnimaStudio-Hubs, verwendet nur für das Feedback aus der Konsole (der Update-Hub steht in config/hub.json und wird mit arkvory configure geändert). Ein leerer Wert schaltet das Feedback aus. Nur HTTPS oder HTTP auf Loopback.
ARKVORY_HUB_PROJECTAPIarkvoryProjektname im Hub.
ARKVORY_UPDATE_CONTROL_DIRAPInicht gesetztVerzeichnis, das die API mit dem Updater des Hosts teilt. Die Installer setzen es. Ohne diese Angabe kann die Konsole keine Updates anfordern.

Siehe Updates.

Protokollierung und Herunterfahren ​

VariableGelesen vonStandardBedeutung
ARKVORY_LOG_LEVELAPI, Worker, Agentinfodebug, info, warning oder error.
ARKVORY_ACCESS_LOGAPItruetrue schreibt für jede HTTP-Anfrage eine JSON-Zeile; false schaltet es aus.
ARKVORY_DRAIN_TIMEOUT_MSAPI30000Zeit, die laufende Anfragen nach einem Stoppsignal zum Abschluss haben, 0–3 600 000 ms.

Lese-Gateways ​

Ist eine dieser Variablen gesetzt, sind der Slot, die Anzahl der Slots und die gemeinsame Rate erforderlich. Die schreibende Instanz verwendet die Rolle api und den Slot 0. Jedes Lese-Gateway verwendet die Rolle reader und einen eigenen Slot. Siehe Lese-Gateways.

VariableGelesen vonStandardBedeutung
ARKVORY_ROLEAPIapiapi (die schreibende Instanz) oder reader (ein Lese-Gateway).
ARKVORY_GATEWAY_SLOTSAPInicht gesetztAnzahl der Prozesse, die sich das Download-Budget teilen, 2–16.
ARKVORY_GATEWAY_SLOTAPInicht gesetztSlot dieses Prozesses, von 0 bis Slots minus eins.
ARKVORY_SHARED_DOWNLOAD_BYTES_PER_SECONDAPInicht gesetztGesamte Download-Rate aller Prozesse. Jeder Slot erhält einen gleichen Anteil, mindestens 65 536 Bytes pro Sekunde.
ARKVORY_SHARED_DOWNLOAD_BYTES_PER_SECOND_PER_PRINCIPALAPI0Gesamte Download-Rate eines Kontos oder Schlüssels über alle Prozesse; 0 bedeutet keine Begrenzung.

Watchdog ​

VariableGelesen vonStandardBedeutung
ARKVORY_WATCHDOG_SECONDSAPI, Worker, Agent60Ein Prozess, der so lange blockiert bleibt, beendet sich selbst, und der Dienstmanager startet ihn neu. 0 schaltet ihn aus (für einen Debugger); sonst 10–3600 Sekunden.

Siehe Selbstheilung.

Kommandozeilen-Client ​

VariableGelesen vonStandardBedeutung
ARKVORY_BASE_URLCLIProfil, dann http://127.0.0.1:8080Serveradresse. Ist sie gesetzt, muss auch der Schlüssel aus der Umgebung kommen.
ARKVORY_TOKENCLInicht gesetztDer Schlüssel selbst. Er hat Vorrang vor einer Schlüsseldatei.
ARKVORY_TOKEN_FILECLISchlüsseldatei des ProfilsPfad zu einer Datei, die den Schlüssel enthält.
ARKVORY_CLI_HOMECLI~/.config/arkvoryVerzeichnis der Datei profiles.json.
ARKVORY_CLI_VERSIONCLIdevelopmentVersion, die --version ausgibt. Release-Pakete enthalten sie.

Siehe Kommandozeilen-Client.

Installer-Skripte ​

Diese Variablen liest install.sh unter Linux. Unter Windows verwendet install.ps1 stattdessen Parameter wie -Root und -Artifact.

VariableStandardBedeutung
ARKVORY_INSTALL_ROOT/opt/proanima-arkvoryInstallationsverzeichnis. Legen Sie eine native Installation nicht in einem Home-Verzeichnis ab.
ARKVORY_ARTIFACT_DIRnicht gesetztVerzeichnis eines entpackten Releases. Das Skript installiert es, statt ein Release herunterzuladen.
ARKVORY_RELEASE_VERSIONneuestes stabilesExakte stabile Version, die installiert werden soll, etwa 1.2.3.

Vom Installer gesetzt ​

Der Installer setzt diese Variablen für seine eigenen Hilfsprozesse. Setzen Sie sie nicht selbst.

VariableBedeutung
ARKVORY_IMAGEContainer-Image des aktuellen Releases, in config/compose.env.
ARKVORY_SERVICE_WRAPPERPfad zum Wrapper des Windows-Backup-Dienstes, verwendet, wenn der Dienst angehalten ist.
ARKVORY_PROTECT_ROOTInstallationsverzeichnis, dessen Zugriffsregeln unter Windows gesetzt werden.
ARKVORY_ENGINE_USERGibt unter Windows mit Docker Desktop dem aktuellen Benutzer Zugriff auf das Installationsverzeichnis.

Arkvory · ProAnimaStudio