Skip to content

Repository files navigation

Docker Images Local Stack

Local development infrastructure for apps that need:

  • Redis
  • RedisInsight
  • RabbitMQ
  • PostgreSQL
  • pgvector
  • Keycloak
  • TigerBeetle

This stack is designed for local development only and is managed with Docker Compose.

Files

  • docker-compose.yml — main local stack
  • .env — your local configuration values
  • .env.example — safe template for setup
  • postgres/init/01-init-multiple-dbs.sh — first-run PostgreSQL bootstrap
  • STACK_DOCUMENTATION.md — detailed architecture and explanation
  • STACK_REFERENCE_EXTRAS.md — diagrams, examples, and troubleshooting

Quick Start

cd ~/Documents/Local-docker-stack
cp .env.example .env
# edit .env if needed
docker compose up -d

Services

  • Redis: localhost:6379
  • RedisInsight: http://localhost:5540
  • RabbitMQ: localhost:5672
  • RabbitMQ UI: http://localhost:15672
  • PostgreSQL: localhost:5432
  • Keycloak: http://localhost:8080
  • Keycloak Admin: http://localhost:8080/admin/
  • TigerBeetle: localhost:4555

Keycloak local login defaults come from .env:

username: admin
password: admin

Keycloak stores its internal tables in the separate local database nexudy_keycloak_db.

Screenshot

Docker stack status from docker ps:

Docker stack screenshot

Common Commands

Start

docker compose up -d

Start TigerBeetle

Format the local TigerBeetle data volume once:

docker compose --profile tigerbeetle-format run --rm tigerbeetle-format

Then start the service:

docker compose up -d tigerbeetle

TigerBeetle listens on localhost:4555 for local apps and tests.

Stop

docker compose down

Reset all local data

docker compose down -v

Show merged config

docker compose config

View logs

docker compose logs -f

Notes

  • PostgreSQL extra databases are created from APP_DATABASES.
  • The init script runs only on the first Postgres volume initialization.
  • If you change bootstrap DB names later, recreate volumes or create the DBs manually.
  • If an existing Postgres volume is missing the Keycloak DB, create it once:
docker compose exec -T postgres psql -U postgres -d postgres -c "CREATE DATABASE nexudy_keycloak_db"
docker compose restart keycloak

Suggested Git Workflow

git init
git add .
git commit -m "Initial local docker stack"

Study References

  • See STACK_DOCUMENTATION.md for detailed explanations.
  • See STACK_REFERENCE_EXTRAS.md for diagrams and app connection examples.

About

Local development infrastructure for apps that need: - Redis - RedisInsight - RabbitMQ - PostgreSQL - pgvector

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages