Ship only what you need
ArcadeDB 26.2.1 adds a Custom Package Builder—a shell script that creates distributions containing only the modules you actually use.
Why bother
The full distribution is around 150MB. It includes Gremlin, Studio, PostgreSQL/MongoDB/Redis wire protocols, GraphQL, gRPC, and more. If you’re using ArcadeDB as a PostgreSQL-compatible backend, you probably don’t need Gremlin. If you’re building a graph application with Gremlin, you don’t need the wire protocol adapters. Until now, you shipped everything anyway.
The builder lets you pick modules. It assembles the rest.
Quick start
Pipe to bash if you trust the source:
curl -fsSL https://github.com/ArcadeData/arcadedb/releases/download/26.2.1/arcadedb-builder.sh \
| bash -s -- --version=26.2.1 --modules=postgresw,studio
Or download and run interactively:
curl -fsSLO https://github.com/ArcadeData/arcadedb/releases/download/26.2.1/arcadedb-builder.sh
chmod +x arcadedb-builder.sh
./arcadedb-builder.sh
The script prompts for version and modules.
Modules
Core components (engine, server, network) are always included. Optional modules:
| Module | What it does |
|---|---|
console |
Interactive database console |
studio |
Web admin interface |
gremlin |
Apache TinkerPop support |
graphql |
GraphQL API |
postgresw |
PostgreSQL wire protocol |
mongodbw |
MongoDB wire protocol |
redisw |
Redis wire protocol |
grpcw |
gRPC wire protocol |
metrics |
Prometheus metrics |
Examples
PostgreSQL backend only:
./arcadedb-builder.sh --version=26.2.1 --modules=postgresw --output-name=arcadedb-pg
Graph development with UI and console:
./arcadedb-builder.sh --version=26.2.1 --modules=gremlin,studio,console --output-name=arcadedb-dev
Headless production with monitoring:
./arcadedb-builder.sh --version=26.2.1 --modules=postgresw,metrics --output-name=arcadedb-prod --skip-docker
CI/CD pipeline:
./arcadedb-builder.sh \
--version=26.2.1 \
--modules=gremlin \
--quiet \
--skip-docker \
--output-dir=/tmp/builds
Docker
The builder generates a Docker image by default, tagged arcadedb-custom:{version}. Change the tag:
./arcadedb-builder.sh --version=26.2.1 --modules=gremlin,studio --docker-tag=myregistry/arcadedb:latest
Skip Docker with --skip-docker. Generate only the Dockerfile with --dockerfile-only.
Offline builds
If you’re behind a strict firewall or testing local changes, the builder works entirely offline:
# Build from source first
cd /path/to/arcadedb
mvn clean package -DskipTests
# Create distribution from local files
cd package
VERSION=$(mvn -f ../pom.xml help:evaluate -Dexpression=project.version -q -DforceStdout)
./arcadedb-builder.sh \
--version=$VERSION \
--modules=gremlin,studio \
--local-base=target/arcadedb-$VERSION-base.tar.gz \
--local-repo
The script pulls the base from package/target/ and modules from ~/.m2/repository. No network required.
Checksum verification
The builder verifies SHA-256 for base distributions from GitHub and SHA-1 for module JARs from Maven Central. Mismatches fail the build.
Output structure
arcadedb-26.2.1-custom-20260215/
├── bin/ # Server and console scripts
├── config/ # Configuration files
├── lib/ # Only the JARs you selected
├── databases/ # Database storage
├── backups/ # Backup storage
├── log/ # Log files
└── README.md
Both .zip and .tar.gz archives are created.
Dry run
Preview without building:
./arcadedb-builder.sh --version=26.2.1 --modules=gremlin,studio --dry-run