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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions