Install this version:
emerge -a =app-misc/qdrant-1.18.2
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =app-misc/qdrant-1.18.2
Or alternatively:
emerge --autounmask-write -a =app-misc/qdrant-1.18.2
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 1.18.2 | 8 | ~amd64 | 0 |
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
RUST_MIN_VER="1.94.0"
inherit cargo systemd
DESCRIPTION="High-performance vector database and vector similarity search engine"
HOMEPAGE="
https://qdrant.tech/
https://github.com/qdrant/qdrant
"
SRC_URI="https://github.com/qdrant/qdrant/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
# Qdrant itself is Apache-2.0; its ~870 crate dependencies carry the usual
# permissive Rust mix (MIT/Apache-2.0/BSD/...), fetched by cargo at build time.
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
# Cargo.lock pulls 3 crates from git (tikv/raft-rs at a pinned rev and qdrant's
# tonic fork) that are not on crates.io, so the dependency graph is fetched by
# cargo at build time rather than vendored via CRATES. Hence network access +
# the non-determinism marker.
PROPERTIES="live"
RESTRICT="network-sandbox test"
RDEPEND="
acct-group/qdrant
acct-user/qdrant
"
DEPEND="${RDEPEND}"
src_unpack() {
default
}
src_compile() {
export CARGO_HOME="${T}/cargo"
# --locked builds exactly the Cargo.lock graph; network-sandbox is lifted
# (RESTRICT) so cargo can fetch crates.io and the pinned git dependencies.
cargo build --release --locked --bin qdrant \
|| die "cargo build failed"
}
src_install() {
dobin target/release/qdrant
# Config with the storage/snapshot paths pointed at /var/lib/qdrant and
# the service bound to loopback by default (privacy-first; widen in
# /etc/qdrant/config.yaml if remote access is wanted).
sed -e 's#\./storage#/var/lib/qdrant/storage#' \
-e 's#\./snapshots#/var/lib/qdrant/snapshots#' \
-e 's#host: 0\.0\.0\.0#host: 127.0.0.1#' \
config/config.yaml > "${T}/config.yaml" || die
insinto /etc/qdrant
newins "${T}/config.yaml" config.yaml
# Note: the web-UI dashboard is a separate upstream release
# (qdrant/qdrant-web-ui) and is not bundled in the server source, so it
# is not installed here; the REST and gRPC APIs work without it.
keepdir /var/lib/qdrant/storage /var/lib/qdrant/snapshots /var/log/qdrant
fowners -R qdrant:qdrant /var/lib/qdrant /var/log/qdrant
fperms 0750 /var/lib/qdrant /var/log/qdrant
newinitd "${FILESDIR}/qdrant.initd" qdrant
newconfd "${FILESDIR}/qdrant.confd" qdrant
systemd_dounit "${FILESDIR}/qdrant.service"
dodoc README.md
}
pkg_postinst() {
elog "Qdrant config: ${EROOT}/etc/qdrant/config.yaml (bound to 127.0.0.1)"
elog "Qdrant data: ${EROOT}/var/lib/qdrant"
elog "REST API: http://127.0.0.1:6333"
elog "gRPC API: 127.0.0.1:6334"
elog
elog "Start it with: rc-service qdrant start (or: systemctl start qdrant)"
}
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | qdrant-1.18.2.gh.tar.gz | 5228300 bytes | https://github.com/qdrant/qdrant/archive/refs/tags/v1.18.2.tar.gz |