Skip to content

[DX] Improve local development experience with Docker Compose #185

@wnqueiroz

Description

@wnqueiroz

Context

While testing Crossview locally with a kind cluster, I found the manual setup process harder than it should be for new contributors. Getting everything running requires:

  • installing Go and Node.js at the right versions
  • spinning up a PostgreSQL instance separately
  • managing multiple terminal sessions (frontend dev server, backend, DB)
  • dealing with kubeconfig quirks when the K8s API server address resolves differently inside containers vs. on the host

This friction slows onboarding and creates an inconsistent dev environment across machines. A more plug-and-play setup would lower the barrier to contribution significantly.

What we want

  • Single command to start the full local stack (frontend + backend + database)
  • Backend live reload on Go source file changes, without restarting the container
  • Frontend hot module replacement without manual restarts
  • PostgreSQL provisioned automatically (no separate installation required)
  • Host kubeconfig accessible inside dev containers for cluster interactions
  • Support for kind (and similar) clusters where the API server address must be overridden from inside the container network
  • Local environment overrides via a gitignored .env file at the project root
  • Simple, memorable commands to start and tear down the environment

Expected outcome

A contributor can clone the repo, run a single command, and have a fully functional development environment with hot reload on both frontend and backend, including connectivity to a local kind cluster.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions