[{"data":1,"prerenderedAt":511},["ShallowReactive",2],{"navigation_docs_fr":3,"-fr-self-hosting-updating":123,"-fr-self-hosting-updating-surround":506},[4,36,107],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":35},"Démarrage","i-lucide-rocket","\u002Ffr\u002Fgetting-started","fr\u002F1.getting-started",[10,15,20,25,30],{"title":11,"path":12,"stem":13,"icon":14},"Qu'est-ce que Chronicler","\u002Ffr\u002Fgetting-started\u002Fwhat-is-chronicler","fr\u002F1.getting-started\u002F1.what-is-chronicler","i-lucide-help-circle",{"title":16,"path":17,"stem":18,"icon":19},"Installer l'application","\u002Ffr\u002Fgetting-started\u002Finstall-the-app","fr\u002F1.getting-started\u002F2.install-the-app","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Démarrage rapide Cloud","\u002Ffr\u002Fgetting-started\u002Fcloud-quickstart","fr\u002F1.getting-started\u002F3.cloud-quickstart","i-lucide-cloud",{"title":26,"path":27,"stem":28,"icon":29},"Votre première conversation","\u002Ffr\u002Fgetting-started\u002Fyour-first-chat","fr\u002F1.getting-started\u002F4.your-first-chat","i-lucide-messages-square",{"title":31,"path":32,"stem":33,"icon":34},"Gérer les utilisateurs","\u002Ffr\u002Fgetting-started\u002Fmanaging-users","fr\u002F1.getting-started\u002F5.managing-users","i-lucide-users",false,{"title":37,"icon":38,"path":39,"stem":40,"children":41,"page":35},"Auto-hébergement","i-lucide-server","\u002Ffr\u002Fself-hosting","fr\u002F2.self-hosting",[42,47,52,57,62,67,72,77,82,87,92,97,102],{"title":43,"path":44,"stem":45,"icon":46},"Vue d'ensemble","\u002Ffr\u002Fself-hosting\u002Foverview","fr\u002F2.self-hosting\u002F1.overview","i-lucide-layout-dashboard",{"title":48,"path":49,"stem":50,"icon":51},"Sauvegardes et restauration","\u002Ffr\u002Fself-hosting\u002Fbackups","fr\u002F2.self-hosting\u002F10.backups","i-lucide-database-backup",{"title":53,"path":54,"stem":55,"icon":56},"Mises à jour","\u002Ffr\u002Fself-hosting\u002Fupdating","fr\u002F2.self-hosting\u002F11.updating","i-lucide-refresh-cw",{"title":58,"path":59,"stem":60,"icon":61},"Sécurité et réseau","\u002Ffr\u002Fself-hosting\u002Fsecurity-and-networking","fr\u002F2.self-hosting\u002F12.security-and-networking","i-lucide-shield",{"title":63,"path":64,"stem":65,"icon":66},"Dépannage","\u002Ffr\u002Fself-hosting\u002Ftroubleshooting","fr\u002F2.self-hosting\u002F13.troubleshooting","i-lucide-life-buoy",{"title":68,"path":69,"stem":70,"icon":71},"Prérequis","\u002Ffr\u002Fself-hosting\u002Frequirements","fr\u002F2.self-hosting\u002F2.requirements","i-lucide-cpu",{"title":73,"path":74,"stem":75,"icon":76},"Démarrage rapide (guidé)","\u002Ffr\u002Fself-hosting\u002Fquick-start","fr\u002F2.self-hosting\u002F3.quick-start","i-lucide-wand-2",{"title":78,"path":79,"stem":80,"icon":81},"Installation manuelle","\u002Ffr\u002Fself-hosting\u002Fmanual-install","fr\u002F2.self-hosting\u002F4.manual-install","i-lucide-terminal",{"title":83,"path":84,"stem":85,"icon":86},"Accélération GPU","\u002Ffr\u002Fself-hosting\u002Fgpu-acceleration","fr\u002F2.self-hosting\u002F5.gpu-acceleration","i-lucide-zap",{"title":88,"path":89,"stem":90,"icon":91},"Performances et mémoire","\u002Ffr\u002Fself-hosting\u002Fperformance-and-memory","fr\u002F2.self-hosting\u002F6.performance-and-memory","i-lucide-gauge",{"title":93,"path":94,"stem":95,"icon":96},"Référence de configuration","\u002Ffr\u002Fself-hosting\u002Fconfiguration-reference","fr\u002F2.self-hosting\u002F7.configuration-reference","i-lucide-sliders-horizontal",{"title":98,"path":99,"stem":100,"icon":101},"Modèles","\u002Ffr\u002Fself-hosting\u002Fmodels","fr\u002F2.self-hosting\u002F8.models","i-lucide-brain",{"title":103,"path":104,"stem":105,"icon":106},"Licence et activation","\u002Ffr\u002Fself-hosting\u002Flicensing","fr\u002F2.self-hosting\u002F9.licensing","i-lucide-key-round",{"title":108,"icon":109,"path":110,"stem":111,"children":112,"page":35},"Référence","i-lucide-book-open","\u002Ffr\u002Freference","fr\u002F3.reference",[113,118],{"title":114,"path":115,"stem":116,"icon":117},"Comment ça marche","\u002Ffr\u002Freference\u002Fhow-it-works","fr\u002F3.reference\u002F1.how-it-works","i-lucide-workflow",{"title":119,"path":120,"stem":121,"icon":122},"Données et confidentialité","\u002Ffr\u002Freference\u002Fdata-and-privacy","fr\u002F3.reference\u002F2.data-and-privacy","i-lucide-lock",{"id":124,"title":53,"body":125,"description":497,"extension":498,"links":499,"meta":500,"navigation":501,"path":54,"seo":502,"stem":55,"__hash__":505},"docs_fr\u002Ffr\u002F2.self-hosting\u002F11.updating.md",{"type":126,"value":127,"toc":483},"minimark",[128,132,181,184,189,196,203,207,217,220,231,235,301,311,322,326,332,351,357,361,413,417,421,424,439,442,446,472,476,479],[129,130,131],"p",{},"Deux choses se mettent à jour, volontairement de façon indépendante :",[133,134,135,150],"table",{},[136,137,138],"thead",{},[139,140,141,144,147],"tr",{},[142,143],"th",{},[142,145,146],{},"Se met à jour",[142,148,149],{},"Qui décide",[151,152,153,168],"tbody",{},[139,154,155,162,165],{},[156,157,158],"td",{},[159,160,161],"strong",{},"L'application",[156,163,164],{},"Automatiquement, au redémarrage",[156,166,167],{},"Chaque utilisateur",[139,169,170,175,178],{},[156,171,172],{},[159,173,174],{},"La pile serveur",[156,176,177],{},"Quand vous lancez une mise à jour",[156,179,180],{},"L'administrateur",[129,182,183],{},"Une mise à jour de l'application ne touche jamais votre serveur. C'est délibéré :\naucun serveur documentaire ne devrait redémarrer parce que quelqu'un a accepté\nune mise à jour d'application.",[185,186,188],"h2",{"id":187},"avant-de-mettre-à-jour","Avant de mettre à jour",[129,190,191,192,195],{},"Faites une sauvegarde. ",[159,193,194],{},"Admin → Sauvegardes → Sauvegarder maintenant."," Trente\nsecondes, et c'est ce qui sépare une mise à jour ratée d'un après-midi perdu.",[129,197,198,199,202],{},"Le backend se protège aussi : lorsqu'une mise à jour modifie le schéma de la\nbase, il en fait d'abord un export et ",[159,200,201],{},"refuse de migrer si cet export échoue",".",[185,204,206],{"id":205},"mettre-à-jour-depuis-lapplication","Mettre à jour depuis l'application",[129,208,209,212,213,216],{},[159,210,211],{},"Admin → Mises à jour"," affiche la version actuelle et l'existence d'une version\nplus récente. ",[159,214,215],{},"Lancer la mise à jour"," fait tout, en affichant le journal en\ndirect : récupération du fichier compose courant, téléchargement des nouvelles\nimages et redémarrage de la pile.",[129,218,219],{},"Comptez quelques minutes et un gros téléchargement. L'application est\ninutilisable pendant le redémarrage du backend ; elle se reconnecte seule.",[129,221,222,225,226,230],{},[159,223,224],{},"Vérifier automatiquement les mises à jour"," ne contrôle que le fait d'être\n",[227,228,229],"em",{},"prévenu",". Rien ne s'installe tout seul.",[185,232,234],{"id":233},"mettre-à-jour-depuis-un-terminal","Mettre à jour depuis un terminal",[236,237,243],"pre",{"className":238,"code":239,"filename":240,"language":241,"meta":242,"style":242},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","cd \u002Fopt\u002Fchronicler\ndocker compose pull\ndocker compose up -d\ndocker compose logs -f backend\n","Terminal","bash","",[244,245,246,259,272,285],"code",{"__ignoreMap":242},[247,248,251,255],"span",{"class":249,"line":250},"line",1,[247,252,254],{"class":253},"s2Zo4","cd",[247,256,258],{"class":257},"sfazB"," \u002Fopt\u002Fchronicler\n",[247,260,262,266,269],{"class":249,"line":261},2,[247,263,265],{"class":264},"sBMFI","docker",[247,267,268],{"class":257}," compose",[247,270,271],{"class":257}," pull\n",[247,273,275,277,279,282],{"class":249,"line":274},3,[247,276,265],{"class":264},[247,278,268],{"class":257},[247,280,281],{"class":257}," up",[247,283,284],{"class":257}," -d\n",[247,286,288,290,292,295,298],{"class":249,"line":287},4,[247,289,265],{"class":264},[247,291,268],{"class":257},[247,293,294],{"class":257}," logs",[247,296,297],{"class":257}," -f",[247,299,300],{"class":257}," backend\n",[129,302,303,306,307,310],{},[244,304,305],{},"pull"," récupère les nouvelles images, ",[244,308,309],{},"up -d"," recrée les conteneurs modifiés. Vos\nvolumes — base, documents, modèles — ne sont pas touchés.",[312,313,314,315,321],"note",{},"La mise à jour guidée dans l'application ",[159,316,317,318],{},"remplace aussi votre\n",[244,319,320],{},"docker-compose.yml"," par la version publiée. Les modifications manuelles de ce\nfichier (montage de sauvegarde externe, modèle fixé) sont perdues. Si vous l'avez\npersonnalisé, mettez à jour depuis le terminal, ou conservez votre copie et\nréappliquez-la après chaque mise à jour.",[185,323,325],{"id":324},"figer-une-version","Figer une version",[129,327,328,331],{},[244,329,330],{},"latest"," signifie que chaque mise à jour vous emmène sur la version la plus\nrécente. Sur un serveur dont des gens dépendent, figez-la :",[236,333,336],{"className":238,"code":334,"filename":335,"language":241,"meta":242,"style":242},"CHRONICLER_VERSION=1.0.9\n",".env",[244,337,338],{"__ignoreMap":242},[247,339,340,344,348],{"class":249,"line":250},[247,341,343],{"class":342},"sTEyZ","CHRONICLER_VERSION",[247,345,347],{"class":346},"sMK4o","=",[247,349,350],{"class":257},"1.0.9\n",[129,352,353,354,202],{},"Mettre à jour devient alors un acte délibéré : changez le numéro,\n",[244,355,356],{},"docker compose up -d",[185,358,360],{"id":359},"revenir-en-arrière","Revenir en arrière",[362,363,364,369,383,387,402,406],"steps",{},[365,366,368],"h3",{"id":367},"figer-la-version-précédente","Figer la version précédente",[236,370,372],{"className":238,"code":371,"filename":335,"language":241,"meta":242,"style":242},"CHRONICLER_VERSION=1.0.8\n",[244,373,374],{"__ignoreMap":242},[247,375,376,378,380],{"class":249,"line":250},[247,377,343],{"class":342},[247,379,347],{"class":346},[247,381,382],{"class":257},"1.0.8\n",[365,384,386],{"id":385},"redémarrer","Redémarrer",[236,388,390],{"className":238,"code":389,"filename":240,"language":241,"meta":242,"style":242},"docker compose up -d\n",[244,391,392],{"__ignoreMap":242},[247,393,394,396,398,400],{"class":249,"line":250},[247,395,265],{"class":264},[247,397,268],{"class":257},[247,399,281],{"class":257},[247,401,284],{"class":257},[365,403,405],{"id":404},"restaurer-la-sauvegarde-si-le-schéma-a-changé","Restaurer la sauvegarde si le schéma a changé",[129,407,408,409,412],{},"Si la version plus récente a migré la base, un backend plus ancien peut ne pas\nsavoir la lire. Restaurez la sauvegarde prise avant la mise à jour\n(",[410,411,48],"a",{"href":49},").",[414,415,416],"caution",{},"C'est pour cela que la sauvegarde préalable compte. Revenir en arrière sur les\nimages est facile ; revenir sur une base migrée sans sauvegarde ne l'est pas.",[185,418,420],{"id":419},"mettre-à-jour-ollama","Mettre à jour Ollama",[129,422,423],{},"Le runtime du modèle a sa propre version :",[236,425,427],{"className":238,"code":426,"filename":335,"language":241,"meta":242,"style":242},"OLLAMA_VERSION=0.32.4\n",[244,428,429],{"__ignoreMap":242},[247,430,431,434,436],{"class":249,"line":250},[247,432,433],{"class":342},"OLLAMA_VERSION",[247,435,347],{"class":346},[247,437,438],{"class":257},"0.32.4\n",[129,440,441],{},"N'y touchez pas sans raison précise. Les modèles téléchargés sont dans un volume\ndistinct et survivent au changement.",[185,443,445],{"id":444},"après-une-mise-à-jour","Après une mise à jour",[447,448,449,453,460,466],"ul",{},[450,451,452],"li",{},"Connectez-vous et posez une question.",[450,454,455,456,459],{},"Vérifiez que ",[159,457,458],{},"Admin → Modèle"," affiche toujours votre modèle comme actif.",[450,461,455,462,465],{},[159,463,464],{},"Admin → Licence"," affiche toujours Active.",[450,467,468,469,202],{},"Si la recherche semble fausse, lancez ",[159,470,471],{},"Tout réindexer",[185,473,475],{"id":474},"à-quelle-fréquence","À quelle fréquence",[129,477,478],{},"Environ une fois par mois est raisonnable pour un serveur en production : assez\nrécent pour les correctifs, sans essuyer les plâtres pour tout le monde. Lisez\nles notes de version pour tout ce qui mentionne migrations ou changements\nincompatibles, et ne mettez jamais à jour une heure avant d'en avoir besoin.",[480,481,482],"style",{},"html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}",{"title":242,"searchDepth":261,"depth":261,"links":484},[485,486,487,488,489,494,495,496],{"id":187,"depth":261,"text":188},{"id":205,"depth":261,"text":206},{"id":233,"depth":261,"text":234},{"id":324,"depth":261,"text":325},{"id":359,"depth":261,"text":360,"children":490},[491,492,493],{"id":367,"depth":274,"text":368},{"id":385,"depth":274,"text":386},{"id":404,"depth":274,"text":405},{"id":419,"depth":261,"text":420},{"id":444,"depth":261,"text":445},{"id":474,"depth":261,"text":475},"L'application et le serveur se mettent à jour séparément. Voici comment.","md",null,{},{"icon":56},{"title":503,"description":504},"Mettre à jour un serveur Chronicler auto-hébergé","Mettre à jour la pile Docker Chronicler, figer une version et revenir en arrière sans risque.","vf4SnneYtDjl_TGeV-PJkA1CBIN11aGIPBaA1K4U9c8",[507,509],{"title":48,"path":49,"stem":50,"description":508,"icon":51,"children":-1},"Sauvegardes planifiées, copie externe, et comment récupérer vos données.",{"title":58,"path":59,"stem":60,"description":510,"icon":61,"children":-1},"Laisser entrer vos collègues sans laisser entrer tout le monde.",1785092111858]