Files
alpine-packages/packaging/alpine/local/greptimedb/README.md
T
fspjo e8333709a5
Build Alpine Packages / preflight (push) Successful in 12s
Build Alpine Packages / build (gitea) (push) Successful in 21s
Build Alpine Packages / build (lavinmq) (push) Successful in 2m54s
Build Alpine Packages / build (seaweedfs) (push) Successful in 20m49s
Build Alpine Packages / build (greptimedb) (push) Successful in 1h42m55s
Build Alpine Packages / verify-and-publish (push) Failing after 1m26s
Parallel Builds (#10)
Reviewed-on: #10
2026-09-29 07:17:00 +02:00

3.0 KiB

GreptimeDB Alpine Package

Builds greptime and its embedded dashboard from their upstream source releases, and packages OpenRC service subpackages plus /etc/greptimedb defaults.

Build command:

cargo auditable build --profile nightly --frozen --locked --bin greptime --features servers/dashboard

GreptimeDB requires the nightly pinned in its source release (nightly-2026-03-21). The package uses Rustup to install that toolchain and uses locked Cargo and pnpm dependency resolution, so options="net" is intentional. Cargo dependencies are fetched before compilation; the Rust build then runs frozen. The dashboard is built from the matching v0.12.0 source tag with its checked-in pnpm-lock.yaml.

Runtime Layout

Installs /usr/bin/greptime and component OpenRC packages:

  • greptimedb-docs: upstream configuration examples and reference files from config/
  • greptimedb-standalone-openrc: greptime standalone start
  • greptimedb-metasrv-openrc: greptime metasrv start
  • greptimedb-datanode-openrc: greptime datanode start
  • greptimedb-flownode-openrc: greptime flownode start
  • greptimedb-frontend-openrc: greptime frontend start

Default TOML files are installed in /etc/greptimedb. Standalone ports:

  • 127.0.0.1:4000: HTTP API and dashboard
  • 127.0.0.1:4001: gRPC
  • 127.0.0.1:4002: MySQL
  • 127.0.0.1:4003: PostgreSQL

Configs bind to localhost by default. Upstream config examples are in /usr/share/doc/greptimedb/config.

OpenRC Usage

Standalone:

apk add greptimedb greptimedb-docs greptimedb-standalone-openrc
rc-update add greptimedb.standalone default
rc-service greptimedb.standalone start

Distributed components:

apk add \
  greptimedb \
  greptimedb-metasrv-openrc \
  greptimedb-datanode-openrc \
  greptimedb-flownode-openrc \
  greptimedb-frontend-openrc

Wrapper settings in /etc/conf.d/greptimedb.<component>:

  • GREPTIMEDB_CONFIG: config file path passed with -c
  • GREPTIMEDB_LOG_DIR: component log directory passed with --log-dir
  • GREPTIMEDB_DATA_HOME: data directory passed with --data-home where the component supports it
  • GREPTIMEDB_WAL_DIR: datanode WAL directory passed with --wal-dir
  • GREPTIMEDB_OPTS: extra component arguments appended after package defaults
  • GREPTIMEDB_GLOBAL_OPTS: arguments inserted before the component command

Package Commands

Refresh checksums:

ALPINE_PACKAGE=greptimedb mise run apk:checksum

Build:

ALPINE_PACKAGE=greptimedb mise run apk:build

Install-test local build:

ALPINE_PACKAGE=greptimedb SKIP_BUILD=1 mise run apk:test-install

Install-test published repository:

ALPINE_PACKAGE=greptimedb \
SKIP_BUILD=1 \
ALPINE_REPOSITORY_URL=https://code.factoring.digital/api/packages/public/alpine/v3.24/alpine-packages \
ALPINE_REPOSITORY_KEY_URL=https://code.factoring.digital/api/packages/public/alpine/key \
mise run apk:test-install

Full builds and the targeted upstream Nextest check take close to an hour.