Compare commits
3 Commits
v0.14.0-be
...
bf871852b8
| Author | SHA1 | Date | |
|---|---|---|---|
| bf871852b8 | |||
| 78e735c959 | |||
| c734de447f |
@@ -1,7 +1,10 @@
|
||||
# Copie en .env sur le serveur (jamais commite).
|
||||
|
||||
# Registre et tag des images core / brain a spawner par session.
|
||||
REGISTRY=git.igmlcreation.fr
|
||||
# Registre, namespace et tag des images core / brain a spawner par session.
|
||||
# Doit pointer sur le registre ou la CI publie reellement (ghcr.io).
|
||||
# Le slash final de IMAGE_NAMESPACE est important : image = REGISTRY/NAMESPACEcore:TAG
|
||||
REGISTRY=ghcr.io
|
||||
IMAGE_NAMESPACE=igmlcreation/loremind-
|
||||
TAG=latest
|
||||
|
||||
# Secret partage entre core et brain (genere aleatoirement au build de chaque
|
||||
|
||||
@@ -10,6 +10,7 @@ import (
|
||||
// Config centralise les parametres lus depuis les variables d'env au boot.
|
||||
type Config struct {
|
||||
Registry string
|
||||
Namespace string
|
||||
Tag string
|
||||
MaxSessions int
|
||||
SessionTTL time.Duration
|
||||
@@ -27,7 +28,12 @@ type Config struct {
|
||||
|
||||
func loadConfig() *Config {
|
||||
return &Config{
|
||||
Registry: envStr("REGISTRY", "git.igmlcreation.fr"),
|
||||
// Aligne sur la nouvelle convention de publication des images
|
||||
// (ghcr.io/igmlcreation/loremind-{core,brain}). L'ancien registre Gitea
|
||||
// (git.igmlcreation.fr/ietm64/*) n'est plus republie : il restait gele
|
||||
// sur une vieille version. Le slash final de Namespace est volontaire.
|
||||
Registry: envStr("REGISTRY", "ghcr.io"),
|
||||
Namespace: envStr("IMAGE_NAMESPACE", "igmlcreation/loremind-"),
|
||||
Tag: envStr("TAG", "latest"),
|
||||
MaxSessions: envInt("MAX_SESSIONS", 10),
|
||||
SessionTTL: time.Duration(envInt("SESSION_TTL_MINUTES", 20)) * time.Minute,
|
||||
|
||||
@@ -111,7 +111,7 @@ func (d *DockerClient) SpawnTrio(ctx context.Context, sessionID string, cfg *Con
|
||||
|
||||
if err := d.runContainer(ctx, runSpec{
|
||||
Name: brainName,
|
||||
Image: cfg.Registry + "/ietm64/brain:" + cfg.Tag,
|
||||
Image: cfg.Registry + "/" + cfg.Namespace + "brain:" + cfg.Tag,
|
||||
Env: []string{
|
||||
"INTERNAL_SHARED_SECRET=" + brainSecret,
|
||||
// Pas de provider LLM configure en demo : les features IA echoueront
|
||||
@@ -129,7 +129,7 @@ func (d *DockerClient) SpawnTrio(ctx context.Context, sessionID string, cfg *Con
|
||||
|
||||
if err := d.runContainer(ctx, runSpec{
|
||||
Name: coreName,
|
||||
Image: cfg.Registry + "/ietm64/core:" + cfg.Tag,
|
||||
Image: cfg.Registry + "/" + cfg.Namespace + "core:" + cfg.Tag,
|
||||
Env: []string{
|
||||
"SPRING_DATASOURCE_URL=jdbc:postgresql://" + pgName + ":5432/loremind",
|
||||
"SPRING_DATASOURCE_USERNAME=loremind",
|
||||
|
||||
@@ -252,7 +252,11 @@ services:
|
||||
# API HTTP pour declenchement manuel via le bouton UI (Core -> Watchtower).
|
||||
WATCHTOWER_HTTP_API_UPDATE: "true"
|
||||
WATCHTOWER_HTTP_API_PERIODIC_POLLS: "true"
|
||||
WATCHTOWER_HTTP_API_TOKEN: "${WATCHTOWER_TOKEN:?set WATCHTOWER_TOKEN in .env (re-run installer)}"
|
||||
# Pas de ":?" ici : Compose interpole TOUT le fichier avant de filtrer
|
||||
# par profile, donc un ":?" planterait le "up" meme quand autoupdate est
|
||||
# inactif. L'installeur genere toujours WATCHTOWER_TOKEN ; defaut vide
|
||||
# pour ne rien casser sur les deploiements sans autoupdate.
|
||||
WATCHTOWER_HTTP_API_TOKEN: "${WATCHTOWER_TOKEN:-}"
|
||||
WATCHTOWER_TIMEOUT: 60s
|
||||
WATCHTOWER_NOTIFICATIONS_LEVEL: info
|
||||
TZ: ${TZ:-Europe/Paris}
|
||||
|
||||
Reference in New Issue
Block a user