[{"data":1,"prerenderedAt":522},["ShallowReactive",2],{"docs-pages-it":3,"doc-it-database":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":18,"body":157,"collects":10,"description":19,"extension":516,"group":9,"meta":517,"navigation":518,"note":10,"order":20,"package":10,"parent":10,"path":17,"seo":519,"status":10,"stem":520,"__hash__":521},"docs_it\u002Fdocs\u002Fdatabase.md",{"type":158,"value":159,"toc":509},"minimark",[160,173,178,181,253,256,278,282,333,336,340,343,410,413,420,424,427,469,476,483,487,505],[161,162,163,164,168,169,172],"p",{},"CloseYourIt tiene tutto in ",[165,166,167],"strong",{},"PostgreSQL 17"," con l'estensione ",[165,170,171],{},"pgvector",". L'installer lo avvia in un container: non devi installarlo né configurarlo.",[174,175,177],"h2",{"id":176},"cosa-contiene","Cosa contiene",[161,179,180],{},"Un solo server PostgreSQL contiene quattro database:",[182,183,184,199],"table",{},[185,186,187],"thead",{},[188,189,190,193,196],"tr",{},[191,192,18],"th",{},[191,194,195],{},"Contiene",[191,197,198],{},"Nel backup",[200,201,202,216,229,241],"tbody",{},[188,203,204,210,213],{},[205,206,207],"td",{},[208,209,61],"code",{},[205,211,212],{},"i tuoi dati: progetti, ticket, errori, log, metriche, visite",[205,214,215],{},"sì",[188,217,218,223,226],{},[205,219,220],{},[208,221,222],{},"closeyourit_queue",[205,224,225],{},"il lavoro in background in attesa",[205,227,228],{},"no",[188,230,231,236,239],{},[205,232,233],{},[208,234,235],{},"closeyourit_cache",[205,237,238],{},"valori temporanei che si possono ricalcolare",[205,240,228],{},[188,242,243,248,251],{},[205,244,245],{},[208,246,247],{},"closeyourit_cable",[205,249,250],{},"gli aggiornamenti in diretta verso le pagine aperte",[205,252,228],{},[161,254,255],{},"Gli ultimi tre non contengono niente che ti mancherebbe: dopo un ripristino partono vuoti e si riempiono da soli.",[161,257,258,259,262,263,265,266,269,270,273,274,277],{},"I dati stanno nel volume Docker ",[208,260,261],{},"closeyourit_postgres",". L'utente è ",[208,264,61],{},"; la sua password è ",[208,267,268],{},"POSTGRES_PASSWORD"," in ",[208,271,272],{},"\u002Fopt\u002Fcloseyourit\u002F.env",". Il database ",[165,275,276],{},"non"," è raggiungibile da fuori del server: nessuna porta è pubblicata.",[174,279,281],{"id":280},"aprire-una-console","Aprire una console",[283,284,289],"pre",{"className":285,"code":286,"language":287,"meta":288,"style":288},"language-bash shiki shiki-themes github-light github-dark","cd \u002Fopt\u002Fcloseyourit\ndocker compose exec postgres psql -U closeyourit -d closeyourit\n","bash","",[208,290,291,303],{"__ignoreMap":288},[292,293,295,299],"span",{"class":294,"line":8},"line",[292,296,298],{"class":297},"sj4cs","cd",[292,300,302],{"class":301},"sZZnC"," \u002Fopt\u002Fcloseyourit\n",[292,304,305,309,312,315,318,321,324,327,330],{"class":294,"line":15},[292,306,308],{"class":307},"sScJk","docker",[292,310,311],{"class":301}," compose",[292,313,314],{"class":301}," exec",[292,316,317],{"class":301}," postgres",[292,319,320],{"class":301}," psql",[292,322,323],{"class":297}," -U",[292,325,326],{"class":301}," closeyourit",[292,328,329],{"class":297}," -d",[292,331,332],{"class":301}," closeyourit\n",[161,334,335],{},"Leggi quanto vuoi. Non cambiare le righe a mano: l'app si aspetta che cambino seguendo le sue regole.",[174,337,339],{"id":338},"quanto-restano-i-dati","Quanto restano i dati",[161,341,342],{},"I dati vecchi si cancellano da soli. I valori predefiniti:",[182,344,345,355],{},[185,346,347],{},[188,348,349,352],{},[191,350,351],{},"Dati",[191,353,354],{},"Restano",[200,356,357,365,373,380,387,394,402],{},[188,358,359,362],{},[205,360,361],{},"Log",[205,363,364],{},"14 giorni",[188,366,367,370],{},[205,368,369],{},"Errori",[205,371,372],{},"30 giorni",[188,374,375,378],{},[205,376,377],{},"Campioni di prestazioni",[205,379,372],{},[188,381,382,385],{},[205,383,384],{},"Campioni dei server",[205,386,372],{},[188,388,389,392],{},[205,390,391],{},"Registrazioni delle sessioni",[205,393,372],{},[188,395,396,399],{},[205,397,398],{},"Statistiche web",[205,400,401],{},"365 giorni",[188,403,404,407],{},[205,405,406],{},"Controlli di disponibilità",[205,408,409],{},"730 giorni",[161,411,412],{},"Ticket, commenti, progetti e persone non si cancellano mai per età.",[161,414,415,416,419],{},"Puoi cambiare ogni durata a tre livelli: l'intera installazione (area di amministrazione), una organizzazione, un progetto. Vince il livello più vicino: il valore del progetto batte quello dell'organizzazione, che batte quello dell'installazione. Un progetto può tenere i dati ",[165,417,418],{},"più a lungo"," della sua organizzazione.",[174,421,423],{"id":422},"quanto-spazio-occupa","Quanto spazio occupa",[161,425,426],{},"Dipende da quanto mandano le tue applicazioni. Log e statistiche web crescono più in fretta. Per vedere la dimensione:",[283,428,430],{"className":285,"code":429,"language":287,"meta":288,"style":288},"cd \u002Fopt\u002Fcloseyourit\ndocker compose exec postgres psql -U closeyourit -d closeyourit \\\n  -c \"SELECT pg_size_pretty(pg_database_size('closeyourit'))\"\n",[208,431,432,438,461],{"__ignoreMap":288},[292,433,434,436],{"class":294,"line":8},[292,435,298],{"class":297},[292,437,302],{"class":301},[292,439,440,442,444,446,448,450,452,454,456,458],{"class":294,"line":15},[292,441,308],{"class":307},[292,443,311],{"class":301},[292,445,314],{"class":301},[292,447,317],{"class":301},[292,449,320],{"class":301},[292,451,323],{"class":297},[292,453,326],{"class":301},[292,455,329],{"class":297},[292,457,326],{"class":301},[292,459,460],{"class":297}," \\\n",[292,462,463,466],{"class":294,"line":20},[292,464,465],{"class":297},"  -c",[292,467,468],{"class":301}," \"SELECT pg_size_pretty(pg_database_size('closeyourit'))\"\n",[161,470,471,472,475],{},"Se il disco si riempie, accorcia le durate qui sopra per i progetti più rumorosi. ",[208,473,474],{},"closeyourit doctor"," avvisa quando resta libero meno del 10% del disco.",[161,477,478,479,482],{},"Errori, log, metriche, visite e campioni dei server sono salvati in ",[165,480,481],{},"fette mensili",". Quando un mese intero è oltre ogni durata, la sua fetta si cancella in un colpo e lo spazio torna subito libero sul disco.",[174,484,486],{"id":485},"usare-un-tuo-postgresql","Usare un tuo PostgreSQL",[161,488,489,490,493,494,496,497,500,501,504],{},"L'installer non lo prevede: l'indirizzo del database è fisso in ",[208,491,492],{},"compose.yml"," e punta al container che avvia. Un PostgreSQL esterno richiederebbe PostgreSQL 17, l'estensione pgvector, i quattro database qui sopra e un ",[208,495,492],{}," modificato a mano. I comandi ",[208,498,499],{},"closeyourit backup"," e ",[208,502,503],{},"restore"," smetterebbero di funzionare, perché girano dentro il container del database.",[506,507,508],"style",{},"html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}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);}",{"title":288,"searchDepth":15,"depth":15,"links":510},[511,512,513,514,515],{"id":176,"depth":15,"text":177},{"id":280,"depth":15,"text":281},{"id":338,"depth":15,"text":339},{"id":422,"depth":15,"text":423},{"id":485,"depth":15,"text":486},"md",{},true,{"title":18,"description":19},"docs\u002Fdatabase","fCNyMpKYFx8_QvVmujUfg_c2w2wjIs3SoV1hBEWVa-A",1791302513751]