If you find this add-on useful, please star it on GitHub — stars show appreciation and help maintainers know their work matters.
A DDEV add-on that runs a Luxir search server as the luxir service,
reachable at http://luxir:9400 inside the project network.
Unofficial. Luxir 0.1.0 only ships Linux x86-64 binaries and has no official container image. This add-on builds its own image from the official release binaries (checksums verified). Luxir is pre-1.0 and has no authentication or TLS: never expose it publicly.
ddev add-on get ipwa/ddev-luxir
ddev restart
| Command | What it does |
|---|---|
ddev luxir [METHOD] PATH [JSON\|@file] |
Calls the Luxir HTTP API from the web container. @file is relative to the current directory; .ndjson files are sent as NDJSON. |
ddev luxir-status |
Version and CPU tier, health, collections, stats totals. |
ddev luxir /collections
ddev luxir POST /collections/demo/_update @tests/testdata/books.ndjson
ddev luxir /collections/demo/_search '{"query":"title_t:dune","get_number":true}'
To try a local checkout instead: ddev add-on get /path/to/ddev-luxir.
The same Dockerfile is published as ghcr.io/ipwa/luxir:<luxir-version> (also sha-<commit>; never latest).
Use it as a service container, for example in GitLab CI:
services:
- name: ghcr.io/ipwa/luxir:0.1.0
alias: luxir
variables:
SEARCH_API_LUXIR_URL: http://luxir:9400
The add-on itself always builds locally.
Set with ddev dotenv set .ddev/.env.luxir --luxir-max-ram-mb=1024, then ddev restart (or
ddev debug rebuild -s luxir after changing LUXIR_VERSION).
| Variable | Default | Meaning |
|---|---|---|
LUXIR_VERSION |
0.1.0 |
Release to download at build time. Also change the Dockerfile ARG default when bumping. |
LUXIR_CPU_TIER |
auto |
v2, v3, v4; auto picks the highest tier that starts. |
LUXIR_MAX_RAM_MB |
512 |
--max-ram-mb |
LUXIR_LOG_LEVEL |
info |
--log-level |
LUXIR_EXTRA_ARGS |
empty | Extra server flags, split on spaces. |
Data lives in the luxir Docker volume (--store.backend=fs).
Install drupal/search_api_luxir, create a server with host luxir, port 9400, scheme http.
Do not use localhost.
http://<project>.ddev.site:9400 for host-side tools only."commit": {}); uncommitted updates are lost on stop.ddev snapshot does not include the Luxir volume.v3 was selected in testing).ddev luxir runs in the web container, so @file paths are relative to where you run it.docker build --platform linux/amd64 -t luxir-dev luxir/
shellcheck luxir/*.sh commands/*/*
bats tests/test.bats --filter-tags '!release'
Publishing the image (.github/workflows/image.yml) pushes to ghcr.io/ipwa/luxir:<version>; the package
must be made public manually in the GitHub package settings.
Luxir is developed by the Luxir project (Apache-2.0). This add-on is unofficial and not affiliated with it. Licensed under Apache-2.0.
If you find this add-on useful, please star it on GitHub — stars show appreciation and help maintainers know their work matters.