[{"data":1,"prerenderedAt":396},["ShallowReactive",2],{"navigation_docs_en":3,"-en-self-hosting-licensing":123,"-en-self-hosting-licensing-surround":391},[4,36,107],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":35},"Getting started","i-lucide-rocket","\u002Fen\u002Fgetting-started","en\u002F1.getting-started",[10,15,20,25,30],{"title":11,"path":12,"stem":13,"icon":14},"What is Chronicler","\u002Fen\u002Fgetting-started\u002Fwhat-is-chronicler","en\u002F1.getting-started\u002F1.what-is-chronicler","i-lucide-help-circle",{"title":16,"path":17,"stem":18,"icon":19},"Install the app","\u002Fen\u002Fgetting-started\u002Finstall-the-app","en\u002F1.getting-started\u002F2.install-the-app","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Cloud quick start","\u002Fen\u002Fgetting-started\u002Fcloud-quickstart","en\u002F1.getting-started\u002F3.cloud-quickstart","i-lucide-cloud",{"title":26,"path":27,"stem":28,"icon":29},"Your first chat","\u002Fen\u002Fgetting-started\u002Fyour-first-chat","en\u002F1.getting-started\u002F4.your-first-chat","i-lucide-messages-square",{"title":31,"path":32,"stem":33,"icon":34},"Managing users","\u002Fen\u002Fgetting-started\u002Fmanaging-users","en\u002F1.getting-started\u002F5.managing-users","i-lucide-users",false,{"title":37,"icon":38,"path":39,"stem":40,"children":41,"page":35},"Self-hosting","i-lucide-server","\u002Fen\u002Fself-hosting","en\u002F2.self-hosting",[42,47,52,57,62,67,72,77,82,87,92,97,102],{"title":43,"path":44,"stem":45,"icon":46},"Overview","\u002Fen\u002Fself-hosting\u002Foverview","en\u002F2.self-hosting\u002F1.overview","i-lucide-layout-dashboard",{"title":48,"path":49,"stem":50,"icon":51},"Backups and restore","\u002Fen\u002Fself-hosting\u002Fbackups","en\u002F2.self-hosting\u002F10.backups","i-lucide-database-backup",{"title":53,"path":54,"stem":55,"icon":56},"Updating","\u002Fen\u002Fself-hosting\u002Fupdating","en\u002F2.self-hosting\u002F11.updating","i-lucide-refresh-cw",{"title":58,"path":59,"stem":60,"icon":61},"Security and networking","\u002Fen\u002Fself-hosting\u002Fsecurity-and-networking","en\u002F2.self-hosting\u002F12.security-and-networking","i-lucide-shield",{"title":63,"path":64,"stem":65,"icon":66},"Troubleshooting","\u002Fen\u002Fself-hosting\u002Ftroubleshooting","en\u002F2.self-hosting\u002F13.troubleshooting","i-lucide-life-buoy",{"title":68,"path":69,"stem":70,"icon":71},"Requirements","\u002Fen\u002Fself-hosting\u002Frequirements","en\u002F2.self-hosting\u002F2.requirements","i-lucide-cpu",{"title":73,"path":74,"stem":75,"icon":76},"Quick start (guided)","\u002Fen\u002Fself-hosting\u002Fquick-start","en\u002F2.self-hosting\u002F3.quick-start","i-lucide-wand-2",{"title":78,"path":79,"stem":80,"icon":81},"Manual install","\u002Fen\u002Fself-hosting\u002Fmanual-install","en\u002F2.self-hosting\u002F4.manual-install","i-lucide-terminal",{"title":83,"path":84,"stem":85,"icon":86},"GPU acceleration","\u002Fen\u002Fself-hosting\u002Fgpu-acceleration","en\u002F2.self-hosting\u002F5.gpu-acceleration","i-lucide-zap",{"title":88,"path":89,"stem":90,"icon":91},"Performance and memory","\u002Fen\u002Fself-hosting\u002Fperformance-and-memory","en\u002F2.self-hosting\u002F6.performance-and-memory","i-lucide-gauge",{"title":93,"path":94,"stem":95,"icon":96},"Configuration reference","\u002Fen\u002Fself-hosting\u002Fconfiguration-reference","en\u002F2.self-hosting\u002F7.configuration-reference","i-lucide-sliders-horizontal",{"title":98,"path":99,"stem":100,"icon":101},"Models","\u002Fen\u002Fself-hosting\u002Fmodels","en\u002F2.self-hosting\u002F8.models","i-lucide-brain",{"title":103,"path":104,"stem":105,"icon":106},"Licensing and activation","\u002Fen\u002Fself-hosting\u002Flicensing","en\u002F2.self-hosting\u002F9.licensing","i-lucide-key-round",{"title":108,"icon":109,"path":110,"stem":111,"children":112,"page":35},"Reference","i-lucide-book-open","\u002Fen\u002Freference","en\u002F3.reference",[113,118],{"title":114,"path":115,"stem":116,"icon":117},"How it works","\u002Fen\u002Freference\u002Fhow-it-works","en\u002F3.reference\u002F1.how-it-works","i-lucide-workflow",{"title":119,"path":120,"stem":121,"icon":122},"Data and privacy","\u002Fen\u002Freference\u002Fdata-and-privacy","en\u002F3.reference\u002F2.data-and-privacy","i-lucide-lock",{"id":124,"title":103,"body":125,"description":382,"extension":383,"links":384,"meta":385,"navigation":386,"path":104,"seo":387,"stem":105,"__hash__":390},"docs_en\u002Fen\u002F2.self-hosting\u002F9.licensing.md",{"type":126,"value":127,"toc":364},"minimark",[128,132,137,180,184,187,191,201,205,212,215,225,229,236,242,249,253,259,263,266,270,358],[129,130,131],"p",{},"Self-hosted servers need a licence key. Cloud doesn't — it's included there.",[133,134,136],"h2",{"id":135},"activating","Activating",[138,139,140,145,148,152,169,173],"steps",{},[141,142,144],"h3",{"id":143},"get-a-key","Get a key",[129,146,147],{},"From whoever you bought Chronicler from. It's a long signed token, not a short\nserial number.",[141,149,151],{"id":150},"admin-licensing","Admin → Licensing",[129,153,154,155,159,160,163,164,168],{},"Paste it into ",[156,157,158],"strong",{},"Licence key"," and choose ",[156,161,162],{},"Verify & activate",". The server checks\nit with ",[165,166,167],"code",{},"api.chroniclerlm.com"," and stores the result.",[141,170,172],{"id":171},"confirm","Confirm",[129,174,175,176,179],{},"The panel should show ",[156,177,178],{},"Active",", with your plan, expiry date and seats used.",[133,181,183],{"id":182},"what-happens-without-one","What happens without one",[129,185,186],{},"The server starts and you can sign in, but anything that touches documents —\nchat, uploads, collections, search, sharing — returns an error. Activation and\nthe licence terms stay reachable, so you can always un-block yourself.",[133,188,190],{"id":189},"the-periodic-check","The periodic check",[129,192,193,194,196,197,200],{},"Your server re-verifies its licence with ",[165,195,167],{}," ",[156,198,199],{},"every 30\nminutes",", whether or not anyone has the app open. The check sends the licence key\nand an install identifier. It does not send document content, user names, or\nanything about what people are asking.",[141,202,204],{"id":203},"if-the-check-fails","If the check fails",[129,206,207,208,211],{},"A failed check changes nothing at first. Chronicler keeps a ",[156,209,210],{},"72-hour grace\nperiod"," measured from the last successful check, so a rebooted router or a\nmaintenance window is invisible.",[129,213,214],{},"Past 72 hours with no successful check, the server blocks the document features\nuntil one succeeds again. Nothing is deleted, and it recovers by itself the\nmoment connectivity returns.",[216,217,218,219,224],"note",{},"This means a self-hosted server needs ",[156,220,221,222],{},"outbound HTTPS to\n",[165,223,167],{},". On a locked-down network, allow that host. A server\nwith no internet access at all cannot stay licensed.",[133,226,228],{"id":227},"one-install-per-key","One install per key",[129,230,231,232,235],{},"A key binds to the first install that activates it. Trying the same key on a\nsecond server reports ",[156,233,234],{},"Active on another install"," rather than quietly working\nin two places.",[129,237,238,239,241],{},"To move a server — new hardware, a rebuild — release the binding from the old\ninstall first (",[156,240,151],{},"), then activate on the new one. If the old\ninstall is already gone, ask your supplier to release the seat.",[129,243,244,245,248],{},"The install identity lives in the ",[165,246,247],{},"backend_uploads"," volume, so a normal update or\nrestart keeps it. Deleting that volume loses it.",[133,250,252],{"id":251},"seats","Seats",[129,254,255,256,258],{},"If your plan caps accounts, ",[156,257,151],{}," shows seats used against the\nlimit, and creating an account beyond it fails. Suspending a user does not free a\nseat; deleting them does.",[133,260,262],{"id":261},"renewing-and-upgrading","Renewing and upgrading",[129,264,265],{},"Paste the new token into the same field and activate. There's no need to remove\nthe old one first, and no downtime.",[133,267,269],{"id":268},"reading-the-status","Reading the status",[271,272,273,286],"table",{},[274,275,276],"thead",{},[277,278,279,283],"tr",{},[280,281,282],"th",{},"Status",[280,284,285],{},"Meaning",[287,288,289,299,309,319,328,338,348],"tbody",{},[277,290,291,296],{},[292,293,294],"td",{},[156,295,178],{},[292,297,298],{},"Everything is fine.",[277,300,301,306],{},[292,302,303],{},[156,304,305],{},"No licence activated",[292,307,308],{},"Nothing has been activated on this install yet.",[277,310,311,316],{},[292,312,313],{},[156,314,315],{},"Licence key not found",[292,317,318],{},"The key isn't recognised. Check for a truncated paste.",[277,320,321,325],{},[292,322,323],{},[156,324,234],{},[292,326,327],{},"Already bound elsewhere. Release it there first.",[277,329,330,335],{},[292,331,332],{},[156,333,334],{},"Expired",[292,336,337],{},"The term ended. Paste a renewal token.",[277,339,340,345],{},[292,341,342],{},[156,343,344],{},"Revoked",[292,346,347],{},"Cancelled by the issuer. Talk to your supplier.",[277,349,350,355],{},[292,351,352],{},[156,353,354],{},"Over seat limit",[292,356,357],{},"More accounts than the plan allows. Remove accounts or upgrade.",[129,359,360,363],{},[156,361,362],{},"Last checked"," on the same panel tells you when the last successful check\nhappened. If it's hours old, the server is having trouble reaching the licence\nservice — check outbound HTTPS before anything else.",{"title":365,"searchDepth":366,"depth":366,"links":367},"",2,[368,374,375,378,379,380,381],{"id":135,"depth":366,"text":136,"children":369},[370,372,373],{"id":143,"depth":371,"text":144},3,{"id":150,"depth":371,"text":151},{"id":171,"depth":371,"text":172},{"id":182,"depth":366,"text":183},{"id":189,"depth":366,"text":190,"children":376},[377],{"id":203,"depth":371,"text":204},{"id":227,"depth":366,"text":228},{"id":251,"depth":366,"text":252},{"id":261,"depth":366,"text":262},{"id":268,"depth":366,"text":269},"Activate your key, and understand the check that runs every 30 minutes.","md",null,{},{"icon":106},{"title":388,"description":389},"Chronicler licensing and activation","How to activate a self-hosted Chronicler licence, the periodic check, the offline grace period and how to move an install.","M3pRGSdXZR5KQTslX5iTM7QglNMzPOCJW6qMB-m7vio",[392,394],{"title":98,"path":99,"stem":100,"description":393,"icon":101,"children":-1},"Which model writes your answers, how to change it, and what each one needs.",{"title":114,"path":115,"stem":116,"description":395,"icon":117,"children":-1},"One app, two kinds of server — and what happens between a question and an answer.",1785092110507]