Skip to content

Add Docker support for one-command local setup #45

@harshgsharma1501

Description

@harshgsharma1501

Currently, setting up the project locally requires contributors to manually install and configure Node.js 18+, Python 3.8+, and a virtual environment — then run either bash.sh or follow a multi-step manual process. This creates friction for new contributors, especially during high-volume programs like DMP 2026 where many people are onboarding simultaneously.
Adding Docker support would allow anyone to get the full stack running with a single command, regardless of their local environment.

Problem

  • Contributors encounter version mismatch issues (e.g., wrong Node or Python version)
  • The bash.sh script has no error handling if prerequisites are missing
  • Windows contributors cannot use bash.sh at all without WSL
  • Environment-specific bugs are hard to reproduce across machines

Proposed Solution

Add a docker-compose.yml at the repo root with two services:

Usage after this change

bashdocker compose up
Frontend available at http://localhost:3000, backend at http://localhost:5000.

Why this matters for DMP 2026

With issue #8 (MVP requirements) driving many new contributors this cycle, a reproducible environment reduces "works on my machine" issues and lets contributors focus on features rather than setup.

Note: This pairs well with #29 (move hardcoded config to env vars) — the .env file Docker needs would naturally be the same one introduced by that fix.

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