[{"data":1,"prerenderedAt":1677},["ShallowReactive",2],{"docs-navigation":3,"-docs-installation-single-binary-quick-start":410,"-docs-installation-single-binary-quick-start-surround":1672},[4,19,166,319,333,397],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":18},"Overview","i-lucide-compass","\u002Fdocs\u002Foverview","docs\u002F1.overview",[10,14],{"title":11,"path":12,"stem":13},"Introduction","\u002Fdocs\u002Foverview\u002Fintroduction","docs\u002F1.overview\u002F1.introduction",{"title":15,"path":16,"stem":17},"JFrog compatibility","\u002Fdocs\u002Foverview\u002Fjfrog-compatibility","docs\u002F1.overview\u002F2.jfrog-compatibility",false,{"title":20,"icon":21,"path":22,"stem":23,"children":24,"page":18},"Installation","i-lucide-download","\u002Fdocs\u002Finstallation","docs\u002F2.installation",[25,29,43,68,108,112,116,162],{"title":26,"path":27,"stem":28},"Choosing a method","\u002Fdocs\u002Finstallation\u002Foverview","docs\u002F2.installation\u002F1.overview",{"title":30,"icon":31,"path":32,"stem":33,"children":34,"page":18},"Single binary","i-lucide-terminal","\u002Fdocs\u002Finstallation\u002Fsingle-binary","docs\u002F2.installation\u002F2.single-binary",[35,39],{"title":36,"path":37,"stem":38},"Quick start","\u002Fdocs\u002Finstallation\u002Fsingle-binary\u002Fquick-start","docs\u002F2.installation\u002F2.single-binary\u002F1.quick-start",{"title":40,"path":41,"stem":42},"Limits and backups","\u002Fdocs\u002Finstallation\u002Fsingle-binary\u002Foperations","docs\u002F2.installation\u002F2.single-binary\u002F2.operations",{"title":44,"icon":45,"path":46,"stem":47,"children":48,"page":18},"Docker","i-simple-icons-docker","\u002Fdocs\u002Finstallation\u002Fdocker","docs\u002F2.installation\u002F3.docker",[49,52,56,60,64],{"title":36,"path":50,"stem":51},"\u002Fdocs\u002Finstallation\u002Fdocker\u002Fquick-start","docs\u002F2.installation\u002F3.docker\u002F1.quick-start",{"title":53,"path":54,"stem":55},"PostgreSQL and S3","\u002Fdocs\u002Finstallation\u002Fdocker\u002Fpostgresql-and-s3","docs\u002F2.installation\u002F3.docker\u002F2.postgresql-and-s3",{"title":57,"path":58,"stem":59},"Docker Compose","\u002Fdocs\u002Finstallation\u002Fdocker\u002Fcompose","docs\u002F2.installation\u002F3.docker\u002F3.compose",{"title":61,"path":62,"stem":63},"Compose settings","\u002Fdocs\u002Finstallation\u002Fdocker\u002Fcompose-settings","docs\u002F2.installation\u002F3.docker\u002F4.compose-settings",{"title":65,"path":66,"stem":67},"Compose with another object store","\u002Fdocs\u002Finstallation\u002Fdocker\u002Fcompose-other-object-storage","docs\u002F2.installation\u002F3.docker\u002F5.compose-other-object-storage",{"title":69,"icon":70,"path":71,"stem":72,"children":73,"page":18},"Kubernetes","i-simple-icons-kubernetes","\u002Fdocs\u002Finstallation\u002Fkubernetes","docs\u002F2.installation\u002F4.kubernetes",[74,77,80,84,88,92,96,100,104],{"title":5,"path":75,"stem":76},"\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Foverview","docs\u002F2.installation\u002F4.kubernetes\u002F1.overview",{"title":36,"path":78,"stem":79},"\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fquick-start","docs\u002F2.installation\u002F4.kubernetes\u002F2.quick-start",{"title":81,"path":82,"stem":83},"External PostgreSQL","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fexternal-postgresql","docs\u002F2.installation\u002F4.kubernetes\u002F3.external-postgresql",{"title":85,"path":86,"stem":87},"External object storage","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fexternal-object-storage","docs\u002F2.installation\u002F4.kubernetes\u002F4.external-object-storage",{"title":89,"path":90,"stem":91},"Exposing Relic","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fexposing","docs\u002F2.installation\u002F4.kubernetes\u002F5.exposing",{"title":93,"path":94,"stem":95},"Values","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fvalues","docs\u002F2.installation\u002F4.kubernetes\u002F6.values",{"title":97,"path":98,"stem":99},"Upgrades and removal","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fupgrades","docs\u002F2.installation\u002F4.kubernetes\u002F7.upgrades",{"title":101,"path":102,"stem":103},"Hardening and probes","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fhardening","docs\u002F2.installation\u002F4.kubernetes\u002F8.hardening",{"title":105,"path":106,"stem":107},"Monitoring","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fmonitoring","docs\u002F2.installation\u002F4.kubernetes\u002F9.monitoring",{"title":109,"path":110,"stem":111},"Cloudflare","\u002Fdocs\u002Finstallation\u002Fcloudflare","docs\u002F2.installation\u002F5.cloudflare",{"title":113,"path":114,"stem":115},"Configuration reference","\u002Fdocs\u002Finstallation\u002Fconfiguration","docs\u002F2.installation\u002F6.configuration",{"title":117,"icon":118,"path":119,"stem":120,"children":121,"page":18},"Storage","i-lucide-hard-drive","\u002Fdocs\u002Finstallation\u002Fstorage","docs\u002F2.installation\u002F7.storage",[122,126,130,134,138,142,146,150,154,158],{"title":123,"path":124,"stem":125},"Storage overview","\u002Fdocs\u002Finstallation\u002Fstorage\u002Foverview","docs\u002F2.installation\u002F7.storage\u002F1.overview",{"title":127,"path":128,"stem":129},"Azure Blob Storage","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fazure-blob-storage","docs\u002F2.installation\u002F7.storage\u002F10.azure-blob-storage",{"title":131,"path":132,"stem":133},"SeaweedFS","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fseaweedfs","docs\u002F2.installation\u002F7.storage\u002F2.seaweedfs",{"title":135,"path":136,"stem":137},"Amazon S3","\u002Fdocs\u002Finstallation\u002Fstorage\u002Famazon-s3","docs\u002F2.installation\u002F7.storage\u002F3.amazon-s3",{"title":139,"path":140,"stem":141},"Cloudflare R2","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fcloudflare-r2","docs\u002F2.installation\u002F7.storage\u002F4.cloudflare-r2",{"title":143,"path":144,"stem":145},"MinIO","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fminio","docs\u002F2.installation\u002F7.storage\u002F5.minio",{"title":147,"path":148,"stem":149},"Google Cloud Storage","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fgoogle-cloud-storage","docs\u002F2.installation\u002F7.storage\u002F6.google-cloud-storage",{"title":151,"path":152,"stem":153},"Backblaze B2","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fbackblaze-b2","docs\u002F2.installation\u002F7.storage\u002F7.backblaze-b2",{"title":155,"path":156,"stem":157},"Other S3-compatible services","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fother","docs\u002F2.installation\u002F7.storage\u002F8.other",{"title":159,"path":160,"stem":161},"Filesystem","\u002Fdocs\u002Finstallation\u002Fstorage\u002Ffilesystem","docs\u002F2.installation\u002F7.storage\u002F9.filesystem",{"title":163,"path":164,"stem":165},"Development","\u002Fdocs\u002Finstallation\u002Fdevelopment","docs\u002F2.installation\u002F8.development",{"title":167,"icon":168,"path":169,"stem":170,"children":171,"page":18},"Guides","i-lucide-book-open","\u002Fdocs\u002Fguides","docs\u002F3.guides",[172,176,180,254,296,300,303,307,311,315],{"title":173,"path":174,"stem":175},"Repositories","\u002Fdocs\u002Fguides\u002Frepositories","docs\u002F3.guides\u002F1.repositories",{"title":177,"path":178,"stem":179},"Replication","\u002Fdocs\u002Fguides\u002Freplication","docs\u002F3.guides\u002F10.replication",{"title":181,"icon":182,"path":183,"stem":184,"children":185,"page":18},"Package types","i-lucide-package","\u002Fdocs\u002Fguides\u002Fpackage-types","docs\u002F3.guides\u002F2.package-types",[186,190,194,198,202,206,210,214,218,222,226,230,234,238,242,246,250],{"title":187,"path":188,"stem":189},"npm, yarn and pnpm","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fnpm","docs\u002F3.guides\u002F2.package-types\u002F01.npm",{"title":191,"path":192,"stem":193},"Maven and Gradle","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fmaven-gradle","docs\u002F3.guides\u002F2.package-types\u002F02.maven-gradle",{"title":195,"path":196,"stem":197},"Docker and OCI","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fdocker","docs\u002F3.guides\u002F2.package-types\u002F03.docker",{"title":199,"path":200,"stem":201},"Go","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fgo","docs\u002F3.guides\u002F2.package-types\u002F04.go",{"title":203,"path":204,"stem":205},"PyPI","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fpypi","docs\u002F3.guides\u002F2.package-types\u002F05.pypi",{"title":207,"path":208,"stem":209},"Helm","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fhelm","docs\u002F3.guides\u002F2.package-types\u002F06.helm",{"title":211,"path":212,"stem":213},"NuGet","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fnuget","docs\u002F3.guides\u002F2.package-types\u002F07.nuget",{"title":215,"path":216,"stem":217},"RubyGems","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Frubygems","docs\u002F3.guides\u002F2.package-types\u002F08.rubygems",{"title":219,"path":220,"stem":221},"Cargo","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fcargo","docs\u002F3.guides\u002F2.package-types\u002F09.cargo",{"title":223,"path":224,"stem":225},"Conan","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fconan","docs\u002F3.guides\u002F2.package-types\u002F10.conan",{"title":227,"path":228,"stem":229},"Terraform and OpenTofu","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fterraform","docs\u002F3.guides\u002F2.package-types\u002F11.terraform",{"title":231,"path":232,"stem":233},"Hugging Face","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fhugging-face","docs\u002F3.guides\u002F2.package-types\u002F12.hugging-face",{"title":235,"path":236,"stem":237},"Generic files","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fgeneric","docs\u002F3.guides\u002F2.package-types\u002F13.generic",{"title":239,"path":240,"stem":241},"RPM","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Frpm","docs\u002F3.guides\u002F2.package-types\u002F14.rpm",{"title":243,"path":244,"stem":245},"Debian","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fdebian","docs\u002F3.guides\u002F2.package-types\u002F15.debian",{"title":247,"path":248,"stem":249},"Alpine","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Falpine","docs\u002F3.guides\u002F2.package-types\u002F16.alpine",{"title":251,"path":252,"stem":253},"Nix","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fnix","docs\u002F3.guides\u002F2.package-types\u002F17.nix",{"title":255,"icon":256,"path":257,"stem":258,"children":259,"page":18},"Security","i-lucide-shield","\u002Fdocs\u002Fguides\u002Fsecurity","docs\u002F3.guides\u002F3.security",[260,264,268,272,276,280,284,288,292],{"title":261,"path":262,"stem":263},"Permissions","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fpermissions","docs\u002F3.guides\u002F3.security\u002F1.permissions",{"title":265,"path":266,"stem":267},"LDAP","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fldap","docs\u002F3.guides\u002F3.security\u002F2.ldap",{"title":269,"path":270,"stem":271},"Access tokens","\u002Fdocs\u002Fguides\u002Fsecurity\u002Ftokens","docs\u002F3.guides\u002F3.security\u002F3.tokens",{"title":273,"path":274,"stem":275},"Relic Scan","\u002Fdocs\u002Fguides\u002Fsecurity\u002Frelic-scan","docs\u002F3.guides\u002F3.security\u002F4.relic-scan",{"title":277,"path":278,"stem":279},"CVE intelligence","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fcve-intelligence","docs\u002F3.guides\u002F3.security\u002F5.cve-intelligence",{"title":281,"path":282,"stem":283},"Audit log","\u002Fdocs\u002Fguides\u002Fsecurity\u002Faudit-log","docs\u002F3.guides\u002F3.security\u002F6.audit-log",{"title":285,"path":286,"stem":287},"Single sign-on","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fsingle-sign-on","docs\u002F3.guides\u002F3.security\u002F7.single-sign-on",{"title":289,"path":290,"stem":291},"SCIM provisioning","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fscim","docs\u002F3.guides\u002F3.security\u002F8.scim",{"title":293,"path":294,"stem":295},"Workload identities","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fworkload-identities","docs\u002F3.guides\u002F3.security\u002F9.workload-identities",{"title":297,"path":298,"stem":299},"Operations","\u002Fdocs\u002Fguides\u002Foperations","docs\u002F3.guides\u002F4.operations",{"title":105,"path":301,"stem":302},"\u002Fdocs\u002Fguides\u002Fmonitoring","docs\u002F3.guides\u002F5.monitoring",{"title":304,"path":305,"stem":306},"Metrics reference","\u002Fdocs\u002Fguides\u002Fmetrics-reference","docs\u002F3.guides\u002F6.metrics-reference",{"title":308,"path":309,"stem":310},"Webhooks","\u002Fdocs\u002Fguides\u002Fwebhooks","docs\u002F3.guides\u002F7.webhooks",{"title":312,"path":313,"stem":314},"Projects","\u002Fdocs\u002Fguides\u002Fprojects","docs\u002F3.guides\u002F8.projects",{"title":316,"path":317,"stem":318},"AI agents","\u002Fdocs\u002Fguides\u002Fai-agents","docs\u002F3.guides\u002F9.ai-agents",{"title":320,"icon":321,"path":322,"stem":323,"children":324,"page":18},"API","i-lucide-braces","\u002Fdocs\u002Fapi","docs\u002F4.api",[325,329],{"title":326,"path":327,"stem":328},"API usage","\u002Fdocs\u002Fapi\u002Foverview","docs\u002F4.api\u002F1.overview",{"title":330,"path":331,"stem":332},"Relic API","\u002Fdocs\u002Fapi\u002Frelic-api","docs\u002F4.api\u002F2.relic-api",{"title":334,"icon":31,"path":335,"stem":336,"children":337,"page":18},"CLI","\u002Fdocs\u002Fcli","docs\u002F5.cli",[338,341,345,349,353,357,361,365,369,373,377,381,385,389,393],{"title":5,"path":339,"stem":340},"\u002Fdocs\u002Fcli\u002Foverview","docs\u002F5.cli\u002F01.overview",{"title":342,"path":343,"stem":344},"Sign in and contexts","\u002Fdocs\u002Fcli\u002Fsign-in","docs\u002F5.cli\u002F02.sign-in",{"title":346,"path":347,"stem":348},"Resources","\u002Fdocs\u002Fcli\u002Fresources","docs\u002F5.cli\u002F03.resources",{"title":350,"path":351,"stem":352},"apply, diff and delete","\u002Fdocs\u002Fcli\u002Fapply","docs\u002F5.cli\u002F04.apply",{"title":354,"path":355,"stem":356},"Artifacts","\u002Fdocs\u002Fcli\u002Ffiles","docs\u002F5.cli\u002F05.files",{"title":358,"path":359,"stem":360},"Server, API and tokens","\u002Fdocs\u002Fcli\u002Fplatform","docs\u002F5.cli\u002F06.platform",{"title":362,"path":363,"stem":364},"Builds and images","\u002Fdocs\u002Fcli\u002Fbuilds","docs\u002F5.cli\u002F07.builds",{"title":366,"path":367,"stem":368},"Scanning and auditing","\u002Fdocs\u002Fcli\u002Fsecurity","docs\u002F5.cli\u002F08.security",{"title":370,"path":371,"stem":372},"Releases","\u002Fdocs\u002Fcli\u002Freleases","docs\u002F5.cli\u002F09.releases",{"title":374,"path":375,"stem":376},"Evidence","\u002Fdocs\u002Fcli\u002Fevidence","docs\u002F5.cli\u002F10.evidence",{"title":378,"path":379,"stem":380},"Package managers","\u002Fdocs\u002Fcli\u002Fpackage-managers","docs\u002F5.cli\u002F11.package-managers",{"title":382,"path":383,"stem":384},"Scan reports and VEX","\u002Fdocs\u002Fcli\u002Freports-and-vex","docs\u002F5.cli\u002F12.reports-and-vex",{"title":386,"path":387,"stem":388},"Migrating from Artifactory","\u002Fdocs\u002Fcli\u002Fimport","docs\u002F5.cli\u002F13.import",{"title":390,"path":391,"stem":392},"Database","\u002Fdocs\u002Fcli\u002Fdatabase","docs\u002F5.cli\u002F14.database",{"title":394,"path":395,"stem":396},"Machine setup","\u002Fdocs\u002Fcli\u002Fsetup","docs\u002F5.cli\u002F15.setup",{"title":398,"icon":399,"path":400,"stem":401,"children":402,"page":18},"SDK","i-lucide-boxes","\u002Fdocs\u002Fsdk","docs\u002F6.sdk",[403,406],{"title":5,"path":404,"stem":405},"\u002Fdocs\u002Fsdk\u002Foverview","docs\u002F6.sdk\u002F1.overview",{"title":407,"path":408,"stem":409},"Relic API clients","\u002Fdocs\u002Fsdk\u002Frelic-api-clients","docs\u002F6.sdk\u002F2.relic-api-clients",{"id":411,"title":36,"body":412,"description":1665,"extension":1666,"links":1667,"meta":1668,"navigation":1669,"path":37,"seo":1670,"stem":38,"__hash__":1671},"docs\u002Fdocs\u002F2.installation\u002F2.single-binary\u002F1.quick-start.md",{"type":413,"value":414,"toc":1654},"minimark",[415,420,446,479,501,530,540,550,567,570,641,644,708,711,741,744,771,778,806,809,821,825,855,860,863,878,932,935,938,954,972,996,999,1017,1020,1041,1044,1075,1078,1094,1098,1104,1124,1204,1207,1209,1226,1241,1259,1261,1274,1276,1294,1298,1301,1304,1319,1326,1346,1349,1444,1458,1461,1478,1490,1496,1500,1542,1546,1563,1566,1595,1601,1622,1628,1645,1650],[416,417,419],"h2",{"id":418},"download","Download",[421,422,423,424,428,429,432,433,441,442,445],"p",{},"The install script downloads the latest release for Linux or macOS (amd64,\narm64), checks its SHA-256 sums and puts ",[425,426,427],"code",{},"relic"," in ",[425,430,431],{},"~\u002F.local\u002Fbin"," and this\nmachine's ",[434,435,437,440],"a",{"href":436},"#local-scans-with-the-jfrog-cli",[425,438,439],{},"relic-indexer"," build"," in\n",[425,443,444],{},"~\u002F.local\u002Fshare\u002Frelic\u002Findexer",":",[447,448,453],"pre",{"className":449,"code":450,"language":451,"meta":452,"style":452},"language-bash shiki shiki-themes material-theme-lighter github-light-default github-dark-default","curl -fsSL https:\u002F\u002Frelic.build\u002Finstall.sh | sh\n","bash","",[425,454,455],{"__ignoreMap":452},[456,457,460,464,468,472,476],"span",{"class":458,"line":459},"line",1,[456,461,463],{"class":462},"seIyd","curl",[456,465,467],{"class":466},"smky3"," -fsSL",[456,469,471],{"class":470},"sasMN"," https:\u002F\u002Frelic.build\u002Finstall.sh",[456,473,475],{"class":474},"s8eFF"," |",[456,477,478],{"class":462}," sh\n",[421,480,481,484,485,488,489,492,493,496,497,500],{},[425,482,483],{},"RELIC_VERSION"," pins a release (",[425,486,487],{},"vX.Y.Z",", or ",[425,490,491],{},"X.Y.Z",") and ",[425,494,495],{},"RELIC_INSTALL_DIR","\nchanges the directory; the build then goes to ",[425,498,499],{},"share\u002Frelic\u002Findexer"," beside it.\nThe script stops before downloading when the release\ndoes not exist or it cannot write to the directory:",[447,502,504],{"className":449,"code":503,"language":451,"meta":452,"style":452},"curl -fsSL https:\u002F\u002Frelic.build\u002Finstall.sh | sudo env RELIC_VERSION=vX.Y.Z RELIC_INSTALL_DIR=\u002Fusr\u002Flocal\u002Fbin sh\n",[425,505,506],{"__ignoreMap":452},[456,507,508,510,512,514,516,519,522,525,528],{"class":458,"line":459},[456,509,463],{"class":462},[456,511,467],{"class":466},[456,513,471],{"class":470},[456,515,475],{"class":474},[456,517,518],{"class":462}," sudo",[456,520,521],{"class":470}," env",[456,523,524],{"class":470}," RELIC_VERSION=vX.Y.Z",[456,526,527],{"class":470}," RELIC_INSTALL_DIR=\u002Fusr\u002Flocal\u002Fbin",[456,529,478],{"class":470},[421,531,532,533,536,537,539],{},"A Relic server also serves the script at ",[425,534,535],{},"\u002Finstall.sh",". The command on the\nserver's landing page sets ",[425,538,483],{}," to the server's release. The script\ndownloads the binary from GitHub in both cases, so the machine needs access to\ngithub.com.",[421,541,542,543,545,546,549],{},"Each release on GitHub (github.com\u002Frelicbuild\u002Frelic\u002Freleases) has archives for\nLinux, macOS and Windows, ",[425,544,439],{}," builds, an SBOM per archive and build,\nand ",[425,547,548],{},"relic_\u003Ctag>_checksums.txt"," with its cosign signature. To install by hand, pick the release:",[447,551,553],{"className":449,"code":552,"language":451,"meta":452,"style":452},"v=vX.Y.Z\n",[425,554,555],{"__ignoreMap":452},[456,556,557,561,564],{"class":458,"line":459},[456,558,560],{"class":559},"saDVj","v",[456,562,563],{"class":474},"=",[456,565,566],{"class":470},"vX.Y.Z\n",[421,568,569],{},"Download the archive and the checksum files:",[447,571,573],{"className":449,"code":572,"language":451,"meta":452,"style":452},"gh release download \"$v\" --repo relicbuild\u002Frelic -p \"relic_${v}_linux_amd64.tar.gz\" -p \"relic_${v}_checksums.txt*\"\n",[425,574,575],{"__ignoreMap":452},[456,576,577,580,583,586,590,593,596,599,602,605,607,610,613,615,618,621,623,625,627,629,631,633,635,638],{"class":458,"line":459},[456,578,579],{"class":462},"gh",[456,581,582],{"class":470}," release",[456,584,585],{"class":470}," download",[456,587,589],{"class":588},"sX5mu"," \"",[456,591,592],{"class":559},"$v",[456,594,595],{"class":588},"\"",[456,597,598],{"class":466}," --repo",[456,600,601],{"class":470}," relicbuild\u002Frelic",[456,603,604],{"class":466}," -p",[456,606,589],{"class":588},[456,608,609],{"class":470},"relic_",[456,611,612],{"class":588},"${",[456,614,560],{"class":559},[456,616,617],{"class":588},"}",[456,619,620],{"class":470},"_linux_amd64.tar.gz",[456,622,595],{"class":588},[456,624,604],{"class":466},[456,626,589],{"class":588},[456,628,609],{"class":470},[456,630,612],{"class":588},[456,632,560],{"class":559},[456,634,617],{"class":588},[456,636,637],{"class":470},"_checksums.txt*",[456,639,640],{"class":588},"\"\n",[421,642,643],{},"Check the signature of the sums with cosign 2.5.0 or later (optional):",[447,645,647],{"className":449,"code":646,"language":451,"meta":452,"style":452},"cosign verify-blob \"relic_${v}_checksums.txt\" --bundle \"relic_${v}_checksums.txt.sigstore.json\" --certificate-oidc-issuer https:\u002F\u002Ftoken.actions.githubusercontent.com --certificate-identity-regexp '^https:\u002F\u002Fgithub.com\u002Frelicbuild\u002Frelic\u002F'\n",[425,648,649],{"__ignoreMap":452},[456,650,651,654,657,659,661,663,665,667,670,672,675,677,679,681,683,685,688,690,693,696,699,702,705],{"class":458,"line":459},[456,652,653],{"class":462},"cosign",[456,655,656],{"class":470}," verify-blob",[456,658,589],{"class":588},[456,660,609],{"class":470},[456,662,612],{"class":588},[456,664,560],{"class":559},[456,666,617],{"class":588},[456,668,669],{"class":470},"_checksums.txt",[456,671,595],{"class":588},[456,673,674],{"class":466}," --bundle",[456,676,589],{"class":588},[456,678,609],{"class":470},[456,680,612],{"class":588},[456,682,560],{"class":559},[456,684,617],{"class":588},[456,686,687],{"class":470},"_checksums.txt.sigstore.json",[456,689,595],{"class":588},[456,691,692],{"class":466}," --certificate-oidc-issuer",[456,694,695],{"class":470}," https:\u002F\u002Ftoken.actions.githubusercontent.com",[456,697,698],{"class":466}," --certificate-identity-regexp",[456,700,701],{"class":588}," '",[456,703,704],{"class":470},"^https:\u002F\u002Fgithub.com\u002Frelicbuild\u002Frelic\u002F",[456,706,707],{"class":588},"'\n",[421,709,710],{},"Check the archive against the sums:",[447,712,714],{"className":449,"code":713,"language":451,"meta":452,"style":452},"sha256sum -c --ignore-missing \"relic_${v}_checksums.txt\"\n",[425,715,716],{"__ignoreMap":452},[456,717,718,721,724,727,729,731,733,735,737,739],{"class":458,"line":459},[456,719,720],{"class":462},"sha256sum",[456,722,723],{"class":466}," -c",[456,725,726],{"class":466}," --ignore-missing",[456,728,589],{"class":588},[456,730,609],{"class":470},[456,732,612],{"class":588},[456,734,560],{"class":559},[456,736,617],{"class":588},[456,738,669],{"class":470},[456,740,640],{"class":588},[421,742,743],{},"Unpack the archive:",[447,745,747],{"className":449,"code":746,"language":451,"meta":452,"style":452},"tar -xzf \"relic_${v}_linux_amd64.tar.gz\"\n",[425,748,749],{"__ignoreMap":452},[456,750,751,754,757,759,761,763,765,767,769],{"class":458,"line":459},[456,752,753],{"class":462},"tar",[456,755,756],{"class":466}," -xzf",[456,758,589],{"class":588},[456,760,609],{"class":470},[456,762,612],{"class":588},[456,764,560],{"class":559},[456,766,617],{"class":588},[456,768,620],{"class":470},[456,770,640],{"class":588},[421,772,773,774,428,776,445],{},"Install ",[425,775,427],{},[425,777,431],{},[447,779,781],{"className":449,"code":780,"language":451,"meta":452,"style":452},"install \"relic_${v}_linux_amd64\u002Frelic\" ~\u002F.local\u002Fbin\u002F\n",[425,782,783],{"__ignoreMap":452},[456,784,785,788,790,792,794,796,798,801,803],{"class":458,"line":459},[456,786,787],{"class":462},"install",[456,789,589],{"class":588},[456,791,609],{"class":470},[456,793,612],{"class":588},[456,795,560],{"class":559},[456,797,617],{"class":588},[456,799,800],{"class":470},"_linux_amd64\u002Frelic",[456,802,595],{"class":588},[456,804,805],{"class":470}," ~\u002F.local\u002Fbin\u002F\n",[421,807,808],{},"Check the installed version:",[447,810,812],{"className":449,"code":811,"language":451,"meta":452,"style":452},"relic --version\n",[425,813,814],{"__ignoreMap":452},[456,815,816,818],{"class":458,"line":459},[456,817,427],{"class":462},[456,819,820],{"class":466}," --version\n",[416,822,824],{"id":823},"run-as-a-service","Run as a service",[421,826,827,830,831,834,835,839,840,843,844,847,848,851,852,854],{},[425,828,829],{},"relic server setup"," installs Relic as a service (systemd on Linux, launchd on\nmacOS) with SQLite and a local directory. It lists what it will change and asks first; running it again changes\nnothing. The server serves HTTPS on ",[425,832,833],{},"127.0.0.1:8090"," with a certificate\nauthority it generates (",[434,836,838],{"href":837},"\u002Fdocs\u002Finstallation\u002Fconfiguration#tls","TLS",").\n",[425,841,842],{},"--listen 0.0.0.0:8090"," opens it to the network; clients on other machines then\nneed the authority's ",[425,845,846],{},"ca.crt",", and the name they use must be in\n",[425,849,850],{},"RELIC_TLS_HOSTNAMES",". See ",[434,853,394],{"href":395}," for every option.",[856,857,859],"h3",{"id":858},"user-service","User service",[421,861,862],{},"Runs as your user, with no root access needed. Set it up:",[447,864,866],{"className":449,"code":865,"language":451,"meta":452,"style":452},"relic server setup\n",[425,867,868],{"__ignoreMap":452},[456,869,870,872,875],{"class":458,"line":459},[456,871,427],{"class":462},[456,873,874],{"class":470}," server",[456,876,877],{"class":470}," setup\n",[879,880,881,894],"table",{},[882,883,884],"thead",{},[885,886,887,891],"tr",{},[888,889,890],"th",{},"What",[888,892,893],{},"Where",[895,896,897,912,922],"tbody",{},[885,898,899,907],{},[900,901,902,903,906],"td",{},"Settings, with a generated ",[425,904,905],{},"RELIC_ENCRYPTION_KEY"," and admin password",[900,908,909],{},[425,910,911],{},"~\u002F.config\u002Frelic\u002Fserver.env",[885,913,914,917],{},[900,915,916],{},"Database and files",[900,918,919],{},[425,920,921],{},"~\u002F.local\u002Fshare\u002Frelic",[885,923,924,927],{},[900,925,926],{},"Certificate authority and server certificate",[900,928,929],{},[425,930,931],{},"~\u002F.config\u002Frelic\u002Ftls",[421,933,934],{},"On Linux, the service keeps running after logout and starts at boot. On macOS,\nit is a launch agent that runs while you are logged in. Setup also adds shell\ncompletion.",[421,936,937],{},"Read the generated admin password:",[447,939,941],{"className":449,"code":940,"language":451,"meta":452,"style":452},"grep RELIC_ADMIN_PASSWORD ~\u002F.config\u002Frelic\u002Fserver.env\n",[425,942,943],{"__ignoreMap":452},[456,944,945,948,951],{"class":458,"line":459},[456,946,947],{"class":462},"grep",[456,949,950],{"class":470}," RELIC_ADMIN_PASSWORD",[456,952,953],{"class":470}," ~\u002F.config\u002Frelic\u002Fserver.env\n",[421,955,956,957,959,960,964,965,968,969,445],{},"On this machine, ",[425,958,427],{}," commands need no sign-in when you run them: the CLI\nreads the address, admin password and certificate authority from the settings\nfile (",[434,961,963],{"href":962},"\u002Fdocs\u002Fcli\u002Fsign-in#on-the-servers-own-machine","details","). This stops\nworking once the admin password is changed. Sign in to save a context, which\n",[425,966,967],{},"relic package setup"," needs to hand out a token. The CLI shows the fingerprint\nof the server's certificate authority and asks whether to trust it; compare it\nwith the one in the server's log, or pass ",[425,970,971],{},"--ca-file ~\u002F.config\u002Frelic\u002Ftls\u002Fca.crt",[447,973,975],{"className":449,"code":974,"language":451,"meta":452,"style":452},"relic auth login https:\u002F\u002F127.0.0.1:8090 --user admin\n",[425,976,977],{"__ignoreMap":452},[456,978,979,981,984,987,990,993],{"class":458,"line":459},[456,980,427],{"class":462},[456,982,983],{"class":470}," auth",[456,985,986],{"class":470}," login",[456,988,989],{"class":470}," https:\u002F\u002F127.0.0.1:8090",[456,991,992],{"class":466}," --user",[456,994,995],{"class":470}," admin\n",[421,997,998],{},"Check the service:",[447,1000,1002],{"className":449,"code":1001,"language":451,"meta":452,"style":452},"systemctl --user status relic\n",[425,1003,1004],{"__ignoreMap":452},[456,1005,1006,1009,1011,1014],{"class":458,"line":459},[456,1007,1008],{"class":462},"systemctl",[456,1010,992],{"class":466},[456,1012,1013],{"class":470}," status",[456,1015,1016],{"class":470}," relic\n",[421,1018,1019],{},"Follow the server's logs:",[447,1021,1023],{"className":449,"code":1022,"language":451,"meta":452,"style":452},"journalctl --user -u relic -f\n",[425,1024,1025],{"__ignoreMap":452},[456,1026,1027,1030,1032,1035,1038],{"class":458,"line":459},[456,1028,1029],{"class":462},"journalctl",[456,1031,992],{"class":466},[456,1033,1034],{"class":466}," -u",[456,1036,1037],{"class":470}," relic",[456,1039,1040],{"class":466}," -f\n",[421,1042,1043],{},"On macOS, check the launch agent:",[447,1045,1047],{"className":449,"code":1046,"language":451,"meta":452,"style":452},"launchctl print gui\u002F$(id -u)\u002Fbuild.relic.server\n",[425,1048,1049],{"__ignoreMap":452},[456,1050,1051,1054,1057,1060,1064,1067,1069,1072],{"class":458,"line":459},[456,1052,1053],{"class":462},"launchctl",[456,1055,1056],{"class":470}," print",[456,1058,1059],{"class":470}," gui\u002F",[456,1061,1063],{"class":1062},"sWneD","$(",[456,1065,1066],{"class":462},"id",[456,1068,1034],{"class":466},[456,1070,1071],{"class":1062},")",[456,1073,1074],{"class":470},"\u002Fbuild.relic.server\n",[421,1076,1077],{},"Follow its log:",[447,1079,1081],{"className":449,"code":1080,"language":451,"meta":452,"style":452},"tail -f ~\u002FLibrary\u002FLogs\u002Frelic.log\n",[425,1082,1083],{"__ignoreMap":452},[456,1084,1085,1088,1091],{"class":458,"line":459},[456,1086,1087],{"class":462},"tail",[456,1089,1090],{"class":466}," -f",[456,1092,1093],{"class":470}," ~\u002FLibrary\u002FLogs\u002Frelic.log\n",[856,1095,1097],{"id":1096},"system-service","System service",[421,1099,1100,1101,1103],{},"Linux only. Runs as a ",[425,1102,427],{}," system user and starts at boot. Set it up as root:",[447,1105,1107],{"className":449,"code":1106,"language":451,"meta":452,"style":452},"sudo relic server setup --system\n",[425,1108,1109],{"__ignoreMap":452},[456,1110,1111,1114,1116,1118,1121],{"class":458,"line":459},[456,1112,1113],{"class":462},"sudo",[456,1115,1037],{"class":470},[456,1117,874],{"class":470},[456,1119,1120],{"class":470}," setup",[456,1122,1123],{"class":466}," --system\n",[879,1125,1126,1134],{},[882,1127,1128],{},[885,1129,1130,1132],{},[888,1131,890],{},[888,1133,893],{},[895,1135,1136,1146,1158,1173,1185,1194],{},[885,1137,1138,1141],{},[900,1139,1140],{},"Binary (copied there)",[900,1142,1143],{},[425,1144,1145],{},"\u002Fusr\u002Flocal\u002Fbin\u002Frelic",[885,1147,1148,1153],{},[900,1149,1150,1152],{},[425,1151,439],{}," builds installed beside the binary (copied there)",[900,1154,1155],{},[425,1156,1157],{},"\u002Fusr\u002Flocal\u002Fshare\u002Frelic\u002Findexer",[885,1159,1160,1168],{},[900,1161,902,1162,1164,1165,1167],{},[425,1163,905],{}," and admin password, readable by the ",[425,1166,427],{}," group",[900,1169,1170],{},[425,1171,1172],{},"\u002Fetc\u002Frelic\u002Frelic.env",[885,1174,1175,1180],{},[900,1176,1177,1178],{},"Database and files, owned by ",[425,1179,427],{},[900,1181,1182],{},[425,1183,1184],{},"\u002Fvar\u002Flib\u002Frelic",[885,1186,1187,1189],{},[900,1188,926],{},[900,1190,1191],{},[425,1192,1193],{},"\u002Fetc\u002Frelic\u002Ftls",[885,1195,1196,1199],{},[900,1197,1198],{},"systemd unit",[900,1200,1201],{},[425,1202,1203],{},"\u002Fetc\u002Fsystemd\u002Fsystem\u002Frelic.service",[421,1205,1206],{},"Setup also adds bash completion for every user.",[421,1208,937],{},[447,1210,1212],{"className":449,"code":1211,"language":451,"meta":452,"style":452},"sudo grep RELIC_ADMIN_PASSWORD \u002Fetc\u002Frelic\u002Frelic.env\n",[425,1213,1214],{"__ignoreMap":452},[456,1215,1216,1218,1221,1223],{"class":458,"line":459},[456,1217,1113],{"class":462},[456,1219,1220],{"class":470}," grep",[456,1222,950],{"class":470},[456,1224,1225],{"class":470}," \u002Fetc\u002Frelic\u002Frelic.env\n",[421,1227,956,1228,1230,1231,1233,1234,964,1236,968,1238,445],{},[425,1229,427],{}," commands need no sign-in when root and members of the\n",[425,1232,427],{}," group run them: the CLI reads the address, admin password and certificate authority from the settings\nfile (",[434,1235,963],{"href":962},[425,1237,967],{},[425,1239,1240],{},"--ca-file \u002Fetc\u002Frelic\u002Ftls\u002Fca.crt",[447,1242,1243],{"className":449,"code":974,"language":451,"meta":452,"style":452},[425,1244,1245],{"__ignoreMap":452},[456,1246,1247,1249,1251,1253,1255,1257],{"class":458,"line":459},[456,1248,427],{"class":462},[456,1250,983],{"class":470},[456,1252,986],{"class":470},[456,1254,989],{"class":470},[456,1256,992],{"class":466},[456,1258,995],{"class":470},[421,1260,998],{},[447,1262,1264],{"className":449,"code":1263,"language":451,"meta":452,"style":452},"systemctl status relic\n",[425,1265,1266],{"__ignoreMap":452},[456,1267,1268,1270,1272],{"class":458,"line":459},[456,1269,1008],{"class":462},[456,1271,1013],{"class":470},[456,1273,1016],{"class":470},[421,1275,1019],{},[447,1277,1279],{"className":449,"code":1278,"language":451,"meta":452,"style":452},"sudo journalctl -u relic -f\n",[425,1280,1281],{"__ignoreMap":452},[456,1282,1283,1285,1288,1290,1292],{"class":458,"line":459},[456,1284,1113],{"class":462},[456,1286,1287],{"class":470}," journalctl",[456,1289,1034],{"class":466},[456,1291,1037],{"class":470},[456,1293,1040],{"class":466},[416,1295,1297],{"id":1296},"run-by-hand","Run by hand",[421,1299,1300],{},"On Windows, or to run the server in the foreground, set the database, the\ncontent directory, the admin password and the encryption key yourself.",[421,1302,1303],{},"Create the data directory:",[447,1305,1307],{"className":449,"code":1306,"language":451,"meta":452,"style":452},"mkdir -p ~\u002Frelic-data\n",[425,1308,1309],{"__ignoreMap":452},[456,1310,1311,1314,1316],{"class":458,"line":459},[456,1312,1313],{"class":462},"mkdir",[456,1315,604],{"class":466},[456,1317,1318],{"class":470}," ~\u002Frelic-data\n",[421,1320,1321,1322,445],{},"Generate the encryption key once and ",[434,1323,1325],{"href":1324},"\u002Fdocs\u002Finstallation\u002Fsingle-binary\u002Foperations#backups","back it up",[447,1327,1329],{"className":449,"code":1328,"language":451,"meta":452,"style":452},"openssl rand -base64 32\n",[425,1330,1331],{"__ignoreMap":452},[456,1332,1333,1336,1339,1342],{"class":458,"line":459},[456,1334,1335],{"class":462},"openssl",[456,1337,1338],{"class":470}," rand",[456,1340,1341],{"class":466}," -base64",[456,1343,1345],{"class":1344},"sIO_5"," 32\n",[421,1347,1348],{},"Set the settings:",[447,1350,1352],{"className":449,"code":1351,"language":451,"meta":452,"style":452},"export RELIC_DATABASE_URL=\"sqlite:\u002F\u002F$HOME\u002Frelic-data\u002Frelic.db\"\nexport RELIC_OBJECT_STORAGE_TYPE=filesystem\nexport RELIC_OBJECT_STORAGE_PATH=\"$HOME\u002Frelic-data\u002Fobjects\"\nexport RELIC_ADMIN_PASSWORD='\u003Cpassword>'\nexport RELIC_ENCRYPTION_KEY='\u003Ckey>'\n",[425,1353,1354,1378,1391,1410,1427],{"__ignoreMap":452},[456,1355,1356,1360,1363,1365,1367,1370,1373,1376],{"class":458,"line":459},[456,1357,1359],{"class":1358},"s4vtu","export",[456,1361,1362],{"class":559}," RELIC_DATABASE_URL",[456,1364,563],{"class":474},[456,1366,595],{"class":588},[456,1368,1369],{"class":470},"sqlite:\u002F\u002F",[456,1371,1372],{"class":559},"$HOME",[456,1374,1375],{"class":470},"\u002Frelic-data\u002Frelic.db",[456,1377,640],{"class":588},[456,1379,1381,1383,1386,1388],{"class":458,"line":1380},2,[456,1382,1359],{"class":1358},[456,1384,1385],{"class":559}," RELIC_OBJECT_STORAGE_TYPE",[456,1387,563],{"class":474},[456,1389,1390],{"class":559},"filesystem\n",[456,1392,1394,1396,1399,1401,1403,1405,1408],{"class":458,"line":1393},3,[456,1395,1359],{"class":1358},[456,1397,1398],{"class":559}," RELIC_OBJECT_STORAGE_PATH",[456,1400,563],{"class":474},[456,1402,595],{"class":588},[456,1404,1372],{"class":559},[456,1406,1407],{"class":470},"\u002Frelic-data\u002Fobjects",[456,1409,640],{"class":588},[456,1411,1413,1415,1417,1419,1422,1425],{"class":458,"line":1412},4,[456,1414,1359],{"class":1358},[456,1416,950],{"class":559},[456,1418,563],{"class":474},[456,1420,1421],{"class":588},"'",[456,1423,1424],{"class":470},"\u003Cpassword>",[456,1426,707],{"class":588},[456,1428,1430,1432,1435,1437,1439,1442],{"class":458,"line":1429},5,[456,1431,1359],{"class":1358},[456,1433,1434],{"class":559}," RELIC_ENCRYPTION_KEY",[456,1436,563],{"class":474},[456,1438,1421],{"class":588},[456,1440,1441],{"class":470},"\u003Ckey>",[456,1443,707],{"class":588},[421,1445,1446,1447,1450,1451,1453,1454,1457],{},"In PowerShell, use ",[425,1448,1449],{},"$env:NAME = 'value'","; the database URL is ",[425,1452,1369],{}," and\nthe absolute path, such as ",[425,1455,1456],{},"sqlite:\u002F\u002FC:\u002Frelic-data\u002Frelic.db",".",[421,1459,1460],{},"Start the server and the worker in one process:",[447,1462,1464],{"className":449,"code":1463,"language":451,"meta":452,"style":452},"relic server start --worker\n",[425,1465,1466],{"__ignoreMap":452},[456,1467,1468,1470,1472,1475],{"class":458,"line":459},[456,1469,427],{"class":462},[456,1471,874],{"class":470},[456,1473,1474],{"class":470}," start",[456,1476,1477],{"class":466}," --worker\n",[421,1479,1480,1481,1483,1484,1486,1487,1489],{},"The server serves HTTPS on port 8090, keeps its certificate authority in\n",[425,1482,931],{}," and logs the path of ",[425,1485,846],{},"\n(",[434,1488,838],{"href":837},").",[421,1491,1492,1493,1489],{},"SQLite or the filesystem store each limit the installation to one node; either\ncombines with PostgreSQL or S3 (",[434,1494,1495],{"href":114},"Configuration",[416,1497,1499],{"id":1498},"scanners","Scanners",[421,1501,1502,1503,1506,1507,1510,1511,1506,1514,1517,1518,1521,1522,1525,1526,1528,1529,1531,1532,1506,1535,1538,1539,1457],{},"Relic Scan runs ",[425,1504,1505],{},"syft"," and ",[425,1508,1509],{},"grype",", and optionally ",[425,1512,1513],{},"gitleaks",[425,1515,1516],{},"trivy",", from\nthe ",[425,1519,1520],{},"PATH",". Install them yourself, or use the\n",[434,1523,1524],{"href":50},"Docker image",". Without ",[425,1527,1505],{}," and\n",[425,1530,1509],{},", scanning is off, and client scans such as ",[425,1533,1534],{},"jf scan",[425,1536,1537],{},"jf audit"," fail\nat once with ",[425,1540,1541],{},"424 Failed Dependency",[856,1543,1545],{"id":1544},"local-scans-with-the-jfrog-cli","Local scans with the JFrog® CLI",[421,1547,1548,1506,1550,1553,1554,1556,1557,1559,1560,1457],{},[425,1549,1534],{},[425,1551,1552],{},"jf docker scan"," download ",[425,1555,439],{}," from the server and run\nit on the client. The server looks for its builds in ",[425,1558,499],{}," beside\nthe binary's directory. The install script puts this machine's build there, so\nclients on the same platform work without further setup; others get\n",[425,1561,1562],{},"404 Not Found",[421,1564,1565],{},"Install the builds of the platforms your clients use, here Linux on amd64 and\nmacOS on arm64 (each is about 80 MB):",[447,1567,1569],{"className":449,"code":1568,"language":451,"meta":452,"style":452},"curl -fsSL https:\u002F\u002Frelic.build\u002Finstall.sh | env RELIC_INDEXER_PLATFORMS=\"linux\u002Famd64 darwin\u002Farm64\" sh\n",[425,1570,1571],{"__ignoreMap":452},[456,1572,1573,1575,1577,1579,1581,1583,1586,1588,1591,1593],{"class":458,"line":459},[456,1574,463],{"class":462},[456,1576,467],{"class":466},[456,1578,471],{"class":470},[456,1580,475],{"class":474},[456,1582,521],{"class":462},[456,1584,1585],{"class":470}," RELIC_INDEXER_PLATFORMS=",[456,1587,595],{"class":588},[456,1589,1590],{"class":470},"linux\u002Famd64 darwin\u002Farm64",[456,1592,595],{"class":588},[456,1594,478],{"class":470},[421,1596,1597,1598,1600],{},"Install only the ",[425,1599,427],{}," CLI, on a machine that runs no server:",[447,1602,1604],{"className":449,"code":1603,"language":451,"meta":452,"style":452},"curl -fsSL https:\u002F\u002Frelic.build\u002Finstall.sh | env RELIC_INDEXER_PLATFORMS= sh\n",[425,1605,1606],{"__ignoreMap":452},[456,1607,1608,1610,1612,1614,1616,1618,1620],{"class":458,"line":459},[456,1609,463],{"class":462},[456,1611,467],{"class":466},[456,1613,471],{"class":470},[456,1615,475],{"class":474},[456,1617,521],{"class":462},[456,1619,1585],{"class":470},[456,1621,478],{"class":470},[421,1623,1624,1627],{},[425,1625,1626],{},"RELIC_INDEXER_DIR"," puts the builds in another directory; the server needs the\nsame setting:",[447,1629,1633],{"className":1630,"code":1631,"language":1632,"meta":452,"style":452},"language-ini shiki shiki-themes material-theme-lighter github-light-default github-dark-default","RELIC_INDEXER_DIR=\u002Fvar\u002Flib\u002Frelic\u002Findexer\n","ini",[425,1634,1635],{"__ignoreMap":452},[456,1636,1637,1640,1642],{"class":458,"line":459},[456,1638,1626],{"class":1639},"s03VG",[456,1641,563],{"class":1062},[456,1643,1644],{"class":559},"\u002Fvar\u002Flib\u002Frelic\u002Findexer\n",[421,1646,1647,1648,1457],{},"Next: ",[434,1649,40],{"href":41},[1651,1652,1653],"style",{},"html pre.shiki code .seIyd, html code.shiki .seIyd{--shiki-light:#E2931D;--shiki-default:#953800;--shiki-dark:#FFA657}html pre.shiki code .smky3, html code.shiki .smky3{--shiki-light:#91B859;--shiki-default:#0550AE;--shiki-dark:#79C0FF}html pre.shiki code .sasMN, html code.shiki .sasMN{--shiki-light:#91B859;--shiki-default:#0A3069;--shiki-dark:#A5D6FF}html pre.shiki code .s8eFF, html code.shiki .s8eFF{--shiki-light:#39ADB5;--shiki-default:#CF222E;--shiki-dark:#FF7B72}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 .saDVj, html code.shiki .saDVj{--shiki-light:#90A4AE;--shiki-default:#1F2328;--shiki-dark:#E6EDF3}html pre.shiki code .sX5mu, html code.shiki .sX5mu{--shiki-light:#39ADB5;--shiki-default:#0A3069;--shiki-dark:#A5D6FF}html pre.shiki code .sWneD, html code.shiki .sWneD{--shiki-light:#39ADB5;--shiki-default:#1F2328;--shiki-dark:#E6EDF3}html pre.shiki code .sIO_5, html code.shiki .sIO_5{--shiki-light:#F76D47;--shiki-default:#0550AE;--shiki-dark:#79C0FF}html pre.shiki code .s4vtu, html code.shiki .s4vtu{--shiki-light:#9C3EDA;--shiki-default:#CF222E;--shiki-dark:#FF7B72}html pre.shiki code .s03VG, html code.shiki .s03VG{--shiki-light:#E53935;--shiki-default:#CF222E;--shiki-dark:#FF7B72}",{"title":452,"searchDepth":1380,"depth":1380,"links":1655},[1656,1657,1661,1662],{"id":418,"depth":1380,"text":419},{"id":823,"depth":1380,"text":824,"children":1658},[1659,1660],{"id":858,"depth":1393,"text":859},{"id":1096,"depth":1393,"text":1097},{"id":1296,"depth":1380,"text":1297},{"id":1498,"depth":1380,"text":1499,"children":1663},[1664],{"id":1544,"depth":1393,"text":1545},"Download the relic binary and run it as a service (systemd on Linux, launchd on macOS) with SQLite and a local directory.","md",null,{},true,{"title":36,"description":1665},"6ZhvY7GE9hoOCSeqdI9QM8yw1yY-HrKU5OqAXtXnPvE",[1673,1675],{"title":26,"path":27,"stem":28,"description":1674,"children":-1},"The ways to run Relic, from one binary on one machine to a Helm release on Kubernetes.",{"title":40,"path":41,"stem":42,"description":1676,"children":-1},"What a single node cannot do, how to back it up, restore and upgrade it, and how to move it to PostgreSQL.",1793857332443]