mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-21 05:58:13 +02:00
Rebaptise AJEAN en Loki (fork, lignée conservée)
- module github.com/R0m1k3/Loki, cmd/loki, internal/loki (package loki) - LOKI_HOME, LOKI_MODEL_DIRS, LOKI_SERVICE, LOKI_DL_CONNS ; /etc/loki ; units loki-engine / loki-ui ; binaire et aide CLI - updateRepo pointe sur R0m1k3/Loki (l'auto-update ne tirera plus les binaires AJEAN amont) Conservé à l'identique : le domaine ajean.link (service de tunnel amont), les littéraux de migration 0.7.x (migrate_07.go), RELEASE_NOTES.md et LICENSE (historique et licence de l'amont). go build/vet/test : verts.
This commit is contained in:
157 files changed
+928
-928
No files matched your search
@@ -0,0 +1,51 @@
|
||||
package loki
|
||||
|
||||
import (
|
||||
"os"
|
||||
"runtime"
|
||||
)
|
||||
|
||||
// sys_datadir.go — création du dossier de données, identique sur les trois
|
||||
// plateformes. Avant, chaque installateur (Linux, macOS, Windows, plus le
|
||||
// premier lancement de l'app) créait ses dossiers et écrivait son propre
|
||||
// modèle de config.env : quatre copies qui divergeaient à la première
|
||||
// modification. Il n'y en a plus qu'une.
|
||||
|
||||
// dataDirs est l'arborescence complète de $LOKI_HOME. Rien d'autre n'y est
|
||||
// créé : tout le reste vit dans loki.db.
|
||||
func dataDirs() []string {
|
||||
return []string{LokiHome(), backendsDir(), binDir(), presetsDir(), memoryDir(), modelsDir(), workspaceDir()}
|
||||
}
|
||||
|
||||
// defaultConfig est la configuration de départ d'une installation neuve. Les
|
||||
// valeurs sont volontairement incomplètes (BIN et MODEL sont vides) : c'est
|
||||
// l'écran d'accueil, ou « loki llamacpp install », qui les renseigne.
|
||||
func defaultConfig() map[string]string {
|
||||
host := "0.0.0.0"
|
||||
if runtime.GOOS == "windows" {
|
||||
host = "127.0.0.1"
|
||||
}
|
||||
return map[string]string{
|
||||
"PORT": "8080",
|
||||
"HOST": host,
|
||||
"CTX": "32768",
|
||||
"BATCH": "2048",
|
||||
"UBATCH": "512",
|
||||
"NGL": "999",
|
||||
}
|
||||
}
|
||||
|
||||
// provisionDataDir crée l'arborescence et, sur une installation neuve, pose la
|
||||
// configuration de départ. Idempotente : une configuration existante n'est
|
||||
// jamais écrasée.
|
||||
func provisionDataDir() error {
|
||||
for _, d := range dataDirs() {
|
||||
if err := os.MkdirAll(d, 0o755); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
if len(ReadConfig()) > 0 {
|
||||
return nil
|
||||
}
|
||||
return WriteConfig(defaultConfig())
|
||||
}
|
||||
Reference in new issue
Block a user