oldzoomer-ru/nodehistj

System for working with historical FidoNet nodelist data

3

stars

786

commits

Java

primary language

Sep 11, 2026

updated

fidonet
ftn
java

README

NodehistJ - system for working with historical FidoNet nodelist data

Overview

NodehistJ is a system for managing and accessing FidoNet nodelist data, including historical records, current nodelists, and node history differences. The system provides RESTful APIs to query and retrieve node information across different time periods and contexts.

Architecture

The system consists of multiple microservices that work together to provide complete nodelist management:

  • Historic Nodelists Service (/historic context) - Stores and retrieves historical FidoNet nodelist data
  • History Diff Service (/diff context) - Manages node history and difference tracking

Dependencies

  • Any S3 storage – File storage for nodelist archives
  • Redis – Caching for improved performance
  • Redpanda (Kafka) – Message exchange for data synchronization
  • PostgreSQL – Primary data store for all nodelist information

Quick Start

Basic variant

docker compose -f compose.yml up -d

For development (with MinIO)

docker compose -f compose-dev.yml up -d

With Traefik (for production)

docker compose -f compose-traefik.yml up -d

Main Environment Variables

VariableDescriptionRequiredDefault
S3_USERS3 userYes
S3_PASSWORDS3 passwordYes
POSTGRES_PASSWORDPostgreSQL passwordYes
KAFKA_BOOTSTRAP_SERVERKafka addressNoredpanda:9092
REDIS_HOSTRedis addressNoredis
FTP_DOWNLOAD_FROM_YEARStart year for downloadsNo1984
DOMAINTraefik domain (only for compose-traefik.yml)Yes (only for Traefik)

Useful Commands

  • Stop services: docker compose -f compose.yml down
  • View logs: docker compose -f compose.yml logs -f
  • Rebuild images: docker compose -f compose.yml build

Development Setup

Prerequisites

  • Docker
  • Java 25
  • Gradle

Running Locally

# Start dependencies
docker compose -f compose-dev.yml up -d

# Build and run services
./gradlew :nodehistj-historic-nodelists:bootRun
./gradlew :nodehistj-newest-nodelists:bootRun
./gradlew :nodehistj-history-diff:bootRun

Contributors

oldzoomer-ru

662 commits

dependabot[bot]

124 commits

oldzoomer-ru/nodehistj

System for working with historical FidoNet nodelist data

3

stars

786

commits

Java

primary language

Sep 11, 2026

updated

fidonet
ftn
java

README

NodehistJ - system for working with historical FidoNet nodelist data

Overview

NodehistJ is a system for managing and accessing FidoNet nodelist data, including historical records, current nodelists, and node history differences. The system provides RESTful APIs to query and retrieve node information across different time periods and contexts.

Architecture

The system consists of multiple microservices that work together to provide complete nodelist management:

  • Historic Nodelists Service (/historic context) - Stores and retrieves historical FidoNet nodelist data
  • History Diff Service (/diff context) - Manages node history and difference tracking

Dependencies

  • Any S3 storage – File storage for nodelist archives
  • Redis – Caching for improved performance
  • Redpanda (Kafka) – Message exchange for data synchronization
  • PostgreSQL – Primary data store for all nodelist information

Quick Start

Basic variant

docker compose -f compose.yml up -d

For development (with MinIO)

docker compose -f compose-dev.yml up -d

With Traefik (for production)

docker compose -f compose-traefik.yml up -d

Main Environment Variables

VariableDescriptionRequiredDefault
S3_USERS3 userYes
S3_PASSWORDS3 passwordYes
POSTGRES_PASSWORDPostgreSQL passwordYes
KAFKA_BOOTSTRAP_SERVERKafka addressNoredpanda:9092
REDIS_HOSTRedis addressNoredis
FTP_DOWNLOAD_FROM_YEARStart year for downloadsNo1984
DOMAINTraefik domain (only for compose-traefik.yml)Yes (only for Traefik)

Useful Commands

  • Stop services: docker compose -f compose.yml down
  • View logs: docker compose -f compose.yml logs -f
  • Rebuild images: docker compose -f compose.yml build

Development Setup

Prerequisites

  • Docker
  • Java 25
  • Gradle

Running Locally

# Start dependencies
docker compose -f compose-dev.yml up -d

# Build and run services
./gradlew :nodehistj-historic-nodelists:bootRun
./gradlew :nodehistj-newest-nodelists:bootRun
./gradlew :nodehistj-history-diff:bootRun

Contributors

oldzoomer-ru

662 commits

dependabot[bot]

124 commits

Languages

Java

97.1%

Dockerfile

2.2%