Skip to content

Local Development Environment with Docker Compose #21

@Sakeeb91

Description

@Sakeeb91

Priority

P0

Story Points

5

Dependencies

Depends on #1 (Monorepo), #4 (Database), #6 (Shared Libraries)

Summary

Create a fully containerized local development environment using Docker Compose that allows developers to start all services, databases, and dependencies with a single command, eliminating manual setup friction and ensuring consistency across development machines.

Background

Currently, local development requires:

  • Manual installation of PostgreSQL, Redis, and other dependencies
  • Multiple terminal windows to run services
  • Complex environment variable configuration
  • Inconsistent setups across developer machines
  • Difficulty onboarding new developers

Acceptance Criteria

  • Docker Compose configuration for all services and dependencies
  • Single command (pnpm dev) to start entire development environment
  • Hot reload for all services during development
  • Pre-configured databases with migrations applied
  • Development seed data for testing
  • Service discovery and networking configured
  • Volume mounts for live code changes
  • Health checks for all containers
  • Development SSL certificates for HTTPS testing
  • Documentation for Docker Compose workflow

Services Included

  • PostgreSQL 15 (with extensions)
  • Redis 7
  • Auth Service
  • Documentation Service
  • Transcription Service
  • Coding Service
  • API Gateway
  • Web Application (Next.js)
  • Database Migration Runner
  • Database Seeder

Developer Experience

Start everything:

pnpm dev

View logs:

pnpm dev:logs

Rebuild services:

pnpm dev:build

Clean everything:

pnpm dev:clean

Test Credentials

Development environment includes pre-seeded test users:

Related Issues

Documentation

Full technical specification available in: docs/issues/0009-local-development-environment.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    devopsCI/CD and operations toolingepic-foundationFoundational platform workinfrastructureInfrastructure-related workp0Critical priority (blocks other work)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions