Skip to content
potluckdb

Containers

macOS · Linux · Windows · Containers · iOS and iPadOS · Android · ChromeOS · Browser · Node (WebAssembly)

A container runs Linux with a chosen C library, so everything on the Linux page applies. This page adds the choices for your Dockerfile. The tables repeat Linux targets because the base image determines the target.

Choose a base image with glibc 2.28 or newer, or musl 1.2 or newer.

C libraryBase images
glibcDebian 10, Ubuntu 20.04, Red Hat Enterprise Linux 8, or their successors
muslAlpine 3.13 or newer
LanguagePackageWhat it selects herePages
Pythonpotluckdb on PyPIwheels manylinux_2_28_x86_64, manylinux_2_28_aarch64, musllinux_1_2_x86_64, musllinux_1_2_aarch64Install · Quickstart
JavaScript@potluckdb/potluckdb on npmruntime packages @potluckdb/potluckdb-linux-x64-gnu, @potluckdb/potluckdb-linux-arm64-gnu, @potluckdb/potluckdb-linux-x64-musl, @potluckdb/potluckdb-linux-arm64-muslInstall · Quickstart
TypeScript@potluckdb/potluckdb on npmruntime packages @potluckdb/potluckdb-linux-x64-gnu, @potluckdb/potluckdb-linux-arm64-gnu, @potluckdb/potluckdb-linux-x64-musl, @potluckdb/potluckdb-linux-arm64-muslInstall · Quickstart
Javadev.potluckdb:potluckdb-jvmruntime resources linux-x86_64, linux-arm64Install · Quickstart
Kotlindev.potluckdb:potluckdb-jvmruntime resources linux-x86_64, linux-arm64Install · Quickstart
Dartpotluckdb on pub.devthe requested target’s C SDK archive, verified by the build hook (GNU only)Install · Quickstart
Flutterpotluckdb on pub.devthe requested target’s C SDK archive, verified by the build hook (GNU only)Install · Quickstart
Gogithub.com/potluckdb/potluckdb-gothe static runtime library the module carries for linux/amd64, linux/arm64Install · Quickstart
Rustpotluckdb on crates.ioengine catalog rows linux-x86_64-gnu, linux-arm64-gnu, linux-x86_64-musl, linux-arm64-muslInstall · Quickstart
C# (.NET)potluckdb on NuGetruntime identifiers linux-x64, linux-arm64, linux-musl-x64, linux-musl-arm64Install · Quickstart
C++the C SDK archivethe C SDK archive of the targetInstall · Quickstart
Cthe C SDK archivethe C SDK archive of the targetInstall · Quickstart

Not shipped for this platform: Swift, Objective-C.

TargetPython wheelnpm runtime packageRust crateNuGet RIDJVM resourceGo module libraryC SDK archive
linux-x86_64-gnumanylinux_2_28_x86_64@potluckdb/potluckdb-linux-x64-gnupotluckdblinux-x64linux-x86_64linux/amd64potluckdb-c-sdk-0.1.0-linux-x86_64-gnu.zip
linux-arm64-gnumanylinux_2_28_aarch64@potluckdb/potluckdb-linux-arm64-gnupotluckdblinux-arm64linux-arm64linux/arm64potluckdb-c-sdk-0.1.0-linux-arm64-gnu.zip
linux-x86_64-muslmusllinux_1_2_x86_64@potluckdb/potluckdb-linux-x64-muslpotluckdblinux-musl-x64——potluckdb-c-sdk-0.1.0-linux-x86_64-musl.zip
linux-arm64-muslmusllinux_1_2_aarch64@potluckdb/potluckdb-linux-arm64-muslpotluckdblinux-musl-arm64——potluckdb-c-sdk-0.1.0-linux-arm64-musl.zip

Python. Use python:3.14-slim for glibc or python:3.14-alpine for musl. pip selects the wheel by the image’s C library.

Node. Use node:22-slim or node:22-alpine. npm selects the runtime package by os, cpu and libc.

Java and Kotlin. Use a glibc image such as eclipse-temurin:21. The JVM package has no musl runtime, so -alpine JDK images are excluded.

.NET. Use linux-x64, linux-arm64, linux-musl-x64 or linux-musl-arm64 runtime identifiers. These match the Microsoft images with and without -alpine.

Go. The module contains the glibc runtime library it links. Go build constraints cannot distinguish glibc from musl. Use a glibc image such as golang:1.27-bookworm. The -alpine images are excluded.

A program using a storage service also needs libpotluckdb_storage.so from the C SDK archive beside the executable.

C++. The binary links the runtime. Build against the C library of the image where it will run. A program using a storage service also needs libpotluckdb_storage.so from the same archive beside the executable.

Rust. On glibc, the crate loads the runtime and storage libraries at run time. Include both beside the executable. On musl, the binary links the runtime, and the runtime crate contains no storage library.

License key. Supply it through POTLUCKDB_LICENSE_KEY. A container’s configuration directory does not outlive the container.

Credentials. Without explicit credentials, the adapter uses the provider’s chain. A pod or task identity therefore works without a credential key in the image.

Run the Python quickstart in your chosen image. It prints Use query for this statement. and then quickstart: ok.

Terminal window
docker run --rm -v "$PWD:/work" -w /work python:3.14-slim sh -c "pip install potluckdb==0.1.0 && python quickstart.py"

Analytical reads use DuckDB. No core package contains it. Python, Node and Rust install it through a package or crate feature.

Other languages load the library listed for this platform on the analytics engine page, with its URL and digest. Name that library in the open options. Each language’s installation page gives the exact line.

Each release candidate builds every target in the table and passes every required check of the release matrix before promotion. The packages that this page names are the packages that the release tested.

Each release also runs framework quickstarts on this platform: Electron, Tauri, Qt, Flutter. Each framework page describes its verification.