[{"data":1,"prerenderedAt":641},["ShallowReactive",2],{"docs-pages-en":3,"doc-en-troubleshooting":154},[4,11,16,21,26,31,37,48,56,65,73,80,88,92,101,105,113,118,123,128,134,139,144,149],{"path":5,"title":6,"description":7,"order":8,"group":9,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Finstallation","Installation","Install CloseYourIt on your own server with one command.",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","Settings","Every setting in the .env file, what it does and which ones you must never change.",2,{"path":17,"title":18,"description":19,"order":20,"group":9,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Fdatabase","Database","What the database is, what is inside, how long data stays and how much room it takes.",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","Updates and backups","Update to a new version, back up and restore the database, check the install.",4,{"path":27,"title":28,"description":29,"order":30,"group":9,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Ftroubleshooting","Troubleshooting","What to check when the install, the certificate, email or incoming data do not work.",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","Connect your apps","Every tool that sends data to CloseYourIt, and what each one collects.",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","The closeyourit-ruby gem sends errors, logs, slow queries and job metrics from a Rails app.",7,"connect-your-apps","closeyourit-ruby","Errors, logs, slow queries and methods, background jobs.",{"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","The @bussolabs\u002Fcloseyourit-js package works in the browser and on Node 20.16 or newer.",8,"@bussolabs\u002Fcloseyourit-js","Browser and Node, framework adapters and database queries from 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","The closeyourit package captures the errors of Flutter apps, even when the phone is offline.",9,"closeyourit","Public errors, logs and metrics from 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","The closeyourit package sends errors, logs and metrics from server-side Python applications.",10,"Server side. SQLAlchemy; Django query monitoring and FastAPI\u002FStarlette from 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":75,"note":78,"collects":79,"status":10},"\u002Fdocs\u002Fsdk-sentry","Sentry SDK","Send errors with a compatible Sentry SDK; sessions and crashes have separate profiles.",11,"Compatible errors; sessions and crashes require a verified profile.",{"errors":46,"logs":47,"performance":47,"visits":47,"servers":47},{"path":81,"title":82,"description":83,"order":84,"group":10,"parent":42,"package":85,"note":86,"collects":87,"status":10},"\u002Fdocs\u002Fagent-server","Server agent","A small program on the server that sends the state of the machine every 60 seconds.",12,"closeyourit-agent","CPU, memory, disks, network, containers and services.",{"errors":47,"logs":64,"performance":47,"visits":47,"servers":46},{"path":89,"title":90,"description":91,"order":84,"group":36,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Fnuxt","Vue and Nuxt","Connect Nuxt browser errors and Nitro server errors without exposing a server token.",{"path":93,"title":94,"description":95,"order":96,"group":10,"parent":42,"package":97,"note":98,"collects":99,"status":100},"\u002Fdocs\u002Fagent-kubernetes","Kubernetes","A read-only observer of the cluster: one copy per cluster.",13,"closeyourit-kube","Machines, apps and error events of the cluster.",{"errors":47,"logs":47,"performance":47,"visits":47,"servers":46},"coming",{"path":102,"title":103,"description":104,"order":96,"group":36,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Fopentelemetry","OpenTelemetry","Send server traces, metrics and logs through the optional OTLP receiver.",{"path":106,"title":107,"description":108,"order":109,"group":10,"parent":42,"package":110,"note":111,"collects":112,"status":10},"\u002Fdocs\u002Fcli","cyi CLI","The closeyourit command, cyi for short: manage projects, errors and tickets from the terminal.",14,"@bussolabs\u002Fcloseyourit-cli","It collects no data: it drives CloseYourIt from the terminal.",{"errors":47,"logs":47,"performance":47,"visits":47,"servers":47},{"path":114,"title":115,"description":116,"order":117,"group":36,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Fhttp-api","HTTP API","Send errors, logs, metrics and page views with plain HTTP requests, without an SDK.",15,{"path":119,"title":120,"description":121,"order":122,"group":36,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Fgithub-app","GitHub","Connect GitHub repositories to tickets and releases with your own GitHub App.",16,{"path":124,"title":125,"description":126,"order":127,"group":36,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Fingest-gateway","Ingest gateway","Keep incoming errors, logs and metrics safe when the app is slow or restarting.",17,{"path":129,"title":130,"description":131,"order":132,"group":133,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Fai","AI","Turn on assistant, analysis, dictation and smart search with a CloseYourIt AI key or your own provider.",18,"automation",{"path":135,"title":136,"description":137,"order":138,"group":133,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Fautomator","Automator","Let tickets be worked automatically on your own Linux machine, with Claude Code, Codex or both.",19,{"path":140,"title":141,"description":142,"order":143,"group":36,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Fstack-coverage","Frameworks and stack coverage","Choose a published SDK or understand the limits of a locally tested integration.",20,{"path":145,"title":146,"description":147,"order":148,"group":36,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Fmonitoring","Traces, measurements and sessions","Explore the new signals, compare releases and recover original error locations.",21,{"path":150,"title":151,"description":152,"order":153,"group":36,"parent":10,"package":10,"note":10,"collects":10,"status":10},"\u002Fdocs\u002Fnode-database","Node databases","Monitor slow and repeated queries with pg, mysql2, Drizzle and Prisma PostgreSQL.",22,{"id":155,"title":28,"body":156,"collects":10,"description":29,"extension":635,"group":9,"meta":636,"navigation":637,"note":10,"order":30,"package":10,"parent":10,"path":27,"seo":638,"status":10,"stem":639,"__hash__":640},"docs_en\u002Fdocs\u002Ftroubleshooting.md",{"type":157,"value":158,"toc":624},"minimark",[159,163,208,213,313,317,320,342,345,374,377,381,415,419,422,426,431,519,523,549,574,578,591,595,600,604,620],[160,161,162],"p",{},"Start here, whatever the problem:",[164,165,170],"pre",{"className":166,"code":167,"language":168,"meta":169,"style":169},"language-bash shiki shiki-themes github-light github-dark","closeyourit doctor     # disk, app, certificate, backup, ingest, version\ncloseyourit status     # which services are running\ncloseyourit logs       # what the app and the worker are saying\n","bash","",[171,172,173,188,198],"code",{"__ignoreMap":169},[174,175,177,180,184],"span",{"class":176,"line":8},"line",[174,178,61],{"class":179},"sScJk",[174,181,183],{"class":182},"sZZnC"," doctor",[174,185,187],{"class":186},"sJ8bj","     # disk, app, certificate, backup, ingest, version\n",[174,189,190,192,195],{"class":176,"line":15},[174,191,61],{"class":179},[174,193,194],{"class":182}," status",[174,196,197],{"class":186},"     # which services are running\n",[174,199,200,202,205],{"class":176,"line":20},[174,201,61],{"class":179},[174,203,204],{"class":182}," logs",[174,206,207],{"class":186},"       # what the app and the worker are saying\n",[209,210,212],"h2",{"id":211},"the-installer-stops","The installer stops",[214,215,216,229],"table",{},[217,218,219],"thead",{},[220,221,222,226],"tr",{},[223,224,225],"th",{},"Message",[223,227,228],{},"What to do",[230,231,232,246,263,277,290,300],"tbody",{},[220,233,234,240],{},[235,236,237],"td",{},[171,238,239],{},"run it as root (sudo bash)",[235,241,242,243],{},"run the command with ",[171,244,245],{},"sudo",[220,247,248,253],{},[235,249,250],{},[171,251,252],{},"unsupported CPU",[235,254,255,256,259,260],{},"the server is not ",[171,257,258],{},"x86_64"," or ",[171,261,262],{},"arm64",[220,264,265,274],{},[235,266,267,270,271],{},[171,268,269],{},"curl is missing",", ",[171,272,273],{},"openssl is missing",[235,275,276],{},"install the package and run it again",[220,278,279,284],{},[235,280,281],{},[171,282,283],{},"already has an install: use 'closeyourit update'",[235,285,286,287],{},"CloseYourIt is already here; to update it run ",[171,288,289],{},"closeyourit update",[220,291,292,297],{},[235,293,294],{},[171,295,296],{},"could not read the latest version from GitHub",[235,298,299],{},"the server cannot reach GitHub; check its internet access",[220,301,302,307],{},[235,303,304],{},[171,305,306],{},"the app did not start",[235,308,309,310],{},"read the log: ",[171,311,312],{},"cd \u002Fopt\u002Fcloseyourit && docker compose logs app",[209,314,316],{"id":315},"the-address-does-not-open-or-the-browser-warns-about-the-certificate","The address does not open, or the browser warns about the certificate",[160,318,319],{},"The certificate is issued only when all of these are true:",[321,322,323,327,339],"ul",{},[324,325,326],"li",{},"the domain points to this server (the installer warns you if it does not);",[324,328,329,330,334,335,338],{},"ports ",[331,332,333],"strong",{},"80"," and ",[331,336,337],{},"443"," are open, on the server and on the provider's firewall;",[324,340,341],{},"nothing else on the server is already using those ports.",[160,343,344],{},"Fix what is missing, then check what the web server says:",[164,346,348],{"className":166,"code":347,"language":168,"meta":169,"style":169},"cd \u002Fopt\u002Fcloseyourit && docker compose logs caddy\n",[171,349,350],{"__ignoreMap":169},[174,351,352,356,359,363,366,369,371],{"class":176,"line":8},[174,353,355],{"class":354},"sj4cs","cd",[174,357,358],{"class":182}," \u002Fopt\u002Fcloseyourit",[174,360,362],{"class":361},"sVt8B"," && ",[174,364,365],{"class":179},"docker",[174,367,368],{"class":182}," compose",[174,370,204],{"class":182},[174,372,373],{"class":182}," caddy\n",[160,375,376],{},"The certificate is requested again by itself: no need to reinstall.",[209,378,380],{"id":379},"no-email-arrives","No email arrives",[321,382,383,401,408],{},[324,384,385,388,389,392,393,396,397,400],{},[171,386,387],{},"SMTP_ADDRESS"," is empty in ",[171,390,391],{},"\u002Fopt\u002Fcloseyourit\u002F.env",": CloseYourIt then sends nothing. Fill in the SMTP settings and run ",[171,394,395],{},"closeyourit restart",". See ",[398,399,13],"a",{"href":12},".",[324,402,403,404,407],{},"The settings are there but mail still does not arrive: ",[171,405,406],{},"closeyourit logs"," shows the error the SMTP server returned.",[324,409,410,411,414],{},"Mail arrives in spam: the domain in ",[171,412,413],{},"MAIL_FROM"," must allow your SMTP server to send for it (SPF and DKIM records at your DNS provider).",[209,416,418],{"id":417},"i-lost-the-administrator-password","I lost the administrator password",[160,420,421],{},"Use \"Forgot password\" on the sign-in page. It needs working email: set up SMTP first if you skipped it.",[209,423,425],{"id":424},"an-application-sends-data-but-nothing-shows-up","An application sends data but nothing shows up",[160,427,428,429,400],{},"Send one request by hand and read the answer; see ",[398,430,115],{"href":114},[214,432,433,443],{},[217,434,435],{},[220,436,437,440],{},[223,438,439],{},"Answer",[223,441,442],{},"Cause",[230,444,445,455,465,475,488,502],{},[220,446,447,452],{},[235,448,449],{},[171,450,451],{},"401",[235,453,454],{},"the token is wrong, revoked, or it is the public key used where the secret token is needed",[220,456,457,462],{},[235,458,459],{},[171,460,461],{},"404",[235,463,464],{},"the project id in the address is not the token's project",[220,466,467,472],{},[235,468,469],{},[171,470,471],{},"422",[235,473,474],{},"the body is not what that address expects",[220,476,477,482],{},[235,478,479],{},[171,480,481],{},"429",[235,483,484,485],{},"too many requests: slow down and honour ",[171,486,487],{},"Retry-After",[220,489,490,499],{},[235,491,492,495,496],{},[171,493,494],{},"202"," with ",[171,497,498],{},"accepted: 0",[235,500,501],{},"the feature is off for that project, or the request looked like a bot",[220,503,504,509],{},[235,505,506,508],{},[171,507,494],{},", still nothing",[235,510,511,512,515,516],{},"the data is saved by the worker: check that ",[171,513,514],{},"worker"," is running with ",[171,517,518],{},"closeyourit status",[209,520,522],{"id":521},"the-disk-is-filling-up","The disk is filling up",[164,524,526],{"className":166,"code":525,"language":168,"meta":169,"style":169},"df -h \u002Fopt\u002Fcloseyourit\ndocker system df\n",[171,527,528,539],{"__ignoreMap":169},[174,529,530,533,536],{"class":176,"line":8},[174,531,532],{"class":179},"df",[174,534,535],{"class":354}," -h",[174,537,538],{"class":182}," \u002Fopt\u002Fcloseyourit\n",[174,540,541,543,546],{"class":176,"line":15},[174,542,365],{"class":179},[174,544,545],{"class":182}," system",[174,547,548],{"class":182}," df\n",[321,550,551,558,568],{},[324,552,553,555,556,400],{},[331,554,18],{},": shorten how long data is kept for the noisiest projects. See ",[398,557,18],{"href":17},[324,559,560,563,564,567],{},[331,561,562],{},"Old versions",": each update leaves the previous image behind. ",[171,565,566],{},"docker image prune"," removes the unused ones.",[324,569,570,573],{},[331,571,572],{},"Ingest queue",": it can reach 4 GB while the app is down, and empties once the app is back.",[209,575,577],{"id":576},"an-update-failed","An update failed",[160,579,580,581,583,584,587,588,590],{},"If it says the version was not found, check the number: nothing changed. Otherwise ",[171,582,289],{}," goes back to the previous version and files by itself and says so. The backup taken just before is in ",[171,585,586],{},"\u002Fopt\u002Fcloseyourit\u002Fbackups\u002F",". Read ",[171,589,406],{}," to see why the new version did not start, then try again.",[209,592,594],{"id":593},"the-country-of-visits-is-empty","The country of visits is empty",[160,596,597,598,400],{},"The country database is not installed. See \"Countries in web analytics\" in ",[398,599,13],{"href":12},[209,601,603],{"id":602},"still-stuck","Still stuck",[160,605,606,607,612,613,616,617,619],{},"Open an issue on ",[398,608,120],{"href":609,"rel":610},"https:\u002F\u002Fgithub.com\u002Fbussolabs\u002Fcloseyourit-community\u002Fissues",[611],"nofollow"," with the output of ",[171,614,615],{},"closeyourit doctor"," and the relevant lines of ",[171,618,406],{},". Remove tokens and passwords first.",[621,622,623],"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 pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}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 .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":169,"searchDepth":15,"depth":15,"links":625},[626,627,628,629,630,631,632,633,634],{"id":211,"depth":15,"text":212},{"id":315,"depth":15,"text":316},{"id":379,"depth":15,"text":380},{"id":417,"depth":15,"text":418},{"id":424,"depth":15,"text":425},{"id":521,"depth":15,"text":522},{"id":576,"depth":15,"text":577},{"id":593,"depth":15,"text":594},{"id":602,"depth":15,"text":603},"md",{},true,{"title":28,"description":29},"docs\u002Ftroubleshooting","O_IixFrY2SZKeermkp81IV3x3SP-fu8n0R-OwaYDUX4",1791302513339]