[{"data":1,"prerenderedAt":717},["ShallowReactive",2],{"docs-pages-it":3,"doc-it-updates-and-backups":155},[4,11,16,21,26,31,37,48,56,65,73,81,89,93,102,106,114,119,124,129,135,140,145,150],{"path":5,"title":6,"description":7,"order":8,"group":9,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Finstallation","Installazione","Installa CloseYourIt sul tuo server con un solo comando.",1,"start",null,{"path":12,"title":13,"description":14,"order":15,"group":9,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Fsettings","Impostazioni","Ogni impostazione del file .env, a cosa serve e quali non vanno mai cambiate.",2,{"path":17,"title":18,"description":19,"order":20,"group":9,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Fdatabase","Database","Cos'è il database, cosa contiene, quanto restano i dati e quanto spazio occupa.",3,{"path":22,"title":23,"description":24,"order":25,"group":9,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Fupdates-and-backups","Aggiornamenti e backup","Aggiorna a una versione nuova, fai e ripristina il backup del database, controlla l'installazione.",4,{"path":27,"title":28,"description":29,"order":30,"group":9,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Ftroubleshooting","Risolvere i problemi","Cosa controllare quando installazione, certificato, email o dati in arrivo non funzionano.",5,{"path":32,"title":33,"description":34,"order":35,"group":36,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Fconnect-your-apps","Collega le tue app","Tutti gli strumenti che mandano dati a CloseYourIt, e cosa raccoglie ognuno.",6,"connect",{"path":38,"title":39,"description":40,"order":41,"group":10,"parent":42,"package":43,"note":44,"collects":45,"status":10},"\u002Fdocs\u002Fsdk-ruby","Ruby \u002F Rails","La gemma closeyourit-ruby manda errori, log, query lente e metriche dei job da un'app Rails.",7,"connect-your-apps","closeyourit-ruby","Errori, log, query e metodi lenti, job in background.",{"errors":46,"logs":46,"performance":46,"visits":47,"servers":47},"full","none",{"path":49,"title":50,"description":51,"order":52,"group":10,"parent":42,"package":53,"note":54,"collects":55,"status":10},"\u002Fdocs\u002Fsdk-javascript","JavaScript","Il pacchetto @bussolabs\u002Fcloseyourit-js funziona nel browser e su Node 20.16 o più recente.",8,"@bussolabs\u002Fcloseyourit-js","Browser e Node, adattatori framework e query database dalla 0.13.0.",{"errors":46,"logs":46,"performance":46,"visits":46,"servers":47},{"path":57,"title":58,"description":59,"order":60,"group":10,"parent":42,"package":61,"note":62,"collects":63,"status":10},"\u002Fdocs\u002Fsdk-dart","Dart \u002F Flutter","Il pacchetto closeyourit cattura gli errori delle app Flutter, anche quando il telefono è senza rete.",9,"closeyourit","Errori, log e metriche pubblici dalla 0.9.3.",{"errors":46,"logs":64,"performance":64,"visits":47,"servers":47},"partial",{"path":66,"title":67,"description":68,"order":69,"group":10,"parent":42,"package":61,"note":70,"collects":71,"status":72},"\u002Fdocs\u002Fsdk-python","Python","Il pacchetto closeyourit manda errori, log e metriche da applicazioni Python lato server.",10,"Lato server. SQLAlchemy; query Django e FastAPI\u002FStarlette dalla 0.4.0.",{"errors":46,"logs":46,"performance":64,"visits":47,"servers":47},"pre_alpha",{"path":74,"title":75,"description":76,"order":77,"group":10,"parent":42,"package":78,"note":79,"collects":80,"status":10},"\u002Fdocs\u002Fsdk-sentry","SDK Sentry","Invia errori con un SDK Sentry compatibile; sessioni e crash hanno profili separati.",11,"Sentry SDK","Errori compatibili; sessioni e crash richiedono il profilo verificato.",{"errors":46,"logs":47,"performance":47,"visits":47,"servers":47},{"path":82,"title":83,"description":84,"order":85,"group":10,"parent":42,"package":86,"note":87,"collects":88,"status":10},"\u002Fdocs\u002Fagent-server","Agent per server","Un piccolo programma sul server che manda lo stato della macchina ogni 60 secondi.",12,"closeyourit-agent","CPU, memoria, dischi, rete, container e servizi.",{"errors":47,"logs":64,"performance":47,"visits":47,"servers":46},{"path":90,"title":91,"description":92,"order":85,"group":36,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Fnuxt","Vue e Nuxt","Collega gli errori del browser Nuxt e del server Nitro senza esporre un token segreto.",{"path":94,"title":95,"description":96,"order":97,"group":10,"parent":42,"package":98,"note":99,"collects":100,"status":101},"\u002Fdocs\u002Fagent-kubernetes","Kubernetes","Un osservatore in sola lettura del cluster: una copia sola per cluster.",13,"closeyourit-kube","Macchine, app ed eventi di errore del cluster.",{"errors":47,"logs":47,"performance":47,"visits":47,"servers":46},"coming",{"path":103,"title":104,"description":105,"order":97,"group":36,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Fopentelemetry","OpenTelemetry","Invia tracce, metriche e log dei server attraverso il ricevitore OTLP facoltativo.",{"path":107,"title":108,"description":109,"order":110,"group":10,"parent":42,"package":111,"note":112,"collects":113,"status":10},"\u002Fdocs\u002Fcli","CLI cyi","Il comando closeyourit, in breve cyi: gestisci progetti, errori e ticket dal terminale.",14,"@bussolabs\u002Fcloseyourit-cli","Non raccoglie dati: comanda CloseYourIt dal terminale.",{"errors":47,"logs":47,"performance":47,"visits":47,"servers":47},{"path":115,"title":116,"description":117,"order":118,"group":36,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Fhttp-api","API HTTP","Manda errori, log, metriche e visite con semplici richieste HTTP, senza un SDK.",15,{"path":120,"title":121,"description":122,"order":123,"group":36,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Fgithub-app","GitHub","Collega i repository GitHub a ticket e rilasci con una GitHub App tua.",16,{"path":125,"title":126,"description":127,"order":128,"group":36,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Fingest-gateway","Gateway di ingest","Tieni al sicuro errori, log e metriche in arrivo quando l'app è lenta o sta ripartendo.",17,{"path":130,"title":131,"description":132,"order":133,"group":134,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Fai","AI","Accendi assistente, analisi, dettatura e ricerca intelligente con una chiave CloseYourIt AI o con il tuo provider.",18,"automation",{"path":136,"title":137,"description":138,"order":139,"group":134,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Fautomator","Automator","Fai lavorare i ticket in automatico su una tua macchina Linux, con Claude Code, Codex o tutti e due.",19,{"path":141,"title":142,"description":143,"order":144,"group":36,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Fstack-coverage","Framework e copertura degli stack","Scegli un SDK pubblicato o verifica i limiti di un’integrazione provata localmente.",20,{"path":146,"title":147,"description":148,"order":149,"group":36,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Fmonitoring","Tracce, misure e sessioni","Esplora i nuovi segnali, confronta le versioni e ricostruisci le posizioni originali degli errori.",21,{"path":151,"title":152,"description":153,"order":154,"group":36,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Fnode-database","Database Node","Monitora query lente e ripetute con pg, mysql2, Drizzle e Prisma PostgreSQL.",22,{"id":156,"title":23,"body":157,"collects":10,"description":24,"extension":711,"group":9,"meta":712,"navigation":713,"note":10,"order":25,"package":10,"parent":10,"path":22,"seo":714,"status":10,"stem":715,"__hash__":716},"docs_it\u002Fdocs\u002Fupdates-and-backups.md",{"type":158,"value":159,"toc":702},"minimark",[160,165,186,205,213,219,223,241,304,307,339,343,383,395,407,411,417,462,469,473,542,546,558,620,624,692,698],[161,162,164],"h2",{"id":163},"aggiornare","Aggiornare",[166,167,172],"pre",{"className":168,"code":169,"language":170,"meta":171,"style":171},"language-bash shiki shiki-themes github-light github-dark","closeyourit update\n","bash","",[173,174,175],"code",{"__ignoreMap":171},[176,177,179,182],"span",{"class":178,"line":8},"line",[176,180,61],{"class":181},"sScJk",[176,183,185],{"class":184},"sZZnC"," update\n",[187,188,189,190,193,194,197,198,200,201,204],"p",{},"Scarica prima i file della versione nuova (",[173,191,192],{},"compose.yml",", ",[173,195,196],{},"Caddyfile",", le impostazioni della coda e il comando ",[173,199,61],{}," stesso): se non esistono si ferma e non cambia niente. Poi fa un backup, scarica la versione nuova, aggiorna il database e riparte. Se le immagini della versione nuova non si scaricano, o non risponde entro 3 minuti, torna da sola alla versione e ai file di prima e ti dice quale backup ripristinare se serve. Il backup fatto prima dell'aggiornamento resta in ",[173,202,203],{},"backups\u002F",".",[187,206,207,208,212],{},"Tornare indietro cambia la versione dell'app, ",[209,210,211],"strong",{},"non il database",": le modifiche che la versione nuova ha già fatto al database restano. Se dopo la versione vecchia si comporta male, ripristina il backup fatto prima dell'aggiornamento.",[187,214,215,216,204],{},"Per una versione precisa: ",[173,217,218],{},"closeyourit update 1.4.0",[161,220,222],{"id":221},"cosa-contiene-il-backup","Cosa contiene il backup",[187,224,225,226,229,230,233,234,237,238,204],{},"Una copia del database principale si fa ",[209,227,228],{},"ogni notte alle 03:00",". Le ultime ",[209,231,232],{},"7"," restano in ",[173,235,236],{},"\u002Fopt\u002Fcloseyourit\u002Fbackups\u002F",", leggibili solo da root; l'esito di ogni giro va in ",[173,239,240],{},"\u002Fvar\u002Flog\u002Fcloseyourit-backup.log",[242,243,244,257],"table",{},[245,246,247],"thead",{},[248,249,250,254],"tr",{},[251,252,253],"th",{},"Cosa",[251,255,256],{},"Nel backup",[258,259,260,269,282,295],"tbody",{},[248,261,262,266],{},[263,264,265],"td",{},"Progetti, ticket, errori, log, metriche, visite",[263,267,268],{},"sì",[248,270,271,277],{},[263,272,273,274],{},"Le chiavi segrete in ",[173,275,276],{},"\u002Fopt\u002Fcloseyourit\u002F.env",[263,278,279],{},[209,280,281],{},"no",[248,283,284,291],{},[263,285,286,287,290],{},"I file caricati (volume Docker ",[173,288,289],{},"closeyourit_storage",")",[263,292,293],{},[209,294,281],{},[248,296,297,300],{},[263,298,299],{},"Le richieste in attesa nella coda del gateway di ingest",[263,301,302],{},[209,303,281],{},[187,305,306],{},"Le due che contano:",[308,309,310,324],"ul",{},[311,312,313,316,317,320,321,323],"li",{},[209,314,315],{},"Le chiavi segrete."," Senza il ",[173,318,319],{},".env"," con cui è stata fatta l'installazione, i dati cifrati di un backup non si possono leggere. Tieni una copia di ",[173,322,319],{}," fuori dal server.",[311,325,326,329,330,333,334,338],{},[209,327,328],{},"I file caricati."," Allegati e registrazioni delle sessioni sono file, non righe. O li tieni su S3 (",[173,331,332],{},"AWS_S3_BUCKET",", vedi ",[335,336,13],"a",{"href":337},"\u002Fit\u002Fdocs\u002Fsettings",") o copi tu il volume.",[161,340,342],{"id":341},"fare-e-ripristinare-il-backup","Fare e ripristinare il backup",[166,344,346],{"className":168,"code":345,"language":170,"meta":171,"style":171},"closeyourit backup              # fa una copia adesso\ncloseyourit restore \u003Cfile>      # riporta il database a una copia\n",[173,347,348,359],{"__ignoreMap":171},[176,349,350,352,355],{"class":178,"line":8},[176,351,61],{"class":181},[176,353,354],{"class":184}," backup",[176,356,358],{"class":357},"sJ8bj","              # fa una copia adesso\n",[176,360,361,363,366,370,373,377,380],{"class":178,"line":15},[176,362,61],{"class":181},[176,364,365],{"class":184}," restore",[176,367,369],{"class":368},"szBVR"," \u003C",[176,371,372],{"class":184},"fil",[176,374,376],{"class":375},"sVt8B","e",[176,378,379],{"class":368},">",[176,381,382],{"class":357},"      # riporta il database a una copia\n",[187,384,385,388,389,391,392,204],{},[173,386,387],{},"\u003Cfile>"," è il nome di un file in ",[173,390,236],{},", per esempio ",[173,393,394],{},"closeyourit-20261003-030000.dump",[187,396,397,400,401,404,405,204],{},[173,398,399],{},"restore"," ferma l'app, ",[209,402,403],{},"cancella il database attuale",", lo ricrea dalla copia e riavvia l'app. Tutto quello che è stato scritto dopo quella copia si perde. Prima di fare qualsiasi cosa ti chiede di scrivere ",[173,406,399],{},[161,408,410],{"id":409},"tenere-una-copia-altrove","Tenere una copia altrove",[187,412,413,414,416],{},"Una copia sullo stesso server non sopravvive alla perdita del server. Per mandare ogni copia anche su Amazon S3, imposta in ",[173,415,276],{},":",[166,418,420],{"className":168,"code":419,"language":170,"meta":171,"style":171},"BACKUP_S3_BUCKET=my-backups\nAWS_REGION=eu-central-1\nAWS_ACCESS_KEY_ID=...\nAWS_SECRET_ACCESS_KEY=...\n",[173,421,422,433,443,453],{"__ignoreMap":171},[176,423,424,427,430],{"class":178,"line":8},[176,425,426],{"class":375},"BACKUP_S3_BUCKET",[176,428,429],{"class":368},"=",[176,431,432],{"class":184},"my-backups\n",[176,434,435,438,440],{"class":178,"line":15},[176,436,437],{"class":375},"AWS_REGION",[176,439,429],{"class":368},[176,441,442],{"class":184},"eu-central-1\n",[176,444,445,448,450],{"class":178,"line":20},[176,446,447],{"class":375},"AWS_ACCESS_KEY_ID",[176,449,429],{"class":368},[176,451,452],{"class":184},"...\n",[176,454,455,458,460],{"class":178,"line":25},[176,456,457],{"class":375},"AWS_SECRET_ACCESS_KEY",[176,459,429],{"class":368},[176,461,452],{"class":184},[187,463,464,465,468],{},"Ogni copia va in ",[173,466,467],{},"s3:\u002F\u002F\u003Cbucket>\u002Fcloseyourit\u002F",". Le copie su S3 CloseYourIt non le cancella: imposta una regola di scadenza sul bucket.",[161,470,472],{"id":471},"spostarsi-su-un-altro-server","Spostarsi su un altro server",[474,475,476,488,502,527,536,539],"ol",{},[311,477,478,479,482,483,485,486,204],{},"Sul server vecchio: ",[173,480,481],{},"closeyourit backup",", poi copia in un posto sicuro il file più recente in ",[173,484,203],{}," e ",[173,487,276],{},[311,489,490,491,494,495,333,498,501],{},"Sul server nuovo: installa la ",[209,492,493],{},"stessa versione"," (",[173,496,497],{},"CLOSEYOURIT_VERSION=\u003Cversione>",[335,499,6],{"href":500},"\u002Fit\u002Fdocs\u002Finstallation",").",[311,503,504,505,507,508,511,512,485,515,518,519,522,523,526],{},"Nel nuovo ",[173,506,319],{}," sostituisci ",[173,509,510],{},"SECRET_KEY_BASE",", le tre chiavi ",[173,513,514],{},"AR_ENCRYPTION_*",[173,516,517],{},"SECRET_ASSETS_MASTER_KEY"," con i valori del vecchio. Lascia ",[173,520,521],{},"POSTGRES_PASSWORD"," come l'ha scritto la nuova installazione. Copia anche le tue impostazioni: email, S3 (",[173,524,525],{},"AWS_*",": senza, allegati e registrazioni salvati lì non si aprono), GitHub, Telegram.",[311,528,529,530,532,533,204],{},"Metti il file di backup in ",[173,531,236],{}," e lancia ",[173,534,535],{},"closeyourit restore \u003Cfile>",[311,537,538],{},"Copia anche i file caricati, a meno che non siano su S3.",[311,540,541],{},"Punta il dominio al server nuovo.",[161,543,545],{"id":544},"controllare-linstallazione","Controllare l'installazione",[166,547,549],{"className":168,"code":548,"language":170,"meta":171,"style":171},"closeyourit doctor\n",[173,550,551],{"__ignoreMap":171},[176,552,553,555],{"class":178,"line":8},[176,554,61],{"class":181},[176,556,557],{"class":184}," doctor\n",[242,559,560,570],{},[245,561,562],{},[248,563,564,567],{},[251,565,566],{},"Controllo",[251,568,569],{},"Si lamenta quando",[258,571,572,580,588,596,604,612],{},[248,573,574,577],{},[263,575,576],{},"Disco",[263,578,579],{},"è libero meno del 10%",[248,581,582,585],{},[263,583,584],{},"App",[263,586,587],{},"non risponde",[248,589,590,593],{},[263,591,592],{},"Certificato HTTPS",[263,594,595],{},"scade fra meno di 14 giorni, o l'indirizzo non risponde",[248,597,598,601],{},[263,599,600],{},"Backup",[263,602,603],{},"non ce n'è nessuno, o l'ultimo ha più di 26 ore",[248,605,606,609],{},[263,607,608],{},"Gateway e coda dell'ingest",[263,610,611],{},"il gateway è acceso e uno dei due è spento o continua a ripartire",[248,613,614,617],{},[263,615,616],{},"Versione",[263,618,619],{},"ce n'è una più nuova (una nota, non un problema)",[161,621,623],{"id":622},"altri-comandi","Altri comandi",[242,625,626,636],{},[245,627,628],{},[248,629,630,633],{},[251,631,632],{},"Comando",[251,634,635],{},"Fa",[258,637,638,648,658,668,682],{},[248,639,640,645],{},[263,641,642],{},[173,643,644],{},"closeyourit status",[263,646,647],{},"mostra i servizi e la versione",[248,649,650,655],{},[263,651,652],{},[173,653,654],{},"closeyourit logs",[263,656,657],{},"segue il log dell'app e del worker",[248,659,660,665],{},[263,661,662],{},[173,663,664],{},"closeyourit restart",[263,666,667],{},"riavvia dopo una modifica alle impostazioni",[248,669,670,675],{},[263,671,672],{},[173,673,674],{},"closeyourit enable ingest",[263,676,677,678],{},"accende il ",[335,679,681],{"href":680},"\u002Fit\u002Fdocs\u002Fingest-gateway","gateway di ingest",[248,683,684,689],{},[263,685,686],{},[173,687,688],{},"closeyourit disable ingest",[263,690,691],{},"lo spegne",[187,693,694,695,204],{},"Qualcosa non funziona? Vedi ",[335,696,28],{"href":697},"\u002Fit\u002Fdocs\u002Ftroubleshooting",[699,700,701],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}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 .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":171,"searchDepth":15,"depth":15,"links":703},[704,705,706,707,708,709,710],{"id":163,"depth":15,"text":164},{"id":221,"depth":15,"text":222},{"id":341,"depth":15,"text":342},{"id":409,"depth":15,"text":410},{"id":471,"depth":15,"text":472},{"id":544,"depth":15,"text":545},{"id":622,"depth":15,"text":623},"md",{},true,{"title":23,"description":24},"docs\u002Fupdates-and-backups","Z9VyFuoipS1gBz6MPCtDWdhEduuLZMcejJm5TXY3_ow",1791302513751]