Skip to Content
How to Run Reeve

How to Run Reeve

The Reeve Application is the reference implementation of the Reeve Platform. It provides a complete, production-ready setup that includes all necessary services and configurations to run the platform. This guide explains how to get started with the Reeve Application using the cf-reeve-application repository.

Prerequisites

Before running Reeve, ensure you have the following installed:

  • Docker and Docker Compose (recommended for easiest setup)
  • Java 21+ and Gradle (for local development)
  • Git (to clone the repository)

Quick Start with Docker Compose

The easiest way to run the complete Reeve stack is using Docker Compose. This will start all necessary services in containers.

1. Clone the Repository

git clone https://github.com/cardano-foundation/cf-reeve-application.git cd cf-reeve-application

2. Configure Environment Variables (Optional)

By default, all services are configured to run on localhost. You can customize the configuration by creating a .env file:

cp .envTemplate .env # Edit .env with your custom values if needed

3. Start the Application Stack

Run the entire Reeve stack with the frontend profile:

docker compose up -d --build

The --build flag rebuilds the Docker images if you’ve made changes to the Dockerfiles.

Services Started

When using the docker compose up command, the following services will be started:

ServiceDescriptionPort
cf-lob-apiAPI service (Accounting Core & Organisation modules)9000
cf-lob-publisherPublisher service (Blockchain Publisher & ERP Adapter modules)9001
cf-ledger-followerBlockchain ledger follower service-
postgresPostgreSQL database5432
kafkaMessage broker for event-driven communication9092
zookeeperCoordination service for Kafka2181
keycloakIdentity and access management (SSO)8080
yaci-devkitCardano development blockchain (single node)8090
yaci-viewerBlockchain explorer for Yaci DevKit5173

Access the Application

Once the stack is running:

Local Development Setup

To develop Reeve locally while running services in Docker:

1. Start the Base Services

docker compose up -d postgres kafka keycloak yaci-devkit

2. Configure Environment

In the cf-application directory, create and configure your environment:

cd cf-application cp .env.template .env # Edit .env to use the dev profile export SPRING_PROFILES_ACTIVE=dev--yaci-dev-kit

3. Build Platform Artifacts

If you’re modifying the cf-reeve-platform:

./gradlew clean build publishMavenJavaPublicationToLocalM2Repository

4. Start the Application

./gradlew clean bootRun

Configuration Files

The application is configured through YAML files and environment variables:

  • Main Configuration: cf-application/src/main/resources/application.yml
  • Profile Configurations:
    • application-dev--yaci-dev-kit.yml - Development with local Yaci blockchain
    • application-prod.yml - Production configuration
    • application-kafka-ssl.yml - Kafka with SSL/TLS
    • application-blockfrost.yml - Integration with Blockfrost Cardano node

Additional Resources

Last updated on