Docker Compose
Orchard uses PostgreSQL for storage. The repository includes a Docker Compose file for running just the database.
docker-compose.yml
The file at the root of the orchard repository:
code
services:
postgres:
image: postgres:16-alpine
container_name: orchard-postgres
environment:
POSTGRES_USER: orchard
POSTGRES_PASSWORD: orchard
POSTGRES_DB: orchard
ports:
- "5432:5432"
volumes:
- orchard-postgres-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U orchard"]
volumes:
orchard-postgres-data:Running
code
docker compose up -d postgresRunning the Server
The Orchard API server (Trellis) currently runs as a native process, not a container. After PostgreSQL is running:
code
./gradlew :trellis:bootRunOr with the native binary:
code
./gradlew :trellis:nativeCompile
~/.orchard/bin/orchard-serverThe dev-server profile (activated by trowel dev-server start) uses an embedded H2 database and does not require PostgreSQL. This is useful for local testing.